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

 

Здравствуйте не могу дойти кодом до решения задачи.. как не старался... МТ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:

Здравствуйте не могу дойти кодом до решения задачи.. как не старался... МТ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);
    }
  }
 
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();
  }
Запоминайте все в глобальную переменную, это будет в разы надежнее, и ее можно будет проще получить по всем инструментам.
 

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

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

 

 

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

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