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
Ho dato un'occhiata veloce (non ho ancora scavato), ho trovato il punto di riferimento che stai calcolando.
Prova a "buttare via" e mettere stupido Punto. Forse è questo il problema (il punto attraverso MarketInfo può non uscire sempre come si vuole?).
Si suppone che sia sempre...
anche se puoi provare a normalizzarlo =)
e non è sempre accettabile - l'esperto può fare trading su diverse coppie, e il punto può essere diverso...
Supponiamo che orderstoploss = 1.29211 (5 cifre dopo il punto decimale)
bid=1.29716 (anche 5 cifre)
TrailingStop = 50
point =0.001
allora (bid - TrailingStop * point)=1.29216>1.29211
Vero, questo richiede che le cifre diventino improvvisamente 5
E anche
può essere sostituito in modo indolore con
Penso che non sia necessario controllare l'assenza del livello di stop loss durante il trailing.
In realtà lo è, mi sto correggendo. Se impostiamo uno stop loss solo quando c'è un profitto, e se non c'è siamo pronti ad aspettare una chiamata di margine.
Non ho trovato altro. Su quale coppia il tuo trailing stop ha funzionato male e c'è stato un forte movimento?
Sto convertendo tutto in valori interi per scopi di confronto. Memorizzo e uso i valori dati dove posso (nell'array).
utilizzare i valori dati (in array, variabili, ecc.)
Cioè le variabili di tipo int possono assumere valori da -2147483648 a 2147483647.
Questa dimensionalità è abbastanza adatta alle croci.
Corrispondentemente, 1,2999 e 1,3000 possono essere fusi a 12999 e 13000, e poi possono essere confrontati in modo sicuro,
senza preoccuparsi di eventuali errori periodici.
Ho abbozzato un esempio qui :)
qui
uscita:
shiftpoint EURUSD,H1: doppio valore reale = 1.29999999
shiftpoint EURUSD,H1: valore del punto di spostamento = 13000
shiftpoint EURUSD,H1: Valore ripristinato = 1,3000
su
In alternativa.
Ciao.
Porto tutto a numeri interi per il confronto
2dev:
Hai ragione - questo è un problema fondamentale, è pericoloso confrontare i numeri in virgola mobile.
In luoghi importanti, portate sempre i numeri ad una certa precisione tramite Normalize().
Standardizzare sul tipo double (8 byte).
A proposito, forziamo la normalizzazione di tutti i prezzi passati nelle query commerciali per evitare errori.
Potete inviare una richiesta di stop loss come 1,2932461, ma sarà impostato come 1,2932.
Si prega di controllare se questo è l'errore nel cercare di reimpostare lo stop allo stesso prezzo?
3 persone stavano guardando =)) Renat è venuto e ha appena puntato il dito sull'errore =))
Controllerò ora, naturalmente, ma molto probabilmente questo è il caso... Non ho normalizzato "bid - TrailingStop * point", e questa stessa costruzione è coinvolta nella modifica dell'ordine...
non siamo attenti, signori ;)
Intendi il Normalize() che ha suggerito Begun?
Intendi il Normalize() che ha suggerito Begun?
Scusa, intendevo il NormalizeDouble standard.