Errori, bug, domande - pagina 2411
Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Si prega di eseguire questo codice:Multicurrency iMA Trend 2.
Specificare "EURUSD,GBPUSD" nelle impostazioni ( parametro Symbols).
Sulla mia configurazione
tutti gli SL hanno chiuso ai prezzi dei loro simboli. Cioè, non c'è nessun errore di sovrapposizione dei prezzi.
Si prega di eseguire questo codice:Multicurrency iMA Trend 2.
Specificare "EURUSD,GBPUSD" nelle impostazioni ( parametro Symbols).
Sulla mia configurazione
tutti gli SL hanno chiuso ai prezzi dei loro simboli. Cioè, non c'è nessun errore di sovrapposizione dei prezzi.
Grazie, l'errore è stato localizzato. Posta qui sotto.
ci sono due errori.
№1. Il tuo errore. Da qualche parte nel codice. Stai impostando SL per la posizione EURUSD usando il prezzo GBPUSD. Il terminale non dovrebbe avere nulla in contrario.
№2. Bug nel terminale. Se questo SL viene attivato ad un prezzo che non esiste in quel momento nel flusso EURUSD, utilizzando il prezzo GBPUSD.
https://www.mql5.com/ru/docs/constants/structures/mqltraderequest
A quanto pare, quando si invia una richiesta di modifica, il campo posizione ha la priorità sul simbolo. Stampareq.position
Sì, hai dimostrato di avere ragione, il mio errore è logico:
nella struttura:
MqlTradeRequest m_request;
m_request.position = #3
m_request.symbol = GBPUSD
m_request.sl = 1.60704
numero di posizione attuale per GBPUSD #4
quando OrderSend viene eseguito, il tester imposta uno stop per il simbolo corrispondente alla posizione #3, che è eurusd.
Bug dei tester:
- non riesce a controllare se m_request.position e m_request.symbol corrispondono;
- imposta uno stop a 1,60704 per la posizione di acquisto, il simbolo eurusd, che ha un prezzo corrente di 1,30935;
- sul prossimo tick imposta uno stop a 1,60704, anche se il prezzo attuale è 1,30935.
Grazie a tutti. Spero che gli sviluppatori della piattaforma vedano il post.
Sì, hai dimostrato di avere ragione, il mio errore è logico:
Nella struttura:
MqlTradeRequest m_request;
m_request.position = #3
m_request.symbol = GBPUSD
m_request.sl = 1.60704
numero di posizione attuale per GBPUSD #4
quando OrderSend viene eseguito, il tester imposta uno stop per il simbolo corrispondente alla posizione #3, che è eurusd.
Bug dei tester:
- non riesce a controllare se m_request.position e m_request.symbol corrispondono;
- imposta uno stop a 1,60704 per la posizione di acquisto, il simbolo eurusd, che ha un prezzo corrente di 1,30935;
- sul prossimo tick imposta uno stop a 1,60704, anche se il prezzo attuale è 1,30935.
Grazie a tutti. Spero che gli sviluppatori della piattaforma vedano il post.
L'esecuzione di uno stop per una posizione di acquisto a 1.60704 al prezzo attuale 1.30935 non è un errore. Ma impostare un buy stop al livello di 1.60704 al prezzo attuale di 1.30935 è un errore.
Costruire 2007
Funzione:
dovrebbe emettere il risultato finanziario della transazione nella variabile profitto, ma risulta sempre essere 0,0, e il valore nella variabile lotto è sempre corretto.
C'è un errore? - O sto facendo qualcosa di sbagliato?
Costruire 2007
Funzione:
dovrebbe emettere il risultato finanziario della transazione nella variabile profitto, ma risulta sempre essere 0,0, e il valore nella variabile lotto è sempre corretto.
C'è un errore? - O sto facendo qualcosa di sbagliato?
DEAL_ENTRY_OUT o INOUT dovrebbe essere controllato. I trade _IN hanno un profitto di 0
DEAL_ENTRY_OUT o INOUT devono essere guardati. I trade _IN hanno un profitto di 0
Bene, il primo dalla fine della lista è preso, dovrebbe essere OUT
Beh, è il primo dalla fine della lista, dovrebbe essere OUT
Se passate TimeCurrent() in endDate, sostituitelo con TimeCurrent()+60 o qualcosa del genere. Questo dovrebbe aiutare.
Se passate TimeCurrent() in endDate, sostituitelo con TimeCurrent()+60 o qualcosa del genere. Questo dovrebbe aiutare.
No, è ancora 0.0.
No, è ancora 0.0.
Poi fate il debug. Stampare i biglietti delle transazioni e vedere nel tester cosa viene effettivamente selezionato lì. Aggiungere un filtro per tipo di commercio.