Alle Fragen von einem PROFI an einen SUPER PROFI - 1. - Seite 38

 

Es ist alles schlecht. Auch mit Versionen. Außer bei Skripten.

Hier ist ein Beispiel. Es ist möglich, den Namen der Version dort zu definieren und abzurufen, aber es ist ein bisschen kompliziert.


 
Ich danke Ihnen.
 
TheXpert:

Es sei denn, die Skripte.

hat eine halbfertige Methode entwickelt.

Erstellen Sie eine neue Konfiguration für den Compiler, z. B. "Release Main", in die ich den Namen der benötigten Datei schreibe.

Es ist nicht sehr automatisiert, aber es erspart mir einen doppelten Ausgabedateinamen.

 

Verfügt MQL4 über Funktionen für die Arbeit mit Fadenkreuzen?

Ich muss den Wert der Preisdifferenz in Pips einer Variablen zuweisen.

 
Syzal:

Verfügt MQL4 über Funktionen für die Arbeit mit Fadenkreuzen?

Ich muss den Wert der Preisdifferenz in Pips einer Variablen zuweisen.

Also weisen Sie es zu, aber wozu dient das Fadenkreuz? Die Skripte zielen nicht mit dem Cursor ;)
 
Syzal:

Verfügt MQL4 über Funktionen für die Arbeit mit Fadenkreuzen?

Ich muss einer Variablen einen Wert der Preisdifferenz in Pips zuweisen.

Nicht mit Fadenkreuz. Aber es gibt
CHARTEVENT_MOUSE_MOVE

и

CHARTEVENT_CLICK
 

Meine Herren Programmierer. Ich habe eine Frage. Ich teste einen EA auf dem aforex.ru Demokonto. Ich erhalte manchmal einen Fehler, wenn ich die Bestellung 138 "Neue Preise" öffne. Ich habe nicht verstanden, warum. Ich eröffne Aufträge über die unten stehende Funktion. Ich muss den Grund für den Fehler beim Öffnen finden. Was denken Sie darüber?

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 Loss
                           0, //величина 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") 
 
Rammik:

Meine Herren Programmierer. Ich habe eine Frage. Ich teste einen EA auf dem aforex.ru Demokonto. Ich erhalte manchmal einen Fehler, wenn ich die Bestellung 138 "Neue Preise" öffne. Ich habe nicht verstanden, warum. Ich eröffne Aufträge über die unten stehende Funktion. Ich muss den Grund für den Fehler beim Öffnen finden. Was denken Sie darüber?


Jemand, der ein Profi ist, stellt solche Fragen nicht. Sie müssen in der falschen Abteilung sein.
 
Vinin:
Fachleute stellen solche Fragen nicht. Sie müssen in der falschen Abteilung sein.
Wenn du so ein Superprofi bist, warum sagst du mir dann nicht, was los ist?!
 
Rammik:
Nun, wenn Sie so ein Superprofi sind, können Sie mir vielleicht sagen, was los ist!
Ich bin kein Superprofi, aber ich würde mich zuerst fragen, was tp entspricht