Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 606

 
Amon1953:
Grazie per il consiglio. Non sono un programmatore molto esperto e uso uno stile che è comodo per me, non ho ancora imparato a portarlo ad uno stile comune su questo sito. - Non ho ancora imparato a farlo.

Ma puoi incollare il codice nel tuo post (Alt+S), anche se con il tuo stile. Tuttavia, puoi sempre usare lo styler nell'editor (Ctrl+,) per portare lo stile all'adottato sul sito. Anche se non è conveniente per tutti, è meglio di qualcosa di illeggibile.

 
Artyom Trishkin:

Ma puoi inserire il codice nel tuo post (Alt+S), anche se con il tuo stile. Tuttavia, puoi sempre usare lo strumento di styling nell'editor (Ctrl+,) per portare lo stile a quello del sito. Anche se non è conveniente per tutti, è meglio di qualcosa di illeggibile.

 
 if((cnt_OO > 1))
  {
   for(int h = OrdersTotal()-1; h >= 0; h--)
    {
     if(OrderSelect(h, SELECT_BY_POS))
      {
       if((OrderMagicNumber() == Magic))
        {
         Nextstep  = NextStep;
         BaseNext  = OrderOpenPrice();
         LotsNext  = NormalizeDouble(OrderLots()*K,lotDigit);
         if(NewPB > 0)
          {
           PBcloseON = true;
          } 
         Alert ("Pospedny Order NEXT  ",OrderTicket());
         Alert ("Otkritih orderov  ",cnt_OO);
         break;
    }}} }
       if((cnt_OO == 1))
        {
         LotsNext    = NormalizeDouble(Lots*Prikup,lotDigit); 
         Alert ("Otkritih orderov NEXT net ");
         Alert ("Otkritih orderov  ",cnt_OO);
        }
Beh, ho qualcosa. Solo che in sostanza non ho capito dove il mio errore
 
Amon1953:
Beh, ho qualcosa. Solo che in sostanza non ho capito dov'è il mio errore

Cosa vuoi ottenere comunque?

Da quello che avete mostrato è impossibile da capire - non ci sono dati sui valori delle variabili utilizzate.

 
Artyom Trishkin:

Cosa vuoi ottenere comunque?

Da quello che avete mostrato è impossibile da capire - non ci sono dati sui valori delle variabili utilizzate.

La seconda istruzione if è opzionale, ma non funziona senza di essa
 
Amon1953:
La seconda istruzione if è opzionale, ma non funziona senza di essa

Forum sul trading, sistemi di trading automatico e test di strategia

Qualsiasi domanda per i neofiti su MQL4, aiuto e discussione su algoritmi e codici

Artyom Trishkin, 2018.08.21 22:14

Cosa vuoi ottenere comunque?

Da quello che avete mostrato è impossibile da capire - non ci sono dati sui valori delle variabili utilizzate.


 
Artyom Trishkin:

Ho già mostrato uno dei risultati di questa unità

RISULTATO: Otkritih ordina NEXT net

Ordini Otkritih 5

 
Amon1953:

Ho già mostrato uno dei risultati di questa unità

RISULTATO: Otkritih ordina NEXT net

Ordini Otkritih 5

Vedo - flusso di coscienza. Mi sono tolto dalla discussione...

Continua a leggere.

 

Anton1953 Se ti riferisci al lavoro del blocco che era il primo senza se, c'è un errore. Ti do un suggerimento - prova ad eseguire quel pezzo di codice con ordini con altri maik, ci sono un sacco di ordini, ma non passano la condizione majik. Hai bisogno di altri consigli o te la caverai da solo?

A proposito, la codifica corretta aiuta molto quando si cercano questi errori, perché li si segna nel proprio stile abituale e l'errore diventa semplicemente ovvio!

 
Vitaly Gorbunov:

Anton1953 Se intendi il lavoro del blocco che era il primo senza if, c'è un errore. Ti do un suggerimento - prova ad eseguire quel pezzo di codice con ordini con altri maik, ci sono un sacco di ordini, ma non passano la condizione majik. Hai bisogno di altri consigli o te la caverai da solo?

A proposito, la codifica corretta aiuta molto nella ricerca di questi errori, perché l'errore è così evidente quando li segni nel tuo solito stile!

Ci sono diversi Expert Advisors che lavorano con diverse major. cnt_OO - questo è il numero di ordini aperti con una certa modalità. Il blocco è progettato così: se c'è più di un ordine cnt_OO>1, selezioniamo da tutti gli ordini apertiOrdersTotal() quello con la modalità necessariaif((OrderMagicNumber() == Magic)) e facciamo le azioni necessarie.

Altrimenti eseguiamo altre azioni. Ma "altrimenti" non funziona, dobbiamo inserireif((cnt_OO == 1)) senza di esso, non funziona


	          
 
Amon1953:

Diversi EA sono in esecuzione, con diverse major. cnt_OO - definito in precedenza - questo è il numero di ordini aperti con una particolare modalità. Il blocco è progettato così: se c'è più di un ordine cnt_OO>1, selezioniamo da tutti gli ordini apertiOrdersTotal() quello con la modalità necessariaif((OrderMagicNumber() == Magic)) e facciamo le azioni necessarie.

Altrimenti eseguiamo altre azioni. Ma "altrimenti" non viene eseguito, dobbiamo inserireif((cnt_OO == 1)) senza di esso non funziona

Il fatto che tu abbia definito da qualche parte il numero di ordini necessari è buono, ma in questo blocco, tu di nuovo fai passare tutti gli ordini e li controlli!

Rompi bene il codice e lo vedrai subito!

Motivazione: