Список форумов AmiSite.ru AmiSite.ru
Форум по Ами
 FAQ  •  Поиск  •  Пользователи  •  Группы   •  Регистрация  •  Профиль  •  Войти и проверить личные сообщения  •  Вход
 Разные выходы в зависимости от условия входа Следующая тема
Предыдущая тема
Начать новую тему  Ответить на тему
Автор Сообщение
AntColonel



Зарегистрирован: 03.05.2011
Сообщения: 213
Откуда: Новосибирск

СообщениеДобавлено: Вс Апр 09, 2017 6:28 am Ответить с цитатой Вернуться к началу

Допустим у нас следующая конструкция:

Код:

//условия входа
b1 = ...
b2 = ...
b3 = ...

c1 = ...
c2 = ...
c3 = ...

//определение сигналов
buy1 = b1 OR b1 OR b3;
short1 = c1 OR c2 OR c3;
sell1 = [b]?????[/b]
cover1 = [b]?????[/b]

//формирование сигнала для робота
buy = Ref(buy1, -1);
short = Ref(short1, -1);
sell = Ref(sell1, -1);
cover = Ref(cover1, -1);


Теперь задача.
Если мы вошли по b1, то условия выхода из лонга у нас должны быть se1, при входе по b2 - выход по se2, и т.д.
Т.е. прописать просто sell1 = se1 OR se2... мы не можем. Если у нас вход по b2, то при наступлении условия se1, система не должна выходить. Только по se2.

Возможно ли так сделать.
Если да, то помогите все это прописать.
Посмотреть профиль Отправить личное сообщение
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 9106

СообщениеДобавлено: Вс Апр 09, 2017 1:33 pm Ответить с цитатой Вернуться к началу

Ну например типа так
Код:

//условия входа
b1 = ...
b2 = ...
b3 = ...

ch1 = ...
ch2 = ...
ch3 = ...

S1 = ...
s2 = ...
s3 = ...

c1 = ...
c2 = ...
c3 = ...

//определение сигналов
buy1 = short1 = sell1 = cover1 = 0;
pos = 0;
for(i = 1; i<BarCount; i++)
{
   if(pos == 0)
   {
      if(b1[i] == 1)
      {
         pos = 1;
         Buy1[i] = 1;
      }
      else if(b2 == 1)
      {
         pos = 2;
         Buy1[i] = 1;
      }
      else if(b3 == 1)
      {
         pos = 3;
         Buy1[i] = 1;
      }
      else if(b4 == 1)
      {
         pos = 4;
         Buy1[i] = 1;
      }
      else if(sh1[i] == 1)
      {
         pos = -1;
         Short1[i] = 1;
      }
      else if(sh2 == 1)
      {
         pos = -2;
         Short1[i] = 1;
      }
      else if(sh3 == 1)
      {
         pos = -3;
         Short1[i] = 1;
      }
      else if(sh4 == 1)
      {
         pos = -4;
         Short1[i] = 1;
      }
   }
   
   else if(pos == 1)
   {
      if(s1[i] == 1)
      {
         pos = 0;
         Sell1[i] = 1;
      }
   }
   else if(pos == 2)
   {
      if(s2[i] == 1)
      {
         pos = 0;
         Sell1[i] = 1;
      }
   }
   .....
   else if(pos == -1)
   {
      if(c1[i] == 1)
      {
         pos = 0;
         Cover1[i] = 1;
      }
   }
   else if(pos == -2)
   {
      if(c2[i] == 1)
      {
         pos = 0;
         Cover1[i] = 1;
      }
   }
   ...
   
}

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Показать сообщения:      
Начать новую тему  Ответить на тему


 Перейти:   



Следующая тема
Предыдущая тема
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете вкладывать файлы
Вы не можете скачивать файлы


Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme :: Часовой пояс: GMT + 3

File Attachment © by Meik Sievertsen