Каталог файлов форума

Список вложений в сообщениях, оставленных на этой конференции.

Все файлы форума: 1233

Добавлено: Simonov » 20 сен 2017, 13:50

Тема: Помогите допилить стратегию Alfa_AO

Текст сообщения:

Добрый день! Евгений, спасибо Вам за очень полезный форум. Недавно обратил на него внимание и считаю, что это самая адекватная площадка для общения на предмет нового терминала Альфа-Директ. К сожалению, непосредственно у разработчиков нет приличного места для обсуждений, решения проблем и консультаций. У Альфа-Директ всегда были проблемы с клиентоориентированностью и поддержкой, чего не могу сказать про банк. Альфа-Банк наоборот, радовал своим отношением и заботой, поэтому теплится надежда, что и у брокера всё наладится. Кстати, не ради красного словца, а справедливости для, надо заметить, что что-то меняется уже сейчас. Теперь можно даже дозвониться до брокера с первого раза и что самое невероятное, в ответ услышать не сонный и безразличный голос побитого жизнью менеджера, а радостное и приветливое щебетание сотрудника с хорошим настроением! :D И вопросы стали решать очень оперативно, аж не верится! Ну да ладно. Хватит лирики, осмелюсь Вас попросить о помощи или совете.

Имеется встроенная стратегия Alfa_AO. После оптимизаций и тестов появилось желания опробовать данную стратегию в боевых условиях. Но для получения максимального результата, хотелось бы внести одно изменение. Поковырялся в конструкторе, но так и не понял, как это сделать.

Я взял стоковый вариант стратегии и добавил в каждое правило (их там два всего) стопы. Далее смотрим скриншот. Необходимо сделать следующее. После входа в позицию по сигналу индикатора (1) и после срабатывания стопа (2), робот моментально перезаходит в том же направлении, что и было, повинуясь индикатору (3), а хотелось бы, чтобы он после срабатывания стопа ничего не делал, а просто выжидал нового разворотного сигнала и только тогда открывал следующую позицию (4). Вот, в принципе, и всё. Заранее благодарен за советы и рекомендации.

Alfa_AO.PNG
Alfa_AO.PNG (8.06 КБ) 13699 просмотров


Код: Выделить всё

/**
В стратегии используется индикатор AO,- Awesome Oscillator («чудесный осциллятор»), разработанный Биллом Вильямсом.
Идея:
- осуществляется контроль за направлением линии AO.
Сигналы:
- сигнал на открытие позиции ЛОНГ выдается, если индикатор AO начинает расти;
- сигнал на открытие позиции ШОРТ выдается, если индикатора AO начинает снижаться;
Параметры:
Pfast – период быстрой простой скользящей средней в АО (1ый параметр АО),
Pslow - период медленной простой скользящей средней в АО (2ой параметр АО).
Особенности:
- выполнена предварительная настройка параметров робота по результатам оценки качества торговой системы, проведённой в Мастере оптимизации стратегии;
- при тестировании цена сделки фиксируется как цена закрытия бара, на котором появился сигнал;
- в роботе заявка выставляется после закрытия бара, на котором появился сигнал.
Developed by Alfadirect;
Algorithm = ОСЦИЛЛЯТОР;
Hash code 6A7C3BA99A41DF684F24CA39110EC79B
**/
function Initialize()
{
   StrategyName = "My_Alfa_AO";
   AddParameter("Pfast", 8, "", 1);
   AddParameter("Pslow", 35, "", 1);
   AddParameter("Pstop", 0.5, "", 1);
   AddInput("Input1", Inputs.Candle, 30, true, "SBER=МБ ЦК");
   LongLimit = 1;
   ShortLimit = -1;
   AddChartIndicator("AwesomeOscillator", new Dictionary <string, string>{{"Fast", "Pfast"},{"Slow", "Pslow"}});
}

function OnUpdate()
{
   /// ПРАВИЛО 1
   if ( (AO(Input1, Pfast, Pslow) > AO(Input1, Pfast, Pslow)[1]) )
   {
      EnterLong();
      StopLoss(Pstop, SignalPriceType.DeltaInPercentFromAveragePrice);
   }

   /// ПРАВИЛО 2
   if ( (AO(Input1, Pfast, Pslow) < AO(Input1, Pfast, Pslow)[1]) )
   {
      EnterShort();
      StopLoss(Pstop, SignalPriceType.DeltaInPercentFromAveragePrice);
   }

}