Скачать MetaTrader 5

Помогите с сеточником.

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Anton Nikiforov
229
Anton Nikiforov 2016.09.16 14:44 

Здравствуйте. Нужно вписать в сеточник функцию, чтобы при просадке 1% от депо закрывал все ордера и открывал все сети снова, с задержкой. 
С возможностью изменения процента просадки. Сам я только учусь, не могу ни где инфы нарыть, как это сделать. 

-Aleks-
7060
-Aleks- 2016.09.16 17:46  

Попробуйте так

 

double Procent=1;

bool ProsadkaStop=true;


//Закрытие всех ордеров при достижении заданной просадки

   if(ProsadkaStop==true)

     {

      double ProfitNow=AccountInfoDouble(ACCOUNT_PROFIT);

      double BalansNew=AccountInfoDouble(ACCOUNT_BALANCE);

      if((BalansNew+ProfitNow)/BalansNew*100<=100-Procent)

        {

         Print("Закрытие ордеров");

        }

     } 

Anton Nikiforov
229
Anton Nikiforov 2016.09.16 19:36  
-Aleks-:

Попробуйте так

 

double Procent=1;

bool ProsadkaStop=true;


//Закрытие всех ордеров при достижении заданной просадки

   if(ProsadkaStop==true)

     {

      double ProfitNow=AccountInfoDouble(ACCOUNT_PROFIT);

      double BalansNew=AccountInfoDouble(ACCOUNT_BALANCE);

      if((BalansNew+ProfitNow)/BalansNew*100<=100-Procent)

        {

         Print("Закрытие ордеров");

        }

     } 

'if' - expressions are not allowed on a global scope 
Строчка: if (ProsadkaStop==true)
никак понять не могу, м.б. я косячу где то... (вероятнее всего) 

Alexander Bereznyak
21825
Alexander Bereznyak 2016.09.16 20:44  
Anton Nikiforov:
'if' - expressions are not allowed on a global scope 
Строчка: if (ProsadkaStop==true)
никак понять не могу, м.б. я косячу где то... (вероятнее всего) 

это значит, часть операторов оказались за глобальными скобками, правильно вставьте предложенный код
-Aleks-
7060
-Aleks- 2016.09.16 22:59  
Anton Nikiforov:
'if' - expressions are not allowed on a global scope 
Строчка: if (ProsadkaStop==true)
никак понять не могу, м.б. я косячу где то... (вероятнее всего) 

Вставьте код сразу после

   ArrayInitialize(ss,0); 

Anton Nikiforov
229
Anton Nikiforov 2016.09.17 00:12  
Что то ничего не изменилось, как держал убыточные позиции, так и держит((( 
-Aleks-
7060
-Aleks- 2016.09.17 00:17  
Anton Nikiforov:
Что то ничего не изменилось, как держал убыточные позиции, так и держит((( 

Понимаете в чём дело - я дал алгоритм, как идентифицировать просадку в заданном размере, а что делать в этот момент - решать Вам - сейчас просто выводится текстовое сообщение в лог "Закрытие ордеров". Поставьте перед принтом свои функции по закрытию.

Anton Nikiforov
229
Anton Nikiforov 2016.09.17 00:31  
-Aleks-:

Понимаете в чём дело - я дал алгоритм, как идентифицировать просадку в заданном размере, а что делать в этот момент - решать Вам - сейчас просто выводится текстовое сообщение в лог "Закрытие ордеров". Поставьте перед принтом свои функции по закрытию.

Я вас понял, спасибо большое! 
-Aleks-
7060
-Aleks- 2016.09.17 00:40  
Anton Nikiforov:
Я вас понял, спасибо большое! 

Пожалуйста.

Только в сеточнике абсурдно использовать выход по просадке - поработайте с фильтрами, что б не достигать этой просадки...

Yousufkhodja Sultonov
4219
Yousufkhodja Sultonov 2016.09.17 09:32  
-Aleks-:

Пожалуйста.

Только в сеточнике абсурдно использовать выход по просадке - поработайте с фильтрами, что б не достигать этой просадки...

Думаю, без просадки нет и прибыли. Просадка должна быть соизмерима ожидаемой прибыли, если Вы не создали грааль, которой нет.
-Aleks-
7060
-Aleks- 2016.09.17 10:35  
.Yousufkhodja Sultonov:
Думаю, без просадки нет и прибыли. Просадка должна быть соизмерима ожидаемой прибыли, если Вы не создали грааль, которой нет.
Я говорю лишь о том, что каждый новый ордер всетке приближает к прибыли, но и к убытку из-за нехватки депозита, поэтому логичней в сетке пропустить часть первоначальных сигналов на вход, что б хватило депозита дождаться прибыльный ордер.
12
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий