errore 4756 - pagina 4

 
RaptorUK:

Credo, lo confermo, di aver visto lo stesso problema nello Strategy Tester, non sono sicuro di come esattamente questo possa accadere, proverò di nuovo con qualche altra segnalazione di errore aggiunta per essere sicuro.

OK, un mistero risolto... non avevo capito che lo spread usato nello Strategy Tester è preso dai dati della storia, in particolare i dati M1. La ragione per cui ho degli stop non validi nella mia esecuzione dello Strategy Tester è perché lo spread è più grande del mio SL. Aggiungerò un test per questo.

 

Konstantin83:
2013.03.10 11:19:18    2012.01.04 15:00:00   failed buy stop 1.00 EURUSD at 1.30505 sl: 1.28375 tp: 1.30375 [Invalid stops]

Non capisco lo stop non valido. lo sl è sotto il buy sl: 1.28375 <1.30505 ?

 
Konstantin83:

CopyHigh(_Symbol,_Period,TimeCurrent(),5,hg);

Top = NormalizeDouble(rates[ArrayMaximum(hg,0,WHOLE_ARRAY)].high,_Digits); 

- designincompreso .
Scegli tra i valori del massimo doppio e usa quello invece dell' indice intero

grazieKonstantin83 :

ma non capisco cosa dici.

top è il più alto delle ultime 5 candele e top è un indice doppio e non intero

top
 

dan5:

Non capisco lo stop non valido. lo sl è sotto il buy sl: 1.28375 <1.30505 ?


Non prendere "Invalid stops" troppo alla lettera. Non si tratta solo di Stop Loss, può essere anche il prezzo di entrata e/o il TP. Quando ottieni un errore stampa le seguenti informazioni, ti aiuteranno a capire cosa è andato storto:

  1. il tipo di trade, Buy Limit, Buy, Sell, Sell Stop, ecc.
  2. il prezzo Ask
  3. il prezzo Bid
  4. il prezzo di entrata
  5. lo SL
  6. il TP
  7. il livello di congelamento
  8. il livello di stop
  9. il numero dell'errore (e la descrizione dell'errore se proprio vuoi)
Dovresti anche leggere questo articolo, è stato scritto per mql4 ma sono abbastanza sicuro che sia ancora valido per mql5:Requisiti e limitazioni nel fare trading
Requirements and Limitations in Making Trades - Appendixes - MQL4 Tutorial
  • book.mql4.com
Requirements and Limitations in Making Trades - Appendixes - MQL4 Tutorial
 

dan5:

2013.03.10 11:19:18 2012.01.04 15:00:00 fallito buy stop 1.00 EURUSD a 1.30505 sl: 1.28375 tp: 1.30375 [Stop non valido]


Non capisco lo stop non valido. lo sl è sotto il buy sl: 1.28375 <1.30505 ?


Hai notato che l'entrata 1.30505 è > il TP 1.30375?
 
RaptorUK:
Avete notato che l'entrata 1.30505 è > il TP 1.30375 ?

grazie per il tuo aiuto ho modificato il mio sl e tp ora è ok

mrequest.sl = NormalizeDouble( mrequest.price + STP*_Point,_Digits); // Stop Loss
mrequest.tp = NormalizeDouble( mrequest.price - TKP*_Point,_Digits);// Take Profit

invece di:

mrequest.sl = NormalizeDouble(latest_price.bid + STP*_Point,_Digits); // Stop Loss
mrequest.tp = NormalizeDouble(latest_price.bid - TKP*_Point,_Digits); // Take Profit

 
dan5:

grazie per il tuo aiuto ho modificato il mio sl e tp ora è ok

mrequest.sl = NormalizeDouble( mrequest.price + STP*_Point,_Digits); // Stop Loss
mrequest.tp = NormalizeDouble( mrequest.price - TKP*_Point,_Digits);// Take Profit

invece di:

mrequest.sl = NormalizeDouble(latest_price.bid + STP*_Point,_Digits); // Stop Loss
mrequest.tp = NormalizeDouble(latest_price.bid - TKP*_Point,_Digits); // Take Profit

Questa è una buona notizia, spero che non ti sia dispiaciuto che abbia sovvertito il tuo thread, ma penso che entrambi ne abbiamo ricavato qualcosa di utile alla fine :-)
 
RaptorUK:
Questa è una buona notizia, spero che non ti sia dispiaciuto che abbia sovvertito il tuo thread, ma penso che entrambi ne abbiamo ricavato qualcosa di utile alla fine :-)
Hai trovato un'altra soluzione che io propongo con OnTradeTransaction per procedere con sl & tp su un caso di esecuzione di mercato (broker ECN)?
 
angevoyageur:
Hai trovato un'altra soluzione che io propongo con OnTradeTransaction per procedere con sl & tp su un caso di esecuzione a mercato (broker ECN)?
Il codice che ho suggerito in questo post https://www.mql5.com/en/forum/11051#comment_446272 funziona bene per quanto posso dire, ho pensato che non funzionasse nello Strategy Tester a causa della mia supposizione che lo spread fosse fisso (come in MT4) non era corretto. Il mio codice ora funziona nello Strategy Tester e in Demo per i simboli con tipo di esecuzione Instant o Exchange, il mio codice determina il tipo e invia le richieste appropriate. Idealmente vorrei che il mio codice gestisse automaticamente qualsiasi tipo di esecuzione.
 
RaptorUK:
Il codice che ho suggerito in questo post https://www.mql5.com/en/forum/11051#comment_446272 funziona bene per quanto posso dire, ho supposto che non funzionasse nello Strategy Tester a causa della mia supposizione che lo spread fosse fisso (come in MT4) non era corretto. Il mio codice ora funziona nello Strategy Tester e in Demo per i simboli con tipo di esecuzione Instant o Exchange, il mio codice determina il tipo e invia le richieste appropriate. Idealmente vorrei che il mio codice gestisse automaticamente qualsiasi tipo di esecuzione.
Ah ok, mi è sfuggito.