PDA

View Full Version : Советник FXOpen.3SAC



MaxZ
11-18-2013, 10:25 AM
Здравствуйте.

Данный советник был заказан Пользователем niksh в теме (forum.fxopen.ru/showthread.php?91373&p=1450226#post1450226).

Техническое задание (ТЗ) для данного советника было следующим:


Max привет!
Год назад начал разарабатывать ТС.Бросал,возвращался.Наконец закончил.Оформил в виде ТЗ.
Жесточайший прогрессор по фиборяду. Начальный депо-100000центов.
Важно при программировании не использовать фибокоэффициент при увеличении последующего
лота,а именно увеличивать последующий лот на число фиборяда - иначе нарастает погрешность
не в нашу пользу.Буду благодарен если закодишь хотябы Агрессивную модель.

Настройки для советника следующие:


Общие настройки:
- Risk, параметр для использования динамического лота (используется (Risk*100)% от свободных средств);
- InitLots, объём для открываемого ордера;
- Slippage, проскальзывание;
- Magic, магическое число для открываемого ордера;
- MarketExecution, true - для брокеров с исполнением "Market Execution", false - "Instant Execution".

Параметры для торгового алгоритма:
- AgressiveMode, true - включен агрессивный режим; false - включень консервативный режим;
- Step, шаг для сетки отложенных ордеров;
- PriceMode, 0 - вверхний уровень активируется ценой Bid, нижний - Ask, не_равно_0 - вверхний уровень активируется ценой Ask, нижний - Bid.

Примечание: для параметра Step нужно вводить целое число, которое умножается на величину, равную одному пункту.

Дополнительные настройки:
- DebugTrade, отладка торговли (во вкладку терминала "Журнал" выводятся сообщения, касающиеся торговых операций, которые совершает советник);
- Color_Buy, Color_Sell, цвета для меток и линий от торговых операций (для Buy- и Sell-ордеров соответственно).

ВНИМАНИЕ!!! В данной версии советника не реализованы некоторые функции, прописанные в ТЗ. Также не реализован подхват ордеров после закрытия терминала или удаления советинка с графика.

Вопрос к Автору идеи Пользователю niksh: советник не всегда закрывается в прибыль после прохождения трёх шагов в одном направлении. В чём проблема!? Соответствует ли работа советника Вашему ТЗ?

Просьба в дальнейшем данный индикатор обсуждать здесь.

С уважением, Максим З.

niksh
11-20-2013, 09:28 AM
Мах привет!
Спасибо за выполненную работу.Погоняю отпишусь.
Ответ на твой вопрос= Для агрессивной модели после прохождения трех шагов всегда
должен закрываться в плюс. При консервативной модели может закрыться и в небольшой
минус т.к. разница между наращиваемыми лотами небольшая и минус спред.Но я еще не
тестил сов.Потестю отпишусь.

niksh
11-20-2013, 12:23 PM
Мах прогнал пару раз на тестере.Первое что заметил что при начальном лоте 0.2 неправильно
выставляет последующие лоты.Нужно 0.2, 0.3, 0.5, 0.8 .....,а сов выставляет 0.2, 0.4, 0.6.....
Далее буду разбираться.

35404

MaxZ
11-21-2013, 01:30 AM
Мах прогнал пару раз на тестере.Первое что заметил что при начальном лоте 0.2 неправильно
выставляет последующие лоты.Нужно 0.2, 0.3, 0.5, 0.8 .....,а сов выставляет 0.2, 0.4, 0.6.....
Далее буду разбираться.

35404

Здравствуйте!

Да. Про это забыл совсем... Но это ведь не помешает проверить соответствие работы советника ТЗ. В итоговой версии реализую! ;)

- - - Updated - - -


Мах привет!
Спасибо за выполненную работу.Погоняю отпишусь.
Ответ на твой вопрос= Для агрессивной модели после прохождения трех шагов всегда
должен закрываться в плюс. При консервативной модели может закрыться и в небольшой
минус т.к. разница между наращиваемыми лотами небольшая и минус спред.Но я еще не
тестил сов.Потестю отпишусь.

И Вам спасибо за интересную идею. Жду от Вас красивых картинок с тестов! ;)

niksh
11-24-2013, 06:33 AM
мах привет!
сегодня разбирался с работой сова.
На графике с тестера видна работа сова по циклам(сериям).Первые две
маленькие полуволны-это соответственно два шага и три шага,-1-й цикл закончился.Следующие две большие острые полуволны- это соответственно два шага и три шага,-2-й цикл закончился.Т.е. пока все нормально. А вот следующие две поменьше острые полуволны которые ниже предыдущих- это
глюк(убыточная серия).Они должны быть выше предыдущих(серия
должна быть прибыльной).
Мне кажется с 93 тикета начинается глюк по этой серии.
3561035611


p.s. спред брал фиксированный=20(пятизнак)

MaxZ
11-25-2013, 07:35 AM
Мне кажется с 93 тикета начинается глюк по этой серии.
3561035611

Здравствуйте.

