Dato che i tuoi Ask2 e Bid2 sono 0, perché non aggiungere questa linea dopo uno di essi?
E vedere se c'è qualche informazione utile?
Ho aggiunto questa linea che hai menzionato alla mia funzione di avvio subito dopo aver definito Ask2,Bid2 quando ho disabilitato la linea sottostante per lasciare che le candele partano e il grafico vada avanti
HosseinKOGO: Ho aggiunto questa linea che hai menzionato alla mia funzione di avvio subito dopo aver definito Ask2,Bid2 quando ho disattivato la linea sottostante per permettere alle candele di iniziare e al grafico di continuare
L'errore era 4106 che significa "simbolo sconosciuto".
Poi ho disabilitato anche la linea sottostante:
E ho ottenuto l'errore 4066 all'inizio (dati storici richiesti in stato di aggiornamento.) Poi è diventato 4106 per il resto del backtesting.
Ho il sospetto che il nome del tuo simbolo non sia solo "GBPUSD"... potrebbe avere dei caratteri extra da qualche parte... hai provato questo:
Print("Symbol Name = ", Symbol());
prima di verificare che il nome del simbolo sia solo sei lettere maiuscole?
Ho il sospetto che il nome del tuo simbolo non sia solo "GBPUSD"... potrebbe avere dei caratteri extra da qualche parte... hai provato questo:
prima di verificare che il nome del simbolo sia solo sei lettere maiuscole?
La mia funzione symbol() mostra "GBPAUD" da quando l'ho messo sul grafico GBPAUD. Nonostante stia usando un normale conto demo per il backtesting, esattamente 6 lettere maiuscole. Tuttavia ho provato questo suggerimento e ho ottenuto il risultato atteso.
Ho un avvertimento anche quando compilo il codice: "conversione enum implicita" che è lì che ho evidenziato qui sotto. Cosa significa esattamente?
#define HR2400 PERIOD_D1 * 60// 86400 = 24 * 3600int TimeOfDay(datetime when=0){ if(when == 0) when = TimeCurrent();
return( int(when % HR2400 )); }
datetime DateOfDay(datetime when=0){ if(when == 0) when = TimeCurrent();
return( when - TimeOfDay(when) ); }
#define SYMBOL string#define THIS_SYMBOL ""bool download_history(ENUM_TIMEFRAMES period=PERIOD_CURRENT){
return download_history(_Symbol, period);
}
bool download_history(
SYMBOL symbol=THIS_SYMBOL, ///< The symbol required.ENUM_TIMEFRAMES period=PERIOD_CURRENT/**< The standard timeframe.*/){
if(symbol == THIS_SYMBOL) symbol = _Symbol;
if(period == PERIOD_CURRENT) period = _Period;
datetime today = DateOfDay();
ResetLastError();
datetime other = iTime(symbol, period, 0);
if(_LastError == 0
&& today == DateOfDay(other)) returntrue;
if(_LastError != ERR_HISTORY_WILL_UPDATED
&& _LastError != ERR_NO_HISTORY_DATA
) Print(StringFormat("iTime(%s,%i) Failed: %i", symbol, period,_LastError));
returnfalse;
}
E mi sono reso conto che Ask2 e Bid2 saranno zero per i simboli che non sono nel mio market watch... ma una volta che li includo nel mio market watch, posso ottenere i loro bid e ask. Non c'è bisogno di preoccuparsi dei dati storici.
Penso di aver trovato il motivo per cui si ottengono degli zeri... Ho messo queste righe in uno script e l'ho eseguito sul mio MT4:
E mi sono reso conto che Ask2 e Bid2 saranno zero per i simboli che non sono nel mio market watch... ma una volta che li includo nel mio market watch, posso ottenere i loro bid e ask. Non c'è bisogno di preoccuparsi dei dati storici.
Ho quei simboli nella mia finestra di osservazione del mercato, in alto a sinistra del mio MT4. Ma se intendi che dovrei includerli nel mio codice, come li hai inclusi nel codice? (Se ho capito male, per favore chiariscimi, visto che non sono un professionista :D)
Ho quei simboli nella mia finestra di osservazione del mercato, nell'angolo superiore sinistro del mio MT4. Ma se intendi che dovrei includerli nel mio codice, come li hai inclusi nel codice? (Se ho capito male per favore chiariscimi visto che non sono un professionista :D)
Non codice.
Dal momento che sono già nella tua finestra di osservazione del mercato, le cose diventano più strane.
Da quale broker hai scaricato il tuo mt4? Voglio installarlo per testarlo.
In effetti non sono un codificatore, ma ho provato a codificare alcuni EA. La mia attività è associata all'inventiva e al sistema quindi ho concettualizzato 600-700 pensieri per fare EAs e li ho costruiti fino ad ora. Posso semplicemente codificare semplici EAs e non sono abituato alla vostra codifica di stato anormale...
Ho messo questi codici nel mio EA, ma restituisce solo questo errore: 2019.05.06 15:37:56.586 2018.01.02 00:00:07 MyEA! GBPAUD,H4: iTime(GBPUSD,240) Fallito: 0
Sto tentando GBPAUD come diagramma aperto e GBPUSD come seconda coppia.
Qual è il problema?
Dato che i tuoi Ask2 e Bid2 sono 0, perché non aggiungere questa linea dopo uno di essi?
E vedere se c'è qualche informazione utile?
Hai chiamato download_history per la tua "seconda coppia", secondo TF?
Hai chiamato download_history per la tua "seconda coppia", secondo TF?
Ed ecco la mia funzione di avvio:
in cui metto GBPUSD come input SecondPair e faccio questo backtest sul grafico GBPAUD.
Dato che i tuoi Ask2 e Bid2 sono 0, perché non aggiungere questa linea dopo uno di essi?
E vedere se c'è qualche informazione utile?
L'errore era 4106 che significa "simbolo sconosciuto".
Allora ho disabilitato anche la linea sottostante:
download_history(SecondPair,PERIOD_H4);E ho ottenuto l'errore 4066 all'inizio (dati storici richiesti in stato di aggiornamento.) Poi è diventato 4106 per il resto del backtesting.Ho aggiunto questa linea che hai menzionato alla mia funzione di avvio subito dopo aver definito Ask2,Bid2 quando ho disattivato la linea sottostante per permettere alle candele di iniziare e al grafico di continuare
L'errore era 4106 che significa "simbolo sconosciuto".
Poi ho disabilitato anche la linea sottostante:
E ho ottenuto l'errore 4066 all'inizio (dati storici richiesti in stato di aggiornamento.) Poi è diventato 4106 per il resto del backtesting.Ho il sospetto che il nome del tuo simbolo non sia solo "GBPUSD"... potrebbe avere dei caratteri extra da qualche parte... hai provato questo:
prima di verificare che il nome del simbolo sia solo sei lettere maiuscole?
Ho il sospetto che il nome del tuo simbolo non sia solo "GBPUSD"... potrebbe avere dei caratteri extra da qualche parte... hai provato questo:
prima di verificare che il nome del simbolo sia solo sei lettere maiuscole?
La mia funzione symbol() mostra "GBPAUD" da quando l'ho messo sul grafico GBPAUD.
Nonostante stia usando un normale conto demo per il backtesting, esattamente 6 lettere maiuscole. Tuttavia ho provato questo suggerimento e ho ottenuto il risultato atteso.
Ho un avvertimento anche quando compilo il codice: "conversione enum implicita" che è lì che ho evidenziato qui sotto. Cosa significa esattamente?
Penso di aver trovato il motivo per cui si ottengono degli zeri... Ho messo queste righe in uno script e l'ho eseguito sul mio MT4:
E mi sono reso conto che Ask2 e Bid2 saranno zero per i simboli che non sono nel mio market watch... ma una volta che li includo nel mio market watch, posso ottenere i loro bid e ask. Non c'è bisogno di preoccuparsi dei dati storici.
Penso di aver trovato il motivo per cui si ottengono degli zeri... Ho messo queste righe in uno script e l'ho eseguito sul mio MT4:
E mi sono reso conto che Ask2 e Bid2 saranno zero per i simboli che non sono nel mio market watch... ma una volta che li includo nel mio market watch, posso ottenere i loro bid e ask. Non c'è bisogno di preoccuparsi dei dati storici.
Ho quei simboli nella mia finestra di osservazione del mercato, in alto a sinistra del mio MT4.
Ma se intendi che dovrei includerli nel mio codice, come li hai inclusi nel codice? (Se ho capito male, per favore chiariscimi, visto che non sono un professionista :D)
Ho quei simboli nella mia finestra di osservazione del mercato, nell'angolo superiore sinistro del mio MT4.
Ma se intendi che dovrei includerli nel mio codice, come li hai inclusi nel codice? (Se ho capito male per favore chiariscimi visto che non sono un professionista :D)