Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 1856
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
Un consiglio. Sono bloccata su una domanda.
Come contaiOpen per Ask o Bid?
La questione è che confrontando il prezzo di apertura di oggi con il prezzo di apertura di ieri sembra causare lo spread colocation e poi ci sono ulteriori problemi nel codice. O vengono scambiati solo bai o vendite perché i prezzi iOpen non sono corretti in alcuni giorni.
Il problema è che confrontando il prezzo aperto di oggi con il prezzo aperto di ieri sembra che si crei uno spread colocation e quindi ho problemi nel codice. Posso scambiare solo offerte o vendite perché i prezzi iOpen non sono corretti in alcuni giorni.
Il grafico è basato sul prezzo di offerta
Ragazzi, per favore consigliatevi.
Sto scrivendo un EA multivaluta, tutto funziona come previsto tranne che per gli ordini di apertura. Per favore, ditemi qual è il problema.
Non ricevo nessun errore, semplicemente non apro gli ordini
Non ricevo nessun errore, semplicemente non apre gli ordini
Valore restituito
Restituisce il numero di ticket assegnato all'ordine dal server commerciale o -1 in caso di fallimento. Per ottenere informazioni sugli errori, è necessario chiamare GetLastError().
Anche il compilatore ti dice che gli Ordersend devono essere controllati.
L'acquisto viene fatto con Ask. Ma potrebbe funzionare anche con Bid, se lo slippage è almeno uguale allo spread, il che potrebbe rendere più difficile trovare questo bug.
un EA multicurrency e tutto funziona come previsto, tranne che per gli ordini di apertura. Sto cercando messaggi di errore.
Non dà nessun errore, semplicemente non apre un ordine.
Avete notato dov'è l'errore?
https://docs.mql4.com/ru/trading/ordersend
Примечание
Quando si apre un ordine a mercato (OP_SELL o OP_BUY), solo gli ultimi prezzi Bid (per la vendita) o Ask (per l'acquisto) possono essere usati come prezzo di apertura. Se l'operazione viene eseguita per uno strumento finanziario diverso da quello corrente, allora per ottenere le ultime quotazioni di questo strumento, si deve usare la funzioneMarketInfo() con il parametro MODE_BID o MODE_ASK.
Non puoi usare un prezzo stimato o non normalizzato. Se il prezzo di apertura richiesto non era nel flusso dei prezzi, o il prezzo richiesto non è normalizzato secondo il numero di decimali, verrà generato l'errore 129 (ERR_INVALID_PRICE). Se il prezzo di apertura richiesto è gravemente superato, verrà generato un errore 138 (ERR_REQUOTE) indipendentemente dal valore del parametro slippage. Se invece il prezzo richiesto non è aggiornato ma è ancora presente nel flusso dei prezzi, l'ordine sarà aperto al prezzo corrente e solo se il prezzo corrente rientra nell'intervallo prezzo+-slippage.
...
È anche auspicabile impostare una magia unica per il robot.
Per quanto ne so, Ask e Bid sono già normalizzati. Una questione simile è già stata sollevata e non c'è stata contraddizione.
La magia e le cifre di stoploss e profitto possono essere appropriate, ma l'intenzione dell'autore non è nota.
Per quanto ne so, Ask e Bid sono già normalizzati. Una questione simile è già stata sollevata e non c'è stata contraddizione.
Forse è il caso di menzionare il magik e le cifre dello stop-loss e del profitto, ma non so quale fosse l'idea dell'autore.
Per quanto ne so, la documentazione non dice una parola al riguardo. Quindi, è meglio prendere delle precauzioni. Non peggiorerà la situazione.
Per quanto riguarda lo SL e il TP, sono calcolati. E quindi devono assolutamente essere normalizzati secondo il valore delle cifre.
Ciao amici.
Buon pomeriggio.
Come posso ottenere il tempo di apertura del secondo e dei successivi ordini, perché OpenOrderTime() dà solo il primo, e anche come posso ottenere il prezzo di apertura del secondo e dei successivi ordini, perché l'analogo OpenOrderPrice() dà anche il prezzo del primo?