Я реализовал в виде советника то ТЗ, которое Вы Мне выложили в теме с заказами (http://forum.fxopen.ru/showthread.php?91373&p=1627917#post1627917). Никакого глюка Мне обнаружить не удалось, а серии убыточные имеются. Поэтому написал сюда, чтобы Вы помогли найти глюк! ;)

niksh
11-26-2013, 09:30 AM
Мах привет!
Продолжаю разбираться с убыточной серией(мой пост выше).
Сбросил логику работы совы по уровням(кусок- начало).
Серия начинается с тикетов 72,73. bs(0.1) - bs(0.2) - ss(0.3) - ss(0.5) - частичное сокращение
(close0.1, 39 ордер buy0,1) - это все нормально соответствует логике(ТЗ). А вот дальше начинается какаято хрень. Тикет 91- bs(0.8) -нормально, тикет 92 -нормально, тикет93 close 39 ордер.Но ведь 39ордер -это частично закрытый ордер уровня 132.602.Он должен быть закрыт только тогда когда на этом уровне будет цена. Это первый вопрос .
Идем далее: тикет 94,95 -bs(1.3), ss(1.3) -нормально,тикет 96 s(1.3). После этого должно быть
удаление несработавшей отложки bs(1.3) и выставление bs(2.1) и ss(2.1) но этого нет в тикетах?
а следущим тикетом срабатывает bs(1.3)уровень 132.602).т.е. нарушается логика работы.Это второй вопрос?Далее не рассматривал т.к.не имеет смысла.
35754

MaxZ
11-27-2013, 10:30 AM
Мах привет!
Продолжаю разбираться с убыточной серией(мой пост выше).
Сбросил логику работы совы по уровням(кусок- начало).
Серия начинается с тикетов 72,73. bs(0.1) - bs(0.2) - ss(0.3) - ss(0.5) - частичное сокращение
(close0.1, 39 ордер buy0,1) - это все нормально соответствует логике(ТЗ). А вот дальше начинается какаято хрень. Тикет 91- bs(0.8) -нормально, тикет 92 -нормально, тикет93 close 39 ордер.Но ведь 39ордер -это частично закрытый ордер уровня 132.602.Он должен быть закрыт только тогда когда на этом уровне будет цена. Это первый вопрос .
Идем далее: тикет 94,95 -bs(1.3), ss(1.3) -нормально,тикет 96 s(1.3). После этого должно быть
удаление несработавшей отложки bs(1.3) и выставление bs(2.1) и ss(2.1) но этого нет в тикетах?
а следущим тикетом срабатывает bs(1.3)уровень 132.602).т.е. нарушается логика работы.Это второй вопрос?Далее не рассматривал т.к.не имеет смысла.
35754

Здравствуйте.

А если тестировать в режиме, когда PriceMode не_равен_0:


Настройки для советника следующие:

Параметры для торгового алгоритма:
...
- PriceMode, 0 - вверхний уровень активируется ценой Bid, нижний - Ask, не_равно_0 - вверхний уровень активируется ценой Ask, нижний - Bid.

!?

И Вы можете выложить скриншот из визуализатора тестера стратегий со всеми перечисленными сделками!? А то по одному стейту проблематично разбираться. Так Наша с Вами работа пойдёт быстрее! ;)

niksh
11-28-2013, 12:07 PM
35956359573595835959Мах привет!
с price_mode-1 этот кусок проходит нормально,но вопрос по закрытию частично сокращенного
ордера тикет 93 close39 остается и при pr.mode0 и при pr.mode1.

MaxZ
12-05-2013, 01:56 PM
35956359573595835959Мах привет!
с price_mode-1 этот кусок проходит нормально,но вопрос по закрытию частично сокращенного
ордера тикет 93 close39 остается и при pr.mode0 и при pr.mode1.

Здравствуйте. Наконец-то добрался до Вас. Ордер №39 был открыт с рынка и начальным лотом. Это очень странно. Его ведь по сути и не должно было быть (открыться). Сижу и ищу, где же Я оплошал!

MaxZ
12-09-2013, 02:37 AM
Здравствуйте!

Я Сам Себя запутал...


Здравствуйте. Наконец-то добрался до Вас. Ордер №39 был открыт с рынка и начальным лотом. Это очень странно. Его ведь по сути и не должно было быть (открыться). Сижу и ищу, где же Я оплошал!

Ордер Buy с тикетом #39 не был открыт с рынка (операция №89), так как открыт он не по рыночной цене! Я забыл такую вещь, что когда происходит частичное закрытие, то ордер закрывается целиком и открывается вместо закрытого новый ордер с остаточным объёмом (по той же цене, без спреда и комиссии). Так вот, ордер Buy с тикетом #39 - это и есть один из таких ордеров. Он был открыт, после частичного закрытия ордера Buy с тикетом #33 (операция №88) (закрыто 0,1 лота от 0,2 имеющихся и осталось 0,1 - вот и начальный объём... :D).

Теперь отвечу на Ваш вопрос:



35956359573595835959Мах привет!
с price_mode-1 этот кусок проходит нормально,но вопрос по закрытию частично сокращенного
ордера тикет 93 close39 остается и при pr.mode0 и при pr.mode1.

Закрыт Buy с тикетом #39 (операция №93) был по причине того, что на этом уровне сработал отложенный ордер BuyStop с тикетом #40, а по ТЗ - нужно закрывать остальные ордера находящиеся на этом уровне!

Поэтому Мой вопрос остаётся актуальным:


Вопрос к Автору идеи Пользователю niksh: советник не всегда закрывается в прибыль после прохождения трёх шагов в одном направлении. В чём проблема!? Соответствует ли работа советника Вашему ТЗ?

:) :)

И в данном советнике есть ещё одна проблемка-загвоздка: TakeProfit необходимо выставлять с учётом спреда, а то есть вероятность его неотработки (один из ордеров может просто не закрыться, а уже откроется следующий отложенный ордер)... Также, как была вероятность не полной отработки уровней при режиме, когда PriceMode равен 0.