Нужно рассчитать расстояние между двумя линиями как указано на скриншоте, например расстояние не должно быть больше 100 пунктов, если коротко — нужна формула расчета для советника
//+------------------------------------------------------------------+
//| Copy.mq4 |
//| Copyright 2021, AM2 |
//| https://www.forexsystems.biz |
//+------------------------------------------------------------------+
#property copyright "Copyright 2021, AM2"
#property link "https://www.forexsystems.biz"
#property version "1.00"
#property strict
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//---
PutButton("b",88,44,"BUY");
//---
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
//---
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
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);
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
string s="";
if(ObjectGetInteger(0,"b",OBJPROP_STATE)==true)
{
int r=OrderSend(NULL,0,0.1,Ask,33,Bid-333*_Point,Bid+333*_Point,"",0,0,Green);
ObjectSetInteger(0,"b",OBJPROP_STATE,false);
}
for(int i=0; i<OrdersTotal(); i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{
s+="\n "+OrderSymbol()+" "+string(OrderType())+" "+string(OrderOpenPrice())+" Stop Loss "+string(OrderStopLoss())+" Take Profit "+string(OrderStopLoss());
}
}
int h=FileOpen("Copy.txt",FILE_READ|FILE_WRITE|FILE_TXT);
FileWrite(h,s);
FileClose(h);
Comment(s);
}
//+------------------------------------------------------------------+
Спасибо большое.А если необходимы 3-4 линии: Как делаем?
а графические объекты в последствии при создании советника можно будет привязать к открытиям сделок
AM2