НУЖНА ПОМОЩЬ!!! Ожидание второй части сигнала - страница 2

 
Scriptong >>:

Все еще проще. Заведите флаг - LastDir, например. Как только открыли длинную, присваивайте ему 1, короткую - 2. В init занулите флаг. При открытии очередной длинной позиции проверяйте флаг на равенство 1. Если равно, значит не открывайте вновь длинную, так как до этого уже была длинная поза. Точно также с короткой - проверяйте на равенство 2.

Флаг изменяйте только при успешном открытии позиции.

Спасибо за совет! Применил его, переделал логику и все заработало :) Получилось вот это:

   if (New_bar==1 && st1>st3 && (st1-st3)>Diff)
      if (LastDir!=1)
         {Opn_B=true;
          LastDir=1;}
   //---short signal---
   if (New_bar==1 && st1<st3 && (st3-st1)>Diff)
      if (LastDir!=2)
         {Opn_S=true;
          LastDir=2;}

Коротко и ясно