//+------------------------------------------------------------------+ //| ATRM.mq4 | //| Copyright 2018, AM2 | //| http://www.forexsyatems.biz | //+------------------------------------------------------------------+ #property copyright "Copyright 2018, AM2" #property link "http://www.forexsyatems.biz" #property version "1.00" #property strict #property indicator_chart_window input int Shift=0; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int OnInit() { //--- indicator buffers mapping PutButton("B",90,40,"ATR"); //--- return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ void OnDeinit(const int reason) { Comment(""); ObjectDelete(0,"L"); ObjectDelete(0,"B"); } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ void PutLabel(string text) { ObjectDelete(0,"L"); //--- создадим текстовую метку ObjectCreate(0,"L",OBJ_LABEL,0,0,0); //--- установим координаты метки ObjectSetInteger(0,"L",OBJPROP_XDISTANCE,55); ObjectSetInteger(0,"L",OBJPROP_YDISTANCE,10); //--- установим угол графика, относительно которого будут определяться координаты точки ObjectSetInteger(0,"L",OBJPROP_CORNER,1); //--- установим текст ObjectSetString(0,"L",OBJPROP_TEXT,text); //--- установим шрифт текста ObjectSetString(0,"L",OBJPROP_FONT,"Arial"); //--- установим размер шрифта ObjectSetInteger(0,"L",OBJPROP_FONTSIZE,12); //--- установим цвет ObjectSetInteger(0,"L",OBJPROP_COLOR,Red); } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ void PutButton(string name,int x,int y,string text) { ObjectCreate(0,name,OBJ_BUTTON,0,0,0); //--- установим координаты кнопки ObjectSetInteger(0,name,OBJPROP_XDISTANCE,x); ObjectSetInteger(0,name,OBJPROP_YDISTANCE,y); //--- установим размер кнопки ObjectSetInteger(0,name,OBJPROP_XSIZE,80); ObjectSetInteger(0,name,OBJPROP_YSIZE,30); //--- установим угол графика, относительно которого будут определяться координаты точки ObjectSetInteger(0,name,OBJPROP_CORNER,3); //--- установим текст ObjectSetString(0,name,OBJPROP_TEXT,text); //--- установим шрифт текста ObjectSetString(0,name,OBJPROP_FONT,"Arial"); //--- установим размер шрифта ObjectSetInteger(0,name,OBJPROP_FONTSIZE,12); //--- установим цвет текста ObjectSetInteger(0,name,OBJPROP_COLOR,Red); //--- установим цвет фона ObjectSetInteger(0,name,OBJPROP_BGCOLOR,White); //--- установим цвет границы ObjectSetInteger(0,name,OBJPROP_BORDER_COLOR,Blue); //--- скроем (true) или отобразим (false) имя графического объекта в списке объектов ObjectSetInteger(0,name,OBJPROP_HIDDEN,false); //--- установим приоритет на получение события нажатия мыши на графике ObjectSetInteger(0,name,OBJPROP_ZORDER,0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int OnCalculate(const int rates_total, const int prev_calculated, const datetime &time[], const double &open[], const double &high[], const double &low[], const double &close[], const long &tick_volume[], const long &volume[], const int &spread[]) { //--- int atr=(int)((iHigh(NULL,PERIOD_MN1,Shift)-iLow(NULL,PERIOD_MN1,Shift))/_Point); PutLabel((string)atr); if(ObjectGetInteger(0,"B",OBJPROP_STATE)==1) { ObjectDelete(0,"L"); } //--- return value of prev_calculated for next call return(rates_total); } //+------------------------------------------------------------------+
AM2
← предыдущая следующая →
Добавить возможность входа динамическим лотом от... <>[Читать..]
AM2