Afflitto dall'errore non ci sono operazioni commerciali - pagina 3

 
Questo è un errore molto comune quando si invia al mercato. si potrebbe anche incorniciare questo post e appenderlo)
Di solito si verifica in sistemi molto complessi con input poco frequenti, ma questo non è il vostro caso.

Tuttavia, diamo un'occhiata al tuo codice.
c'è un controllo "AllChecks" per una parte di possibili errori con un risultato in qualsiasi circostanza - false
se falso, il tuo EA non cercherà di fare un trade.
Ha senso, ma è goffo. Non si può aprire un lotto così piccolo? Ok, apriamo il lotto minimo, e così via.

A proposito,ENUM_ORDER_TYPE e tutti i suoi valori non sono usati in mql4, anche se lo sono. Sono accidentalmente trasportate costanti enumerate da mql5.
Possiamo usarli, ma non sono del tutto corretti.
 
A proposito, anche il tuo segnale non è corretto.
TopPrice > 80 && LowerPrice >80
state confrontando direttamente il doppio con l'int.
Beh, almeno avreste dovuto scrivere così:
TopPrice > 80.0 && LowerPrice >80.0
perché 80 è un int, mentre 80.0 è un double, potete controllare:
Print(440/80) //5
Print(440/80.0) //5.5
come confrontare correttamente double con double penso che lo troverete.

Non è cruciale in questo caso, ma è comunque un errore.
 
Nikolay Khrushchev:
Questo è un errore molto comune quando si invia al mercato. si può anche incorniciare questo post e appenderlo)
di solito si verifica in sistemi molto complessi con input poco frequenti, ma questo non è il vostro caso.

Tuttavia, diamo un'occhiata al tuo codice.
c'è un controllo "AllChecks" per una parte di possibili errori con un risultato in qualsiasi circostanza - false
se falso, il tuo EA non cercherà di fare un trade.
Ha senso, ma è goffo. Non si può aprire un lotto così piccolo? Ok, apriamo il lotto minimo, e così via.

A proposito,ENUM_ORDER_TYPE e tutti i suoi valori non sono usati in mql4, anche se lo sono. Sono accidentalmente trasportate costanti enumerate da mql5.
Possiamo usarli, ma non sono del tutto corretti.

Qual è l'errore e come si può evitare in futuro?

 
Алексей Тарабанов:

Qual è l'errore e come si può evitare in futuro?

fare controlli più flessibili.
Ho fatto l'esempio del lotto, se non puoi aprire quello specificato - apri quello minimo o massimo possibile, piuttosto che abbandonare semplicemente l'idea.

 
Nikolay Khrushchev:

Fare test più flessibili.
Ho fatto un esempio con un lotto, se non puoi aprire il specificato - apri il minimo o il massimo possibile, piuttosto che abbandonare semplicemente l'idea.

In altre parole, sei sicuro che quando tu ed io testiamo i nostri EAs, Metacquotes porta i nostri trade al reale. Per i vostri (loro) soldi.

 
Алексей Тарабанов:

In altre parole, sei sicuro che quando tu ed io testiamo i nostri EAs, Metacquotes porta i nostri trade al reale. Per i vostri (loro) soldi.

No, non l'ho detto affatto

 
Quindi non ti capisco
 
Алексей Тарабанов:
Quindi devo averti frainteso.

ovviamente)

Tutto è stretto nel codice dell'uomo. non si può aprire un sacco che voglio - non lo farò. A proposito, sta cercando di aprire 0,01 lotti
quindi risulta che l'Expert Advisor nel conto con il lotto minimo 0.1 (o nel tester del broker con il lotto minimo 0.1) non apre nulla.

In questa situazione, è necessario che l'EA apra 0,1 lotti, e poi tutto andrà bene.

 
Qualcuno ha risolto questo problema con l'assenza di operazioni di trading quando si posta sul mercato? È solo un capriccio. Ho già hardcoded e fatto 100% aprendo 1 posizione all'avvio dell'EA, ma me lo restituisce ancora... Sto lottando con questo da 2 settimane, e anche le versioni precedenti non passano la validazione, anche se sono state sul mercato e hanno passato la validazione prima
 
Roman Gergert:
Gente, qualcuno ha risolto questo problemasenza operazioni di trading quando si posta sul mercato. È solo un capriccio. Ho già hardcoded e fatto il 100% di apertura di 1 posizione all'avvio dell'EA, ma me lo restituisce ancora... Sto lottando con questo da 2 settimane, e anche le versioni precedenti non passano la validazione, anche se sono state sul mercato e hanno passato la validazione prima

Il computer è un idiota. © M.M. Botvinnik.

Quindi, fate finta di essere un idiota e provate a passare l'algoritmo dal punto di vista di un idiota e con i parametri fissati da un idiota. Questo è esattamente il punto di vista in cui si inserisce l'autovalidatore. Fate attenzione al "feedback". L'Expert Advisor vi informa degli errori?