Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 6. - Seite 910

 

Hallo!

In meinem Expert Advisor wird die vorherige Kerze geprüft, und wenn die Bedingungen es zulassen, wird die Position eröffnet, wenn nicht, wird sie nicht eröffnet. Das Problem besteht darin, dass die Position eröffnet wird, bevor der Zustand der vorherigen Kerze überprüft wurde. Dann sehe ich im Protokoll, dass die Position geöffnet wurde, und dann sehe ich, dass sie nicht geöffnet werden sollte. Wie kann man das beheben?

 
evillive:

Die Zahlenklammern fehlen.

Danke, ich habe es hinbekommen! Das Problem war tiefer, mein Missverständnis, was die Ausgabe wäre in dieser Art des Schreibens, im Allgemeinen Erwartungen nicht mit dem Ergebnis, schraubte die Zähler - alles funktioniert, wie ich dachte, es würde.
 

Hilfe, warum öffnet der EA beim Testen keine Aufträge? (Bringt das nichts?) Bitte helfen Sie, bitte!!!

extern double    OrderValue =  0.01;         
extern int       Up         =  70;
extern int       Dn         =  30;
extern int       rrr        =   5;
extern int       S1_period  =   5;
extern int       S1_slowing =   3;
extern double    TP         =  30;
extern double    SL         =  30;

double    S1a          = 0;
double    S1b          = 0;
      
double MyOrderStateB;
double MyOrderStateS;

int    OpenOrderB      ;   
int    OpenOrderS      ;   

//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  
   {
    if (Digits == 3 || Digits == 5)
     {
       TP *=10;
       SL  *=10;
      
     }
  
  
  
   return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
//----

   S1a = NormalizeDouble(iStochastic(NULL, 0, S1_period, 3, S1_slowing, MODE_SMA, 1, MODE_MAIN, 1), 0);
   S1b = NormalizeDouble(iStochastic(NULL, 0, S1_period, 3, S1_slowing, MODE_SMA, 1, MODE_SIGNAL, 1), 0);
   
   if(MyOrderStateB == 1)Sleep(3000);
    else MyOrderStateB = 0;
   if(MyOrderStateS == 1)Sleep(3000);
    else MyOrderStateS = 0;
   
//----
   return(0);
  }
//+------------------------------------------------------------------+

void GetBuy(){
     
   if(S1a == S1b && S1a<20.0000 && S1b<20.0000 )
 {OrderSend(Symbol(), OP_BUY, OrderValue, NormalizeDouble(Ask, Digits), 3, SL, TP, NULL, 0, 0,clrBlue);
     MyOrderStateB = 1; }
   else Sleep(2);
}
void GetSell(){
      
   if(S1a == S1b && S1a>80.0000 && S1b>80.0000 )

    {OrderSend(Symbol(), OP_SELL, OrderValue, NormalizeDouble(Bid, Digits), 3, SL, TP, NULL, 0, 0,clrRed);
      MyOrderStateS = 1; }    
       else Sleep(2);
   } 

 
Viktorline14:

Hilfe, warum öffnet der EA beim Testen keine Aufträge? (Bringt das nichts?) Bitte helfen Sie, bitte!!!


Können Sie keinen korrekten Beitrag verfassen?

Es gibt keinen Funktionsaufruf in der Funktion Start() zum Öffnen von Aufträgen

 
Vinin:

Können Sie nicht einen korrekten Beitrag erstellen?

Es gibt keine Funktionsaufrufe in Start(), um Aufträge zu öffnen

 
Bruder, wie kann man das hinzufügen?
 
Viktorline14:
Bruder, wie kann man das hinzufügen?
Deine Mutter und dein Vater tun mir leid. Sie haben dir nicht beigebracht, wie man kommuniziert.
 

Vinin:
Жалко мне твоих папу и маму. Не научили культуре общения

Es tut mir leid, ich brauche wirklich Hilfe, da dies meine erste Erfahrung mit dem Schreiben von EA ist.

Bitte um Hilfe

 

Also habe ich es herausgefunden, keine Fehler, aber es gibt Warnungen.

Das ist wahrscheinlich der Grund, warum das Testgerät Fehler ausgibt

 
Viktorline14:

Also habe ich es herausgefunden, keine Fehler, aber es gibt Warnungen.

Das muss der Grund sein, warum das Prüfgerät Fehler ausgibt

Leute, helft bitte!!!
Grund der Beschwerde: