Скачать MetaTrader 5

Закрытие по еквити

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

Здравствуйте не могу дойти кодом до решения задачи.. как не старался... МТ4

Суть проста.

1) Запомнить значение текущего еквити и прибавить к нему шаг при достижении которого  произойдет закрытие всех рыночных ордеров (ето уже реализовано функцией Close_All();)

2) После закрытия к новому значению добавить шаг для следующего уровня закрытия и так по кругу.

Спасибо 

void OnStart()
  {
  
   if(AccountEquity()>AccountEquity_next_level) Close_All();

   if(Order_count()==0)
      AccountEquity_next_level = AccountEquity() + NormalizeDouble(STEP,2);
   else
      Close_All();
  }
Alexey Viktorov
20816
Alexey Viktorov  
protr:

Здравствуйте не могу дойти кодом до решения задачи.. как не старался... МТ4

Суть проста.

1) Запомнить значение текущего еквити и прибавить к нему шаг при достижении которого  произойдет закрытие всех рыночных ордеров (ето уже реализовано функцией Close_All();)

2) После закрытия к новому значению добавить шаг для следующего уровня закрытия и так по кругу.

Спасибо 

void OnStart()
  {
  
   if(AccountEquity()>AccountEquity_next_level) Close_All();

   if(Order_count()==0)
      AccountEquity_next_level = AccountEquity() + NormalizeDouble(STEP,2);
   else
      Close_All();
  }

А попробуй перевести всё это на русский. Что получится?

Проверь так

void OnStart()
  {
  
   if(AccountEquity()>AccountEquity_next_level)
    {
      Close_All();
     AccountEquity_next_level = AccountEquity() + NormalizeDouble(STEP,2);
    }
  }
Vitaly Muzichenko
8056
Vitaly Muzichenko  
protr:

Здравствуйте не могу дойти кодом до решения задачи.. как не старался... МТ4

Суть проста.

1) Запомнить значение текущего еквити и прибавить к нему шаг при достижении которого  произойдет закрытие всех рыночных ордеров (ето уже реализовано функцией Close_All();)

2) После закрытия к новому значению добавить шаг для следующего уровня закрытия и так по кругу.

Спасибо 

void OnStart()
  {
  
   if(AccountEquity()>AccountEquity_next_level) Close_All();

   if(Order_count()==0)
      AccountEquity_next_level = AccountEquity() + NormalizeDouble(STEP,2);
   else
      Close_All();
  }
Запоминайте все в глобальную переменную, это будет в разы надежнее, и ее можно будет проще получить по всем инструментам.
protr
358
protr  

Vitaly Muzichenko:
Запоминайте все в глобальную переменную, это будет в разы надежнее, и ее можно будет проще получить по всем инструментам.

К сожалению не разобрался... если вы о GlobalVariableSet

 

Vasyl Nosal
19761
Vasyl Nosal  

Давай всё поэтапно.

1) Для начала создай советник, а не скрипт. 

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