Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 973

 
Sprut112:
Можно ли использовать этот вариант расчета лота в процентах, естественно заменив MarketInfo?
Она удобно тем,что учитывает символ на котором вычисляется, ибо лот eurusd и лот eurnzd это две большие разницы.Хотел узнать как это написать для мт5 и можно ли
OP_LOTS =NormalizeDouble(AccountInfoDouble(ACCOUNT_BALANCE)* _LosPercent / 100 /SymbolInfoDouble(Symbol(),SYMBOL_TRADE_TICK_VALUE)/(pp),dg);

если хочешь в зависимости от инструмента то замени Symbol()

на строковую переменную в которой будет нужный символ инструмента...

по твоему коду это 

symbol_name[ii]


 
xxz:

если хочешь в зависимости от инструмента то замени Symbol()

на строковую переменную в которой будет нужный символ инструмента...

по твоему коду это 


Да, спасибо, очень похоже. Для моей стратегии важно чтобы вес валют совпадал
 
У меня проблема с перезагрузкой компьютера на Windows 8. Работают терминалы. Раз в сутки я перезагружаю компьютер через планировщик заданий командой shutdown.exe -r -t 10 -f . Через автозагрузку терминалы запускаются, но к сожалению запущенные в терминалах советники  (  до перезагрузки ) запускаются , но не со 100 % вероятностью . Подскажите, как закрыть несколько терминалов и перезагрузиться,  так чтобы советники  всегда загружались ?
 
pivomoe:
У меня проблема с перезагрузкой компьютера на Windows 8. Работают терминалы. Раз в сутки я перезагружаю компьютер через планировщик заданий командой shutdown.exe -r -t 10 -f . Через автозагрузку терминалы запускаются, но к сожалению запущенные в терминалах советники  (  до перезагрузки ) запускаются , но не со 100 % вероятностью . Подскажите, как закрыть несколько терминалов и перезагрузиться,  так чтобы советники  всегда загружались ?

Исправьте блоки инициализации в советниках (OnInit() ).

 

Добрый день. Помогите найти советник, чтоб давал сигналы на почту при пересечении уровня на основе стохастика. Сам в программировании ноль. Заранее спасибо!!!

 
xxz:

если хочешь в зависимости от инструмента то замени Symbol()

на строковую переменную в которой будет нужный символ инструмента...

по твоему коду это 


Здесь мне кажется считает , что минимальный лот 0.1, а надо 0.01. Может во второй строке dg=2 надо?

 if(SymbolInfoDouble(Symb,SYMBOL_VOLUME_STEP)<0.1) dg=2; else
      if(SymbolInfoDouble(Symb,SYMBOL_VOLUME_STEP)<1.0) dg=1;
   
 
JimmyJonce:

Добрый день. Помогите найти советник, чтоб давал сигналы на почту при пересечении уровня на основе стохастика. Сам в программировании ноль. Заранее спасибо!!!

Ищите по КодоБазе по словам "Стохастик" или "Stochastic".

 
Sprut112:

Здесь мне кажется считает , что минимальный лот 0.1, а надо 0.01. Может во второй строке dg=2 надо?

не надо ничего сравнивать, просто найди Step, и пользуйся им, и желательно в OnInit() он один для конкретного счёта, как правило от пары к паре не меняется...

double Step=SymbolInfoDouble(Symbol(),SYMBOL_VOLUME_STEP);
 
xxz:

не надо ничего сравнивать, просто найди Step, и пользуйся им, и желательно в OnInit() он один для конкретного счёта, как правило от пары к паре не меняется...

А так можно?

 input_lots = NormalizeDouble(AccountInfoDouble(ACCOUNT_MARGIN_FREE)* MaximumRisk / 100 /SymbolInfoDouble(symbol_name[ir],SYMBOL_TRADE_TICK_VALUE)/1000,dg); 
 input_lots = MathRound(input_lots / SymbolInfoDouble(symbol_name[ir] , SYMBOL_VOLUME_STEP)) * SymbolInfoDouble(symbol_name[ir], SYMBOL_VOLUME_STEP);
      
 
Sprut112:

А так можно?

можно...

на мой взгляд лучше 

MathFloor
только бессмысленно...
Причина обращения: