Ciao ancora sulla questione del lotto, ho provato uno script qui che ho pensato, ma il test della strategia dà un errore di dimensione del lotto sbagliato. Non so se i dati storici non supportano alcune funzioni o cosa. Lo script è solo per EURUSD. Cosa sto facendo di sbagliato o è un problema di strategy tester?
extern int LotPercentage=10; // use 10% of balance as lot size double LotInBalance=(LotPercentage/100)*AccountBalance(); // find the amount that is 10% of balance lets assume its $1000 double LotUnits=LotBalance*AccountLeverage(); // multiply this 10% balance($100) by leverage to get lot units double lots=NormalizeDouble((LotUnits/100000),2); // expected to return 0.1 /* divide this lot units by 100,000(standard lot size units) and normalize to 2 decimal places to get something like 0.1 if account balance is say $1000*/
Non hai bisogno di aiuto, ne hai già uno(https://www.mql5.com/en/forum/140034)! Eppure ti sbagli!
Ciao il codice che ho ottenuto porta un errore "zero divide" e l'altro è grande e non testato
Sì, sto solo chiedendo cosa sto facendo di sbagliato nel mio codice. Sto anche testando il codice ma sembra fare qualcosa con SL che non voglio che lo script faccia
double Balance=AccountBalance(); if(Balance<=500){lots=0.1;} if(Balance<1500&&Balance>1000){lots=0.3;} if(Balance<2500&&Balance>2000){lots=0.5;} if(Balance<3500&&Balance>3000){lots=0.7;} if(Balance<4500&&Balance>4000){lots=0.9;} if(Balance<5500&&Balance>5000){lots=1.1;} if(Balance<6500&&Balance>6000){lots=1.3;} if(Balance<7500&&Balance>7000){lots=1.5;} if(Balance<8500&&Balance>8000){lots=1.7;} if(Balance<9500&&Balance>9000){lots=1.9;} if(Balance>10000){lots=2;}
Ciao ho anche provato questo ma ha dato lo stesso errore di cui sopra forse AccountBalance() e AccountFreeMargin() non funzionano su strategy tester ecco il codice perché sto iniziando con un saldo di $3000 nel test ma continua a dare l' errore 4051 quantità di lotti non valida. E se posso chiedere se ho $3000 il valore di AccountBalance() sarebbe 3000 o qualcos'altro. Mi dispiace se sto disturbando.
Oh, cielo,
Si ottiene quell'errore, perché ... non hai calcolato il costo per aprire quella quantità di lotto. Leggi il tuo altro thread https://www.mql5.com/en/forum/140034 e https://www.mql5.com/en/forum/140034/page2#649957
come posso correggerlo e cosa restituisce AccountBalance() è il suo valore in $ o altre unità.
Ritorna nella valuta del tuo account. Ti ho dato l'allegato quihttps://www.mql5.com/en/forum/140034
Come si fa a correggerlo usando il calcolo del lotto correttamente come questo https://www.mql5.com/en/forum/140034
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Accetti la politica del sito e le condizioni d’uso
Ciao ancora sul problema del lotto, ho provato uno script qui che ho pensato, ma il test della strategia dà un errore di dimensione del lotto sbagliato. Non so se i dati storici non supportano alcune funzioni o cosa. Lo script è solo per EURUSD. Cosa sto facendo di sbagliato o è un problema di strategy tester?