2017-02-27 6 views
0

zu zeichnen Sagen Sie bei der Verwendung von EA, und wenn ich den aktuellen Balken habe den niedrigsten Preis, den ich bisher gesehen habe, ich zeichne eine horizontale Linie darunter, ist es möglich, mit EA zu erreichen eher als benutzerdefinierte Anzeige?Ist es möglich, einen Indikator mit EA

Antwort

2

Ja, wenn Ihre Bedingungen erfüllt sind - können Sie eine horizontale Linie oder Trendlinie zeichnen oder ihre Preisparameter aktualisieren. Um eine Linie zu zeichnen, verwenden Sie die folgende Funktion, um zu verschieben - ObjectSetDouble():

bool HLineCreate(const long   chart_ID=0,  // chart's ID 
      const string   name="HLine",  // line name 
      const int    sub_window=0,  // subwindow index 
      double    price=0,   // line price 
      const color   clr=clrRed,  // line color 
      const ENUM_LINE_STYLE style=STYLE_SOLID, // line style 
      const int    width=1,   // line width 
      const bool   back=false,  // in the background 
      const bool   selection=true, // highlight to move 
      const bool   hidden=true,  // hidden in the object list 
      const long   z_order=0)   // priority for mouse click 
{ 
//--- if the price is not set, set it at the current Bid price level 
if(!price) 
    price=SymbolInfoDouble(Symbol(),SYMBOL_BID); 
//--- reset the error value 
    ResetLastError(); 
//--- create a horizontal line 
if(!ObjectCreate(chart_ID,name,OBJ_HLINE,sub_window,0,price)) 
{ 
    Print(__FUNCTION__, 
     ": failed to create a horizontal line! Error code = ",GetLastError()); 
    return(false); 
} 
//--- set line color 
ObjectSetInteger(chart_ID,name,OBJPROP_COLOR,clr); 
//--- set line display style 
ObjectSetInteger(chart_ID,name,OBJPROP_STYLE,style); 
//--- set line width 
ObjectSetInteger(chart_ID,name,OBJPROP_WIDTH,width); 
//--- display in the foreground (false) or background (true) 
ObjectSetInteger(chart_ID,name,OBJPROP_BACK,back); 
//--- enable (true) or disable (false) the mode of moving the line by mouse  
ObjectSetInteger(chart_ID,name,OBJPROP_SELECTABLE,selection); 
ObjectSetInteger(chart_ID,name,OBJPROP_SELECTED,selection); 
//--- hide (true) or display (false) graphical object name in the object list 
ObjectSetInteger(chart_ID,name,OBJPROP_HIDDEN,hidden); 
//--- set the priority for receiving the event of a mouse click in the chart 
ObjectSetInteger(chart_ID,name,OBJPROP_ZORDER,z_order); 
//--- successful execution 
return(true); 
} 
Verwandte Themen