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



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

СообщениеДобавлено: Вт Июн 05, 2012 9:32 am Ответить с цитатой Вернуться к началу

Привет всем.
Хотел бы реализовать заковыристый алгоритм.
На данный момент есть система, которая работает только внутри дня. Почти полностью реверсивная (после лонга всегда идет шорт). Но для «завершения» картинки нужно проверить одну идейку.
Алгоритм такой:
Если с начала сессии не было сделок
То
Для открытия сделки используем базовые условия Buy1 или Short1
Иначе
Если предыдущая сделка была Лонг и была закрыта по условию Sell1 (стоп-лосс), то
следующая сделка должна открыться или по условию Buy2 или по условию Short1
Если предыдущая сделка была Шорт и была закрыта по условию Cover1 (стоп-лосс), то
следующая сделка должна открыться или по условию Buy1 или по условию Short2

По большому счету имеем задачку выяснить направление предыдущей сделки, ее результат (плюс или минус) и ее номер с начала дня
Как правильнее замутить такое
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Вт Июн 05, 2012 1:19 pm Ответить с цитатой Вернуться к началу

ApplyStop() в системе используется?

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
max



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

СообщениеДобавлено: Вт Июн 05, 2012 1:44 pm Ответить с цитатой Вернуться к началу

000 писал(а):
ApplyStop() в системе используется?

нет
никоим образом
схема простая
Sell1=
sel2=
sell=sell1 or sell2
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Ср Июн 06, 2012 12:11 am Ответить с цитатой Вернуться к началу

Как то так
Код:

Buy1 = ...;
Short1 = ...;
....

pos = 0;
NewDay = Day() != Ref(Day(), -1);
flt = 0;

Buy = Sell = Short = Cover = 0;

for( i = 1; i < BarCount; i++ )
{
  if(NewDay[i])
    flt = 0;

  if(pos == 0)
  {
    if(flt == 0) // начало дня или выход не по стопу
    {
      if(Buy1[i])
      {
        Buy[i] = 1;
        pos = 1;
      }
      else if(Short1[i])
      {
        Short[i] = 1;
        pos = -1;
      }
    }
    else if(flt = 1) // выход из лонга по стопу
    {
      if(Buy2[i])
      {
        Buy[i] = 1;
        pos = 1;
      }
      else if(Short1[i])
      {
        Short[i] = 1;
        pos = -1;
      }
    }
    else if(flt = -1) // выход из шорта по стопу
    {
      if(Buy1[i])
      {
        Buy[i] = 1;
        pos = 1;
      }
      else if(Short2[i])
      {
        Short[i] = 1;
        pos = -1;
      }
    }
  }
  else if(pos == 1)
  {
    if(Sell1[i])  // стоп при лонге
    {
      Sell[i] = 1;
      pos = 0;
      flt = 1;
    }
    else if(Sell2[i])
    {
      Sell[i] = 1;
      pos = 0;
      flt = 0;
    }
  }
  else if(pos == -1)   // стоп при шорте
  {
    if(cover1[i])
    {
      Cover[i] = 1;
      pos = 0;
      flt = -1;
    }
    else if(cover2[i])
    {
      Cover[i] = 1;
      pos = 0;
      flt = 0;
    }
  }
}

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
max



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

СообщениеДобавлено: Чт Июн 07, 2012 2:09 pm Ответить с цитатой Вернуться к началу

спасибо!
получилось почти как надо
остальное я напильником Smile
Посмотреть профиль Отправить личное сообщение
Показать сообщения:      
Начать новую тему  Ответить на тему


 Перейти:   



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


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

File Attachment © by Meik Sievertsen