void open_positions(int signal,double lot,double price,double tp,double lev)
{
//signal=0 -> сигнал на открытие покупки//signal=1 -> сигнал на открытие продажиint i=0; //переменная для счётчика циклаstring symb=Symbol(),com;
com=DoubleToStr(lev,Digits);
color col;
double stop,take;
int count=Count_Of_Trade_Try; //количество попыток открытия ордера в случае, если его не удаётся совершить сразуint err=0;
if(signal==OP_BUYLIMIT || signal==OP_BUYSTOP || signal==OP_BUY)
{
RefreshRates();
price=NormalizeDouble(Ask,Digits); //цена открытия для покупок
col=Green;
}
if(signal==OP_SELLLIMIT || signal==OP_SELLSTOP || signal==OP_SELL)
{
RefreshRates();
price=NormalizeDouble(Bid,Digits); //цена открытия для продаж
col=Red;
}
//stop=NormalizeDouble(sl(SL,signal),Digits);
take=NormalizeDouble(tp,Digits);
while(i<=count)
{
//сама функия открытия ордера (встроенная). Для удобства восприятия параметры разнесены на разные строки:int ticket=OrderSend(symb,//символ
signal, //тип ордера
lot, //объем
price, //цена открытия
Slipage, //уровень допустимого реквота0, //величина Stop Loss0, //величина Take Profit
com,//комментарий ордера
magic_number,//магическое число0,//срок истечения (используется при отложенных ордерах)
CLR_NONE); //цвет отображаемой стрелки на графике (CLR_NONE - стрелка не рисуется)if(ticket!=-1) //если открытие произошло успешно, наносим графический объект и выходим из цикла
{
OrderModify(ticket,price,stop,take,0,col);
break;
}
err=GetLastError();
if(err!=0) Print("Ошибка открытия ("+symb+", "+signal+", "+price+", "+0+", "+take+"): "+Market_Err_To_Str(err));
i++;
Sleep(Pause_Of_Trade_Try*100); //в случае ошибки делаем паузу перед новой попыткой
} //end while(i<=count)
} //end void open_positions(int signal, double lot, int magic, double price=0.0, string symb="NONE")
这都是坏事。即使有版本。除了用脚本。
这里有一个例子。在那里定义和检索名称到版本是可能的,但这有点棘手。
除非脚本。
想出了一个半成品的方法。
为编译器创建一个新的配置。比如 "Release Main",我在其中写上所需文件的名称。
这不是很自动化,但它使我免于出现重复的输出文件名。
MQL4是否有处理十字线的功能?
我需要将价格差异的值以点为单位分配给一个变量。
MQL4是否有处理十字线的功能?
我需要将价格差异的值以点为单位分配给一个变量。
MQL4是否有处理十字线的功能?
我需要将一个以点为单位的价格差异值分配给一个变量。
CHARTEVENT_MOUSE_MOVE
и
CHARTEVENT_CLICK
各位程序员。我有一个问题。我正在aforex.ru模拟账户上测试一个EA。当我打开订单138 "新价格 "时,有时会出现错误。我一直不明白为什么。我通过下面的功能开单。我必须找到开放时出错的原因。你有什么想法?
各位程序员。我有一个问题。我正在aforex.ru模拟账户上测试一个EA。当我打开订单138 "新价格 "时,有时会出现错误。我一直不明白为什么。我通过下面的功能开单。我必须找到开放时出错的原因。你有什么想法?
专业人士不会问这样的问题。你一定是在错误的分支机构。
好吧,如果你是这样一个超级专业的人,也许你可以告诉我什么是错的!