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
Nel mio caso era "<=", ma i valori Stochastic cambiano molto fortemente anche ad ogni tick - ci sono quattro posti decimali in più, cioè in un tick i valori possono cambiare da (per esempio) 75.0003 a 74.0900.
Quindi, il segno "=" può essere omesso senza alcun timore. Ma naturalmente, per non pensare - penso che lo farò.
Prova ad aggiungere Print prima di OrderClose e vedi se appare il segnale di chiusura.
Fatto. Aggiunto. No, .....! L'avviso di chiusura non appare nel registro.
Non capisco! Ho messo questo blocco in un altro EA. E un terzo. ... . Ma la situazione non è cambiata! Le posizioni non sono chiuse. Anche se raramente, raramente (una o due volte sulla storia = 1 anno) e lampeggia un triangolo verde vicino sul grafico visivo. Ma non dovrebbe essere così! Le posizioni, a giudicare dal codice, dovrebbero chiudersi come la navetta di una macchina da cucire!
Indicatore NOnLagMA nel download
Forse questo blocco non dovrebbe funzionare? Dopo tutto, abbiamo degli stop nel codice quando apriamo: - stoploss e takeprofit. E forse tutte le altre condizioni di chiusura sono ignorate per questo motivo?
ticket=OrderSend(Symbol(),0,Lots,Ask,Slippage,Bid-SL_long*Point,Ask+TP_long*Point, NULL,MagicNum, 0,CLR_NONE);
Dovrete occuparvene in qualche altro modo.
Non capisco niente!
Dovresti essere più attento).
Ecco la funzione start() della variante di test (senza SL e TP, con messaggi corretti e senza slittamenti inutili):
Ma non userei questo EA su un conto reale se fossi in te. Dovrebbe essere messo in ordine, o in "prontezza", se volete ;)
Sì, certo. Grazie per il vostro aiuto! Capisco il tuo commento sul mio errore.
E ho preso nota delle vostre raccomandazioni. C'è ancora molta strada da fare prima del vero commercio...
p.s/ Tutto funziona .... ! E come ha funzionato!
Non ho guardato il codice.
Ma una cosa è certa: invece di "if(Stochast_1>75 && Stochast_0<75)" farei "if(Stochast_1>75 && Stochast_0<=75)".
Un modo migliore sarebbe: if(Stochast_1-75.0>0 && Stochast_0-75.0<=0) per evitare conversioni inutili dei tipi int e double.
E come evitare int e double non necessari. ? Non riesco a capirlo. Inoltre, al posto dei numeri possiamo usare parametri esterni extern int Up_lim = 80; extern int Low_lim = 20;
In primo luogo, non è corretto confrontare Stochast_ reale e 75 intero, e in secondo luogo, è più corretto confrontare la loro differenza con zero.
'Confronto tra numeri reali'.