Хилп! Хилп!

 

Привет все еще на лот вопрос, я попробовал скрипт здесь, что я думал о, но стратегия тестирования он дает ошибку неправильный размер лота. Я не знаю, может исторические данные не поддерживают некоторые функции или что. Скрипт предназначен только для EURUSD. Что я делаю не так или это проблема тестера стратегий?

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:

Привет все еще на вопрос лота, я попробовал скрипт здесь, что я думал о, но стратегия тестирования он дает ошибку неправильный размер лота. Я не знаю, может исторические данные не поддерживают некоторые функции или что. Скрипт предназначен только для EURUSD. Что я делаю не так или это проблема тестера стратегий?

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

Вам не нужна помощь, она у вас уже есть(https://www.mql5.com/en/forum/140034)! И все же вы облажались!

 
Привет код, который я получил там приносит ошибку "нулевой делитель" и другой большой и не проверенный просто хочу что-то простое, как скрипт у меня есть. Можете ли вы проверить мой скрипт и сказать мне, где я ошибаюсь? Если баланс составляет $1000 и кредитное плечо 1:100, я хочу, чтобы он торговал 0.1 лотом, просто так просто, но это доставляет головную боль. Как только я вычисляю (10/100)*AccountBalance(), чтобы получить $100, как мне привести его к 0.1 для OrderSend. Также мне не нужен скрипт, который управляет стоп-лоссом за меня, только лотами.
 
jameslarry:
Привет, код, который я получил, приводит к ошибке "zero divide", а другой код большой и непроверенный.
Так проверь его... Ты хочешь, чтобы другие люди написали твой код за тебя и тоже его проверили?
 
Да, я просто спрашиваю, что я делаю неправильно в своем коде. Я также тестирую код, который onewitch дал мне , но он, кажется, делает что-то с SL, чего я не хочу, чтобы скрипт делал.
 
jameslarry:
Да, я просто спрашиваю, что я делаю неправильно в своем коде. Я также тестирую код, но он, кажется, делает что-то с SL, чего я не хочу, чтобы скрипт делал.
В какой момент убыточной сделки вы хотите испытать выбранный вами максимальный убыток?
 
Прочитайте эту тему:https://www.mql5.com/en/forum/134659
 
Привет, я тоже пробовал это, но это дало ту же ошибку, что и выше, возможно AccountBalance() и AccountFreeMargin() не работают в тестере стратегий, вот код, потому что я начинаю с баланса $3000 в тесте, но он продолжает выдавать ошибку 4051 invalid lot amount. И если можно спросить, если у меня $3000, то значение AccountBalance() будет 3000 или что-то другое. Извините, если отвлекаю.
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:
Привет, я тоже пробовал это, но это дало ту же ошибку, как выше, возможно AccountBalance() и AccountFreeMargin() не работают в тестере стратегий вот код, потому что я начинаю с баланса $3000 в тесте, но он продолжает давать ошибку 4051 недействительное количество лотов. И если можно спросить, если у меня $3000, то значение AccountBalance() будет 3000 или что-то другое. Извините, если отвлекаю.

О, Боже,

Вы получаете эту ошибку, потому что ... вы не рассчитали стоимость открытия этого количества лота. Прочитайте другие ваши темы https://www.mql5.com/en/forum/140034 и https://www.mql5.com/en/forum/140034/page2#649957.

 
как мне исправить это и что возвращает AccountBalance() это его значение в $ или других единицах.
 
jameslarry:
как мне исправить это и что возвращает AccountBalance() это его значение в $ или других единицах.

Он возвращается в валюте вашего счета. Я дал вам вложение здесьhttps://www.mql5.com/en/forum/140034

Как исправить это, используя правильное вычисление лота, как здесь https://www.mql5.com/en/forum/140034.

Причина обращения: