Jump to content


Photo
- - - - -

Problem mit OBJ_RECTANGLE


Wichtiger Hinweis für Besucher der Community!

Das Erstellungsdatum des von Dir aufgerufenen Themas liegt bereits einige Zeit zurück. Wir möchten darauf hinweisen, den Inhalt der Diskussion auf seine Aktualität hin zu prüfen. Weitere Informationen findest Du auf dieser Seite.

  • Please log in to reply
3 replies to this topic

#1 Bernd

Bernd

    Floor Trader

  • Developer
  • 84 posts
  • 657 thanks

Posted 16 September 2010 - 07:13 PM

Hallo Gemeinde,

Wie bekomme ich ein OBJ_RECTANGLE immer in die Linke obere Ecke.

Mein Code:
ObjectCreate("RECT", OBJ_RECTANGLE, 0, (Time[50]),Low[4],(Time[58]),High[10]);

Es verschiebt sich mit dem Chart.

Gruß Bernd
  • 0
Wenn Dein Programm nicht macht, was es soll, nenn es einfach "Version 1.0"

Thanked by 4 Members:
Vola , whipsaw , Henrik , WOGO

#2 WOGO

WOGO

    Floor Broker

  • Developer
  • 1,008 posts
  • 6800 thanks

Posted 16 September 2010 - 07:37 PM

Wie bekomme ich ein OBJ_RECTANGLE immer in die Linke obere Ecke.

So wirklich einfach ist das nicht, da du bei einem Rechteck keine X/Y-Koordinaten angeben kannst sondern nur Zeit/Kurs.

Du müßtest also dazu bei jedem sich neu bildenden Bar das Rechteck mit ObjectMove() um eine Zeiteinheit verschieben.
Das Problem dabei ist aber immer noch, daß sich die Y-Auflösung auch ändert. Das Rechteck "klebt " ja quasi an einem Kurs und hinzu kommt, wenn sich die
Vola erhöht, dann wird dein Rechteck auch noch kleiner.

Wenn ich mir's so recht überlege, würde das wohl ziemlich aufwändig werden, zumindest fällt mir nichts vernünftiges ein. :birdie:
  • 0
„Sicher ist, dass nichts sicher ist. Selbst das nicht.“
(Joachim Ringelnatz)

Thanked by 4 Members:
Vola , whipsaw , askerix , ronner

#3 Philipp

Philipp

    Floor Broker

  • *_skilled
  • 155 posts
  • 1075 thanks
  • Wohnsitz:Karlsruhe / Frankfurt

Posted 16 September 2010 - 10:23 PM

Wogo hat die Problematik schon skizziert. "Oben Links" ändert sich laufend, schon wenn du mit der Maus im Chart rumscrollst.
Ich hab einen Indikator der vermutlich genau das macht was du willst:

//+------------------------------------------------------------------+//|                                           commentsBackground.mq4 |//|                                                               ps |//|                                                                  |//+------------------------------------------------------------------+#property copyright "ps"#property link      ""#property indicator_chart_windowextern double width=32;extern double heigth=65;extern color col=Brown;string title="commentsBG";//+------------------------------------------------------------------+//| Custom indicator initialization function                         |//+------------------------------------------------------------------+int init()  {//---- indicators   datetime obenLinksDatum=iTime(Symbol(),0,WindowFirstVisibleBar());   double obenLinksPreis=WindowPriceMax(0);   datetime untenRechtsDatum=iTime(Symbol(),0,WindowFirstVisibleBar()-WindowBarsPerChart()*(width/100));   double untenRechtsPreis=WindowPriceMax(0)-(WindowPriceMax(0)-WindowPriceMin(0))*(heigth/100);      ObjectCreate(title,OBJ_RECTANGLE,0,obenLinksDatum,obenLinksPreis,untenRechtsDatum,untenRechtsPreis);   ObjectSet(title,OBJPROP_COLOR,col);//----   return(0);  }//+------------------------------------------------------------------+//| Custom indicator deinitialization function                       |//+------------------------------------------------------------------+int deinit()  {//----   //----   return(0);  }//+------------------------------------------------------------------+//| Custom indicator iteration function                              |//+------------------------------------------------------------------+int start()  {   int    counted_bars=IndicatorCounted();//----   datetime obenLinksDatum=iTime(Symbol(),0,WindowFirstVisibleBar());   double obenLinksPreis=WindowPriceMax(0);   datetime untenRechtsDatum=iTime(Symbol(),0,WindowFirstVisibleBar()-WindowBarsPerChart()*(width/100));   double untenRechtsPreis=WindowPriceMax(0)-(WindowPriceMax(0)-WindowPriceMin(0))*(heigth/100);      ObjectSet(title,OBJPROP_PRICE1,obenLinksPreis);   ObjectSet(title,OBJPROP_PRICE2,untenRechtsPreis);   ObjectSet(title,OBJPROP_TIME1,obenLinksDatum);   ObjectSet(title,OBJPROP_TIME2,untenRechtsDatum);   //----   return(0);  }//+------------------------------------------------------------------+

Supportfrei!
  • 0

Gemstone Capital entwickelt und betreibt automatische Handelssysteme. System-Trading Blog | Handelssystem Programmierung | TRADERS Gewinnspiel


Thanked by 6 Members:
Henrik , ronner , GoSPvC , WOGO , whipsaw , Vola

#4 Bernd

Bernd

    Floor Trader

  • Developer
  • 84 posts
  • 657 thanks

Posted 20 September 2010 - 07:40 AM

Hallo,

Super und Danke euch beiden für die Antworten.

Gruß Bernd
  • 0
Wenn Dein Programm nicht macht, was es soll, nenn es einfach "Version 1.0"

Thanked by 4 Members:
Henrik , WOGO , ronner , whipsaw

Wichtiger Hinweis für Besucher der Community!

Das Erstellungsdatum des von Dir aufgerufenen Themas liegt bereits einige Zeit zurück. Wir möchten darauf hinweisen, den Inhalt der Diskussion auf seine Aktualität hin zu prüfen. Weitere Informationen findest Du auf dieser Seite.


0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users