[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate. Non posso andare da nessuna parte senza di te. - pagina 793
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
Non stiamo aprendo Buy at Ask price ???????
Questo è quello che ho scritto: "Gliordini di acquisto sono aperti al prezzo Ask".
Ma sul grafico si vede il prezzo Bid.
Questo è quello che ho scritto: "Gli ordini di acquisto sono aperti al prezzo Ask".
Ma sul grafico si vede il prezzo Bid.
Non stiamo aprendo un Buy su Ask ??????? E non può esserci uno spread di 60 pips (se lo prendi dopo il gap), e se lo prendi prima ... allora lo spread sull'EUR di 325 pips equivale a ... :)
la tua foto non mostra i punti.
La tua foto non mostra i punti.
Ho sempre entrambi i prezzi sul grafico... Nelle impostazioni del terminale ho abilitato la visualizzazione di Ask`ts con F8... E corretto un po 'il post precedente circa la diffusione - non può essere.
Ma il prezzo Ask non è visibile nelle barre.
Sulla diffusione. È uno spread a cinque cifre? Se sì, spread allargato sulle notizie + slippage = sono 6 pips pieni (60 a cinque cifre) per voi
Ma il prezzo Ask non è visibile nelle barre.
Sulla diffusione. È uno spread a cinque cifre? Se sì, allora spread esteso sulle notizie + slippage = sono 6 pips pieni (60 a cinque cifre)
Se ho capito bene il tuo problema, non dovresti essere guidato dal tempo di chiusura dell'ordine. Devi partire dall'inizio della barra in cui il segnale di apertura e la posizione sono stati aperti. Quello che farei, personalmente, è il seguente:
1) creare una variabile di tipo datetime dove inserirei il valore Time[0] se l'ordine viene piazzato con successo;
2) nella funzione init(), inizializzate questa variabile con il valore "0". Preferisco un'inizializzazione esplicita, poiché è più chiara quando si rivede il codice;
3) quando appaiono le condizioni per aprire una posizione, prima di inviare la richiesta OrderSend(...), confronta il valore di questa variabile con il valore Time[0] e se non sono uguali, invia una richiesta.
4) se la posizione si apre, memorizzerei il valore di Time[0] nella stessa variabile.
Grazie per il chiarimento - ma pensi che invece di confrontare con il valore di Time[0], provare a dare questo compito prima della richiesta OrderSend(...): controllare se c'è una chiusura StopLoss-y sulla barra corrente? Allora ho bisogno di inserire la funzione duble StopLoss() che funzionerà con la variabile StopLoss che ho annunciato? O è ancora fondamentalmente NON POSSIBILE? Per me è importante che non si apra una nuova posizione sulla barra che ha preso una perdita, anche se corrisponde ai parametri dell'apertura.
extern double Stoploss =1000;
La questione è che i fattori temporali dovrebbero essere considerati per ultimi - molto spesso scivolano - o piuttosto l'interpretazione di un ordine in qualche modo risulta essere diversa (ambigua).
Ma non si può vedere il prezzo Ask nelle barre.
Sulla diffusione. È uno spread a cinque cifre? Se sì, allora lo spread si è allargato sulle notizie + lo slippage = sono 6 pips pieni (60 a cinque cifre)
Inoltre, secondo me, ci può essere un "tornante", successivamente ripulito :)), ma "salvato nella memoria" dei tempi minori, a cui non si arriva...
E la domanda sui test sulla storia:
può un Expert Advisor (uno semplice!) - ) sullo stesso periodo storico, con gli stessi parametri danno risultati completamente diversi?
L'unica cosa che ho fatto, tra queste due prove, è stato aggiornare l'archivio delle citazioni... e che potrebbe aver portato a questo risultato? - poi si scopre che tutta la storia è una stronzata!?
Qualcuno può dirmi perché MathRound() si comporta in modo strano. I valori grandi contano, quelli piccoli no...
C'è un semplice codice per aumentare i valori di alcune variabili del 10%:
I valori calcolati sono registrati. Se tutte le linee tranne la prima sono divise per 10, allora questa conta come numero 100 e non ci sono problemi:
2010.08.11 19:16:20 2009.01.02 10:34 Sergitas_v1.01 EURUSD,M5: Funzione di calcolo: SLs = 11 e TPs = 66, TStartS = 60, TStop.Sell = 20, TStopLastPosS = 60, TStop.SellLP = 25
Ciò che è segnato in verde è ciò che conta nella prima linea di codice.
Ma se metti la divisione per 100 (come dovrebbe essere)
... allora tutte le linee tranne quella superiore non contano affatto - i valori iniziali rimangono, come se non fossero stati aggiunti
dieci per cento:
2010.08.11 19:41:03 2009.01.02 10:34 Sergitas_v1.01 EURUSD,M5: Funzione di calcolo: SLs = 11 e TPs = 66, TStartS = 30, TStop.Sell = 10, TStopLastPosS = 30, TStop.SellLP = 15
Aiutami a capire cosa e dove cazzo è... :)