Скачать MetaTrader 5

Отключение функции

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Almamojet
52
Almamojet  
Всем привет! Такой вопрос, как сделать чтобы допустим функция ModeT отключалась при просадке , а число можно ставить самому?
Vladimir Karputov
Модератор
107987
Vladimir Karputov  
Almamojet:
Всем привет! Такой вопрос, как сделать чтобы допустим функция 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();
  }
//+------------------------------------------------------------------+


Здесь "просадку" я принял за "Баланс минус Средства". Вы можете подставить свою формулу.

Almamojet
52
Almamojet  
Vladimir Karputov:

Например так:


Здесь "просадку" я принял за "Баланс минус Средства". Вы можете подставить свою формулу.

не получилось.. не выключается переменная 

Vladimir Karputov
Модератор
107987
Vladimir Karputov  
Almamojet:

не получилось.. не выключается переменная 

Значит Вы применили другую формулу или у Вас ситуация наоборот: Средств больше чем Баланс.

Almamojet
52
Almamojet  
Vladimir Karputov:

Значит Вы применили другую формулу или у Вас ситуация наоборот: Средств больше чем Баланс.

   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();

     }

  }


Almamojet
52
Almamojet  
Vladimir Karputov:

Значит Вы применили другую формулу или у Вас ситуация наоборот: Средств больше чем Баланс.

а можно сделать чтобы авто торговля отключалась?

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий