Heeeelp! heeeelp!

 

Hallo noch auf das Los Problem, ive versucht ein Skript hier, dass ich dachte, aber Strategie testen es gibt einen Fehler falsche Losgröße. Ich weiß nicht, wether Geschichte Daten nicht unterstützt einige Funktionen oder was. Das Skript ist für EURUSD nur. Was mache ich falsch oder ist es ein Strategie-Tester Problem?

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 for use in ordersend()*/

 
jameslarry:

Hallo, ich habe ein Skript ausprobiert, das ich mir ausgedacht habe, aber beim Testen der Strategie gibt es eine Fehlermeldung, dass die Losgröße falsch ist. Ich weiß nicht, ob Geschichte Daten nicht unterstützt einige Funktionen oder was. Das Skript ist für EURUSD nur. Was mache ich falsch oder ist es ein Strategie-Tester Problem?

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*/

Du brauchst keine Hilfe, du hast schon eine(https://www.mql5.com/en/forum/140034)!. Dennoch vermasseln Sie es!

 
Hallo, der Code, den ich dort habe, bringt einen "Null-Division"-Fehler und der andere ist groß und ungetestet, ich will nur etwas Einfaches wie das Skript, das ich habe. Können Sie mein Skript überprüfen und mir sagen, wo im falsch gehen? Wenn der Kontostand $1000 und der Hebel 1:100 ist, möchte ich, dass mit 0,1 Lot gehandelt wird, so einfach ist das, aber es bereitet mir Kopfschmerzen. Sobald ich (10/100)*AccountBalance() berechnen, um $100 zu erhalten, wie bekomme ich es zu 0,1 für OrderSend sake. Auch ich will nicht ein Skript, das Stop Loss für mich verwaltet nur die Lose Teil.
 
jameslarry:
Hallo, der Code, den ich dort habe, bringt einen "Zero Divide"-Fehler und der andere ist groß und ungetestet
Also teste es ... willst du, dass andere Leute deinen Code für dich schreiben und ihn auch testen?
 
Ja, ich frage nur, was ich in meinem Code falsch mache. Ich teste auch den Code, den onewitch mir gegeben hat , aber es scheint etwas mit SL zu machen, was ich nicht will, dass das Skript macht
 
jameslarry:
Ja, ich frage nur, was ich in meinem Code falsch mache. Ich teste auch den Code, aber es scheint etwas mit SL zu tun, die ich nicht will, dass das Skript zu tun
An welchem Punkt in einem verlustreichen Handel möchten Sie Ihren gewählten maximalen Verlust erleben?
 
Lesen Sie dieses Thema:https://www.mql5.com/en/forum/134659
 
Hallo ich habe auch versucht, aber es gab den gleichen Fehler wie oben vielleicht AccountBalance() und AccountFreeMargin() nicht auf Strategie-Tester hier ist der Code, weil im beginnend mit einem Saldo von $3000 in den Test, aber es hält geben Fehler 4051 ungültige Lose Menge. Und wenn ich fragen darf, wenn ich $3000 hätte, würde der Wert von AccountBalance() 3000 oder etwas anderes sein. Sorry, wenn im bugging.
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;}
 
jameslarry:
Hallo ich habe auch versucht, aber es gab den gleichen Fehler wie oben vielleicht AccountBalance() und AccountFreeMargin() nicht auf Strategie-Tester hier ist der Code, weil im ab mit einem Saldo von $3000 in den Test, aber es hält geben Fehler 4051 ungültige Lose Menge. Und wenn ich fragen darf, wenn ich $3000 hätte, würde der Wert von AccountBalance() 3000 oder etwas anderes sein. Sorry, wenn im bugging.

Oh je,

Sie erhalten diese Fehlermeldung, weil ... Sie die Kosten für die Eröffnung dieser Menge an Partien nicht berechnet haben. Lesen Sie Ihren anderen Thread https://www.mql5.com/en/forum/140034 und https://www.mql5.com/en/forum/140034/page2#649957

 
Wie kann ich das korrigieren und was gibt AccountBalance() zurück, ist es der Wert in $ oder anderen Einheiten.
 
jameslarry:
Wie kann ich es korrigieren und was gibt AccountBalance() zurück, ist es der Wert in $ oder anderen Einheiten.

Es wird in Ihrer Kontowährung zurückgegeben. Ich habe Ihnen den Anhang hier gegebenhttps://www.mql5.com/en/forum/140034

Wie korrigieren Sie die Lot-Berechnung richtig, wie hier https://www.mql5.com/en/forum/140034

Grund der Beschwerde: