Messieurs les programmeurs. J'ai une question. Je teste un EA sur le compte de démonstration d'aforex.ru. J'obtiens parfois une erreur lorsque j'ouvre l'ordre 138 "Nouveaux prix". Je n'ai pas compris pourquoi. J'ouvre des ordres via la fonction ci-dessous. Je dois trouver la raison de l'erreur pendant l'ouverture. Qu'en pensez-vous ?
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")
Messieurs les programmeurs. J'ai une question. Je teste un EA sur le compte de démonstration d'aforex.ru. J'obtiens parfois une erreur lorsque j'ouvre l'ordre 138 "Nouveaux prix". Je n'ai pas compris pourquoi. J'ouvre des ordres via la fonction ci-dessous. Je dois trouver la raison de l'erreur pendant l'ouverture. Qu'en pensez-vous ?
Quelqu'un qui est un professionnel ne pose pas de telles questions. Vous devez être dans la mauvaise branche.
C'est tout mauvais. Même avec des versions. Sauf avec les scripts.
Voici un exemple. Il est possible de définir et de récupérer le nom de la version à cet endroit, mais c'est un peu délicat.
A moins que les scripts.
est arrivé avec une méthode semi-finie.
Créer une nouvelle configuration pour le compilateur. comme "Release Main", dans laquelle j'écris le nom du fichier requis.
Ce n'est pas très automatisé, mais cela m'évite d'avoir un nom de fichier de sortie en double.
Est-ce que MQL4 a des fonctions pour travailler avec le réticule ?
J'ai besoin d'assigner la valeur de la différence de prix en pips à une variable.
Est-ce que MQL4 a des fonctions pour travailler avec le réticule ?
J'ai besoin d'assigner la valeur de la différence de prix en pips à une variable.
Est-ce que MQL4 a des fonctions pour travailler avec le réticule ?
J'ai besoin d'assigner une valeur de différence de prix en pips à une variable.
CHARTEVENT_MOUSE_MOVEи
CHARTEVENT_CLICKMessieurs les programmeurs. J'ai une question. Je teste un EA sur le compte de démonstration d'aforex.ru. J'obtiens parfois une erreur lorsque j'ouvre l'ordre 138 "Nouveaux prix". Je n'ai pas compris pourquoi. J'ouvre des ordres via la fonction ci-dessous. Je dois trouver la raison de l'erreur pendant l'ouverture. Qu'en pensez-vous ?
Messieurs les programmeurs. J'ai une question. Je teste un EA sur le compte de démonstration d'aforex.ru. J'obtiens parfois une erreur lorsque j'ouvre l'ordre 138 "Nouveaux prix". Je n'ai pas compris pourquoi. J'ouvre des ordres via la fonction ci-dessous. Je dois trouver la raison de l'erreur pendant l'ouverture. Qu'en pensez-vous ?
Les professionnels ne posent pas ce genre de questions. Vous devez être dans la mauvaise branche.
Eh bien, si vous êtes un tel super-professionnel, peut-être pouvez-vous me dire ce qui ne va pas !