Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 456
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
Sì, giusto =D )))) Già allegato.)))
Tutti questi parametri devono essere elencati dopo la virgola in iCustom() dopo il nome dell'indicatore, e dopo di loro altri due parametri: numero di buffer e numero di barra, da cui vengono presi i dati. Cioè
iCustom(Symbol(), Period(), "_MTF_ADX3", 0, 500, 6, 6, 8, 14, 6, 6, 2, true, false, buffer_number, bar_number).
Tutti i valori elencati possono essere impostati da variabili esterne dell'EA e i nomi di queste variabili possono essere scritti in iCustom() invece dei valori hardcoded.
Può dirmi perché:
doppio d = 0,07;
d = NormalizeDouble(d,2);
in entrambi i casi d== 0,07000000000000001
come faccio a lasciare 2 cifre decimali?
Può dirmi perché:
doppio d = 0,07;
d = NormalizeDouble(d,2);
in entrambi i casi d== 0,07000000000000001
come lasciare 2 cifre decimali?
Si noti che quando si emette su Journal usando Print(), un numero normalizzato può contenere un numero di cifre decimali maggiore di quanto ci si aspetti. Per esempio,
verrà emesso nel terminale:
Cioè, per la stampa l'output di valori extra non è un problema.
Si noti che il numero normalizzato quando viene emesso nel registro usando Print() può contenere più cifre decimali di quanto ci si aspetti. Per esempio,
verrà emesso nel terminale:
Quindi, per la stampa, l'emissione di valori extra non è un problema.
Grazie, è solo che quando provo ad aprire una posizione con lotto 0,07 dà un errore (pensavo che fosse quello il problema), deve essere qualcos'altro, lo approfondirò.
buona sera
Ho dichiarato un array dinamico
doppio all_order[][10];
Ho ridefinito in OnInit
ArrayResize(all_order, 20);
Inserisco i dati nella funzione
void OR_spisok(double a0, double a1, double a2, double a3, double a4, double a5)
{
int a10=int(a0);
all_order[a10][0]=a0;
all_order[a10][1]=a1;
all_order[a10][2]=a2;
all_order[a10][3]=a3;
all_order[a10][4]=a4;
all_order[a10][5]=a5;
}
tre linee funzionano bene, su 4 si blocca
2015.10.09 20:13:47.908 3102 EURUSD,H1: array fuori range in '3102.mq4' (393,10)
393,10 è:
all_order[a10][0]=a0;
cosa c'è che non va?
Rimossa la linea#property strict
Lo script funziona, posso continuare senza questa linea?
buona sera
ha dichiarato un array dinamico
Rimossa la linea#property strict
Lo script funziona, posso continuare senza questa linea?
Tutti questi parametri devono essere elencati dopo la virgola in iCustom() dopo il nome dell'indicatore, e dopo di loro altri due parametri: numero di buffer e numero di barra, da cui vengono presi i dati. Cioè
iCustom(Symbol(), Period(), "_MTF_ADX3", 0, 500, 6, 6, 8, 14, 6, 6, 2, true, false, buffer_number, bar_number).
Tutti i valori elencati possono essere impostati da variabili EA esterne e scrivere i nomi di queste variabili a iCustom() invece di valori hardcoded.
Grazie per la risposta. Ma il fatto è che ho fatto così all'inizio, ma quando ho ottenuto valori sbagliati, ho deciso di rimuovere i parametri da iCustom in modo che l'EA usasse i parametri standard dell'indicatore. Tuttavia, in entrambi i casi, l'Expert Advisor riceve valori sbagliati. Per esempio, Alert dà 30.32362 per la linea blu, ma quando guardo il grafico dell'indicatore ha 22.3320 nello stesso posto. E lo stesso vale per le altre linee.
Mostrami il codice dove prendi i dati dall'indicatore.
Il codice era grande. Ma per scoprire qual è il problema, l'Expert Advisor non funziona secondo le regole, ho tagliato questa parte in una separata e ho iniziato a testarla.
double Ind_Blue=iCustom(NULL, 0, "_MTF_ADX3",1,0);
double Ind_Red=iCustom(NULL, 0, "_MTF_ADX3",2,0);
Alert(" Ind_Blue= " , Ind_Blue , " Ind_Red= " , Ind_Red);
Allego anche il file Expert Advisor. Non voglio farti perdere tempo, ma non riesco a trovare il problema.
E c'è un indicatore simile con lo stesso problema (Adx mtf). Ho un file mq4 per questo. Ma non sembra esserci alcun problema nel codice.