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
@deysmacro: So dov'è la linea che causa la divisione per zero. È perché ho bisogno della media giornaliera degli ultimi cinque giorni. Più tardi nell'indicatore divido qualcosa per quell'ATR e finché i dati non sono aggiornati l'ATR è zero e questo è il problema. Ho bisogno di essere sicuro che i dati giornalieri di almeno gli ultimi 5 giorni siano disponibili. Solo allora l'ATR sarà >0 e l'indicatore funziona.
Metti i dati disponibili in GV e recuperali. In questo modo, quando ci sono dati in arrivo o ci sono differenze nei dati, basta aggiornare GV.
Forse ATR funziona così.
La gente ha sempre detto "Prima fallo funzionare, poi ottimizza il codice".
A volte, per farlo funzionare, le linee di codice sono molto lunghe, ma una volta che funziona, si può iniziare a tagliare il codice. :)
Forse sembra stupido, ma cos'è GV?
Naturalmente... :-)
Un'altra cosa che non riesco a spiegare: Il seguente codice è una piccola modifica del mio primo codice che ho postato. È anche un indicatore Moneymanagement ma ho rimosso l'ATR. Stampa solo i livelli di stop loss da 5 a 100 pips in step di 5 pips. Quindi, non c'è nessun calcolo dell'ATR. Quando trascini questo indicatore sul tuo grafico funziona bene. Ogni coppia, ogni timeframe. Nessun problema. Ma quando apri la MetaTrader causa un errore di divisione per zero e ancora una volta viene stampata solo "Label" invece dei livelli di stop loss.
L'errore è causato da questa linea:
Ho stampato TUTTE le variabili di questa linea e sono arrivato alla conclusione che AccountBalance() è zero e MarketInfo(Symbol(), MODE_TICKVALUE) è zero. Quindi ovviamente quando si apre la MetaTrader, nessun dato è disponibile. Questo non è mai successo nella vecchia MetaTrader. Quindi non ho idea di cosa fare...
Ecco il codice:
Potresti essere un po' più preciso? Qual è esattamente il problema (perché ha sempre funzionato..)?
Penso che ci sia ancora il problema che AccountBalance() e altri dati di cui ho bisogno da MetaTrader non sono disponibili subito dopo aver avviato la piattaforma.
Un altro esempio:
Se aprite la MetaTrader, il risultato sarà zero! E rimane zero finché non si cambia il timeframe o la coppia. Penso che questo sia esattamente il problema dell'errore di divisione per zero. Non credi anche tu?Ho stampato TUTTE le variabili di questa linea e sono arrivato alla conclusione che AccountBalance() è zero e MarketInfo(Symbol(), MODE_TICKVALUE) è zero. Quindi ovviamente quando si apre la MetaTrader, nessun dato è disponibile. Questo non è mai successo nella vecchia MetaTrader. Quindi non ho idea di cosa fare...
Ecco il codice:
Se siete sicuri che questa sia la causa del problema, aggiungete questo subito dopo Start()
Ciao GumRai,
L'ho testato con l'indicatore di cui sopra. L'AccountBalance rimane a zero anche se lascio la MetaTrader in funzione per alcuni minuti. Solo fino a quando non ho cambiato qualcosa manualmente (coppia, timeframe) l'AccountBalance corretto viene visualizzato. E se uso la tua soluzione non ho problemi con l'errore di divisione per zero ma l'indicatore non farà mai il suo lavoro perché AccountBalance rimane a zero.
Mi sto chiedendo se sono l'unica persona che ha questo problema? Penso che sia un problema generale di importazione di dati della nuova MetaTrader...