sei sicuro che x sia un numero naturale o 0? se high_i = ad esempio 6, allora x = -1, e high[-1] è già un problema. forse aggiungere un controllo nella linea 173 se (x < 0) continua;
danik: sei sicuro che x sia un numero naturale o 0? se high_i = ad esempio 6, allora x = -1, e high[-1] è già un problema. forse aggiungere un controllo nella linea 173 if (x < 0) continue;
Per tre barre un tale "controllo" è stato fatto:
for(j=i+3;j<=i+m;j++)
Per gli altri valori bisogna cambiarli dappertutto. Potresti iniziare con questo, e poi vedere se questo risolve il problema o se c'è qualcos'altro che deve essere sistemato.
Salve, potreste consigliarmi, c'è una funzione per chiudere gli ordini, ma gli ordini non vengono chiusi per qualche motivo, non riesco a capire cosa c'è di sbagliato
void CloseOrders(int otype)
{
int ClosePrice;
if (otype == OP_BUY) ClosePrice=Bid;
if (otype == OP_SELL) ClosePrice=Ask;
int total = OrdersTotal();
for(int i = total-1; i >= 0; i--)
{
if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{
if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic && OrderType() == otype)
OrderClose(OrderTicket(),OrderLots(),ClosePrice,Slippage,Yellow);
}
}
lufer: Ciao, potresti consigliarmi, c'è una funzione per chiudere gli ordini, ma gli ordini non vengono chiusi per qualche motivo, non riesco a capire cosa c'è di sbagliato
Aiutami a trovare un bug nel codice, sembra che stia disegnando due linee basate sui dati dell'indicatore MACD ZeroLag per EUR\USD e GBP\USD, ma non succede nulla. Ecco il codice
ASZmyrov: Per favore, aiutatemi a trovare un bug nel codice, sembra che ZeroLag MACD dovrebbe disegnare due linee con i dati degli indicatori EUR\USD e GBPUSD, ma non succede niente. Ecco il codice
Si dice che IndicatorCounted() non funziona, anche il ricalcolo degli indicatori è più corretto per contare dal passato al presente, e ci sono alcuni altri errori nel codice.
P.S. Lo stesso ZeroLag MACD dovrebbe essere "regolato" per la nuova macchina virtuale.
Ciao, potresti darmi un suggerimento?
Cercando il massimo uguale al massimo della prima barra nella storia, memorizzo l'indice della barra trovata nella variabile High_i
Iofaccio così:
Ora, controllo se i massimi prima e dopo le tre barre devono essere inferiori al massimo della prima barra.
Devo includere questo nel ciclo:
Da un lato cerco di controllare così
Per favore, aiutatemi.
Ora, controllando, l'hai delle tre barre prima e dopo dovrebbe essere inferiore all'hai della barra trovata.
Probabilmente così:
Grazie, funziona.
Ma dopo aver aumentato il numero di barre, così:
si alza.
arrayfuori range in 'ta_v1_05.mq4' (174,11)linea 174, questa:
per favore ditemi come risolvere il problema.
danik: sei sicuro che x sia un numero naturale o 0? se high_i = ad esempio 6, allora x = -1, e high[-1] è già un problema. forse aggiungere un controllo nella linea 173 if (x < 0) continue;
Per gli altri valori bisogna cambiarli dappertutto.
Potresti iniziare con questo, e poi vedere se questo risolve il problema o se c'è qualcos'altro che deve essere sistemato.
Ciao, potresti consigliarmi, c'è una funzione per chiudere gli ordini, ma gli ordini non vengono chiusi per qualche motivo, non riesco a capire cosa c'è di sbagliato
Il prezzo non può essere int!
int ClosePrice;Il prezzo non può essere int!
Per favore, aiutatemi a trovare un bug nel codice, sembra che ZeroLag MACD dovrebbe disegnare due linee con i dati degli indicatori EUR\USD e GBPUSD, ma non succede niente. Ecco il codice
Si dice che IndicatorCounted() non funziona, anche il ricalcolo degli indicatori è più corretto per contare dal passato al presente, e ci sono alcuni altri errori nel codice.
P.S. Lo stesso ZeroLag MACD dovrebbe essere "regolato" per la nuova macchina virtuale.