могли бы вы изменить чтобы при нажатии сразу же отжималась кнопка или же нажималась, пожалуйста
кнопка отжимается вручную
могли бы вы изменить чтобы при нажатии сразу же отжималась кнопка или же нажималась, пожалуйста
почему то продажи не открываются
Или добавьте буферы в индикатор для последующего вызова
//+------------------------------------------------------------------+
//| ATR4.mq4 |
//| Copyright 2020, AM2 |
//| http://www.forexsystems.biz |
//+------------------------------------------------------------------+
#property copyright "Copyright 2020, AM2"
#property link "http://www.forexsystems.biz"
#property version "1.00"
#property strict
#property indicator_chart_window
input int atr=10;
input int pip=10;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//--- indicator buffers mapping
PutButton("baton",70,50,"HIDE");
//---
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void PutRect(string name,datetime t1,double p1,datetime t2,double p2,color clr)
{
ObjectDelete(0,name);
//--- создадим прямоугольник по заданным координатам
ObjectCreate(0,name,OBJ_RECTANGLE,0,t1,p1,t2,p2);
//--- установим цвет прямоугольника
ObjectSetInteger(0,name,OBJPROP_COLOR,clr);
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
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,50);
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,9);
//--- установим цвет текста
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);
}
//+------------------------------------------------------------------+
//| 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[])
{
//---
double lo=Low[iLowest(NULL,0,MODE_LOW,atr,0)];
double hi=High[iHighest(NULL,0,MODE_HIGH,atr,0)];
double del=hi-lo;
if(ObjectGetInteger(0,"baton",OBJPROP_STATE)==1)
{
ObjectsDeleteAll(0,0,OBJ_RECTANGLE);
}
if(ObjectGetInteger(0,"baton",OBJPROP_STATE)==0)
{
PutRect("up",time[0],low[0]+del,time[atr],low[0]+del+pip*_Point,Red);
PutRect("dn",time[0],high[0]-del,time[atr],high[0]-del-pip*_Point,Lime);
}
//--- return value of prev_calculated for next call
return(rates_total);
}
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
При настройках в 1 ордер..., почему то усреднение не работает.
AM2