Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 890
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
C'è un Expert Advisor che permette di determinare quando un ordine pendente è scattato
https://www.mql5.com/ru/code/17610
Lo uso per ottenere un biglietto per un ordine SELL_STOP
Ho cambiato il codice in
Tutto va bene fino ad un certo momento. Finché non appare un altro tipo di ordine nella storia.
Per esempio, SELL_LIMIT.
Non appena SELL_LIMIT appare nella storia, non posso ottenere un biglietto dell'ultimo SELL_STOP.
L'Expert Advisor lancia un errore.
L'ordine 9 non è pendente
Anche se c'è SELL_STOP nella storia
E perché devo fare con il 9° se ho bisogno del 7° biglietto?
Salve. Ottengo un errore seStopLoss_=0
failed modify #2 sell 3.00 Si-9.18 sl: 0, tp: 62749 -> sl: 0, tp: 62774 [fermate non valide]
Salve. Ottengo un errore seStopLoss_=0
failed modify #2 sell 3.00 Si-9.18 sl: 0, tp: 62749 -> sl: 0, tp: 62774 [fermate non valide]
Logica errata nella scrittura del programma.
Quando StopLoss_=0, scatta la condizione superiore - un tentativo di modificare TakeProfit. L'errore è che si sottrae dal PREZZO APERTO - in questo caso il livello di TakeProfit può essere superiore al PREZZO CORRENTE e questo è un errore.
Nel tuo caso, sottrai dal PREZZO GIUSTO (m_position.PriceCurrent).
Una posizione di vendita è stata aperta e il selllimit è stato attivato, ho bisogno di spostare il tp rispetto al nuovo prezzo della posizione, non rispetto al prezzo corrente.
Che tipo di controllo devo fare per evitare di provare a modificare un prezzo non valido?
Una posizione di vendita è stata aperta e il selllimit è stato attivato, ho bisogno di spostare il tp rispetto al nuovo prezzo della posizione, non rispetto al prezzo corrente.
Che tipo di controllo devo fare per non provare a modificare un prezzo non valido?
Controllare:
if(m_position.PriceOpen()-ExtTakeProfit<m_position.PriceCurrent() { m_trade.PositionModify(m_position.Ticket(), m_position.StopLoss(), m_symbol.NormalizePrice(m_position.PriceOpen()-ExtTakeProfit) ); ...
Controllare:
Grazie, ma l'errore rimane.
Potrebbe essere inaccettabilmente vicino al prezzo attuale. Come posso controllare questo?
Grazie, ma l'errore rimane.
Potrebbe essere inaccettabilmente vicino al prezzo attuale. Come si controlla questo?
Non ho accesso a uno scambio, quindi o lo fai da solo o lavori su strumenti forex. Mi dispiace.
Aggiunto: introdurre un altro controllo - per una posizione di vendita il nuovo TakeProfit (valore calcolato) non deve essere più alto o uguale all'attuale TakeProfit della posizione.
Non ho accesso a uno scambio, quindi o lo fai da solo o lavori su strumenti forex. Mi dispiace.
Aggiunto: introdurre un altro controllo - per una posizione di vendita il nuovo TakeProfit (valore calcolato) non deve essere più alto o uguale all'attuale TakeProfit della posizione.
Probabilmente il prezzo di apertura (POSITON_PRICE_OPEN) ?
Probabilmente il prezzo di apertura (POSITON_PRICE_OPEN) ?
Questa opzione era sopra. Vedi i post sopra. Hai risposto nel bel mezzo della conversazione.
Does not fit, modify by ATR Quali altri controlli si possono fare per questo errore? Tutto possibile. In mt4 c'èSTOPLEVEL, ma qui cosa?