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

 
EVGENII SHELIPOV #:

La domanda è se qualcuno ha incontrato una tale situazione in quello che è il problema del codice errato o nella cucina del broker????

Tieni traccia non solo dell'errore di chiusura ma anche di quali ordini sono stati selezionati per chiudere, diventerà più chiaro dove si trova il bug.

 
EVGENII SHELIPOV #:

Buon pomeriggio!!!!


Pubblica il codice per OnTick()
 
EVGENII SHELIPOV reale, ma sul conto reale accadono miracoli: solo gli ordini con profitto vengono chiusi su tutta la griglia.
//+----------------------------------------------------------------------------+
//| Закрытие сетки ордеров при заданной команде                                |
//+----------------------------------------------------------------------------+
void ClosseAll()
  {
   for(int i = OrdersTotal()-1; i>=0; i--)
     {
      if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
        {
         if(OrderSymbol() == Symbol() && OrderMagicNumber() == Magic)
           {
            if(OrderType() == OP_BUY)
              {
               if(!OrderClose(OrderTicket(), OrderLots(), Bid, slip))
                  Print("Не удалось закрыть ордера на покупку!");
              }
            if(OrderType() == OP_SELL)
              {
               if(!OrderClose(OrderTicket(), OrderLots(), Ask, slip))
                  Print("Не удалось закрыть ордер на продажу!");
              }
           }
        }
     }
  }

Possiamo vedere nel codice che gli ordini sono chiusi dal simbolo e da un ponte. Ma non vediamo alcun profitto preso in considerazione. Cosa impedisce la chiusura delle posizioni perdenti? Probabilmente è meglio chiedere al broker.

 
Mihail Matkovskij #:

Nel codice, puoi vedere che gli ordini sono chiusi dal simbolo e dal meigico. Ma nessun profitto è preso in considerazione. Cosa impedisce la chiusura delle posizioni non redditizie...? Probabilmente, è meglio chiedere al broker.

Cosa ne pensi, se aggiungo la condizione di calcolo del profitto > 0 alla funzione di chiusura di tutti gli ordini, cambierà?

Ho questa condizione nel mio comando per chiudere gli ordini

 
EVGENII SHELIPOV #:

Cosa ne pensi, se aggiungo la condizione di calcolo del profitto > 0 alla funzione di chiusura di tutti gli ordini, cambierà?

Ho questa condizione nel comando per chiudere gli ordini

Dobbiamo aggiungere un controllo
 
EVGENII SHELIPOV #:

Cosa ne pensi, se aggiungo la condizione di calcolo del profitto > 0 alla funzione di chiusura di tutti gli ordini, cambierà?

Ho questa condizione nel mio comando per chiudere gli ordini

A giudicare dalla tua domanda, gli ordini non vengono chiusi dal broker. Se si invia una richiesta al server per chiudere un ordine (OrderClose) e questo non viene chiuso come risultato di questa richiesta, non si può cambiare nulla qui usando il codice.

Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам
Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам
  • 2022.01.05
  • www.mql5.com
В этой ветке я хочу начать свою помощь тем, кто действительно хочет разобраться и научиться программированию на новом MQL4 и желает легко перейти н...
 
EVGENII SHELIPOV #:

Cosa ne pensi, se aggiungo la condizione di calcolo del profitto > 0 alla funzione di chiusura di tutti gli ordini, cambierà?

Ho questa condizione nel comando per chiudere gli ordini

Aggiungete una bandiera per chiudere fino alla chiusura e qualsiasi broker funzionerà.
 
Tretyakov Rostyslav #:
Aggiungete la bandiera per chiudere fino alla chiusura e qualsiasi broker funzionerà.

Ora stiamo avendo una conversazione costruttiva.

Rostislav, se puoi approfondire la questione della bandiera.

O non così, per gli stupidi, scrivete.

 
EVGENII SHELIPOV #:

Ora stiamo avendo una conversazione costruttiva.

Rostislav, se puoi approfondire la questione della bandiera.

O non è così esplicito per gli stupidi.

Potresti postare il codice OnTick() ...

Non l'intero codice, solo le parti in cui viene controllato CountTrade()

 
Tretyakov Rostyslav #:

Pubblica il codice OnTick() ...

Non tutto, solo le parti in cui viene controllato CountTrade().

Inbox

Motivazione: