- Функции
- Отключение параметра
- Отключение АТ
Всем привет! Такой вопрос, как сделать чтобы допустим функция ModeT отключалась при просадке , а число можно ставить самому?
Например так:
//+------------------------------------------------------------------+ //| Test EA.mq5 | //| Copyright © 2018, Vladimir Karputov | //| http://wmua.ru/slesar/ | //+------------------------------------------------------------------+ #property copyright "Copyright © 2018, Vladimir Karputov" #property link "http://wmua.ru/slesar/" #property version "1.000" //--- #include <Trade\AccountInfo.mqh> CAccountInfo m_account; // account info wrapper //--- input parameters input double InpDrawdown=300.0; //--- bool work_is_allowed=true; //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit() { //--- work_is_allowed=true; //--- return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Expert deinitialization function | //+------------------------------------------------------------------+ void OnDeinit(const int reason) { //--- } //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick() { //--- if(m_account.Balance()-m_account.Equity()>InpDrawdown) work_is_allowed=false; else work_is_allowed=true; //--- функцию ModeT запускать можно, только если work_is_allowed=true if(work_is_allowed) { ModeT(); } //--- а вот трейлинг может работать всегда Trailing(); } //+------------------------------------------------------------------+
Здесь "просадку" я принял за "Баланс минус Средства". Вы можете подставить свою формулу.
Например так:
Здесь "просадку" я принял за "Баланс минус Средства". Вы можете подставить свою формулу.
не получилось.. не выключается переменная
не получилось.. не выключается переменная
Значит Вы применили другую формулу или у Вас ситуация наоборот: Средств больше чем Баланс.
Значит Вы применили другую формулу или у Вас ситуация наоборот: Средств больше чем Баланс.
if(DoubleToString(AccountProfit()*100*-1/ACCOUNT_BALANCE,2)>InpDrawdown)
work_is_allowed=false;
else
work_is_allowed=true;
//--- функцию ModeT запускать можно, только если work_is_allowed=true
if(work_is_allowed)
{
ModeT();
}
}
Значит Вы применили другую формулу или у Вас ситуация наоборот: Средств больше чем Баланс.
а можно сделать чтобы авто торговля отключалась?
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования