Стратегии и роботы > Несколько входных рядов в стратегиях

Обсуждение, описание стратегий и роботов, идеи для стратегий
Jude_Masson
Сообщения: 30
Зарегистрирован: 03 окт 2020, 22:38
Благодарил (а): 12 раз
Поблагодарили: 7 раз

Re: Несколько входных рядов в стратегиях

Непрочитанное сообщение Jude_Masson » 10 апр 2021, 23:04

Надо писать тикет альфе. Надеюсь мы тут не много нафлудили и админ нас не забанит )

Аватара пользователя
evge
Администратор
Сообщения: 1807
Зарегистрирован: 04 фев 2016, 09:46
Откуда: Млечный путь, планета Земля
Благодарил (а): 83 раза
Поблагодарили: 363 раза
Контактная информация:

Re: Несколько входных рядов в стратегиях

Непрочитанное сообщение evge » 10 апр 2021, 23:13

Jude_Masson писал(а):...Надеюсь мы тут не много нафлудили и админ нас не забанит )


:lol: я с ним договорюсь,
никогда такого не было и вот опять

BugsDigger
Сообщения: 533
Зарегистрирован: 11 ноя 2018, 17:11
Благодарил (а): 21 раз
Поблагодарили: 91 раз

Re: Несколько входных рядов в стратегиях

Непрочитанное сообщение BugsDigger » 11 апр 2021, 08:04

Возможно, что не предусмотрено, что один и тот же инструмент (хотя и с разным ТФ) м.б. торговым и неторговым одновременно ...

Аватара пользователя
evge
Администратор
Сообщения: 1807
Зарегистрирован: 04 фев 2016, 09:46
Откуда: Млечный путь, планета Земля
Благодарил (а): 83 раза
Поблагодарили: 363 раза
Контактная информация:

Re: Несколько входных рядов в стратегиях

Непрочитанное сообщение evge » 11 апр 2021, 09:10

BugsDigger писал(а):Возможно, что не предусмотрено, что один и тот же инструмент (хотя и с разным ТФ) м.б. торговым и неторговым одновременно ...


предусмотрено в новой версии (текущей)

AddInput("Input1", Inputs.Candle, 60, true, "GAZP=МБ ЦК");

В стратегии возможно добавление нескольких рядов, в том числе с разными тайм-фреймами, но при этом торговый ряд (Trade=true) допустим только один, по нему отправляются заявки.


Как раз это и есть основное новшество, возможность добавлять инструменту другие ТФ для анализа и другие инструменты.

Проблема описана выше про некорректное CurrentPL.

CurrentPL некорректный даже если поменять инструмент в доп. рядах.

вот пример, Input1 = SIM1 (M5), Input2 = RIM1 (M1):

BUY: Input1: BarDate:08.04.2021 0:00:00 BarTime:07:30:00
BUY: Input1: BarDate:08.04.2021 0:00:00 BarTime:07:30:00
BUY: Input1: BarDate:08.04.2021 0:00:00 BarTime:07:30:00
BUY: Input1: BarDate:08.04.2021 0:00:00 BarTime:07:30:00
BUY: Input1: BarDate:08.04.2021 0:00:00 BarTime:07:30:00
BUY: Input1: BarDate:08.04.2021 0:00:00 BarTime:07:35:00;0,5719;444;77640;77617
BUY: Input1: BarDate:08.04.2021 0:00:00 BarTime:07:35:00;0,5719;444;77640;77617
BUY: Input1: BarDate:08.04.2021 0:00:00 BarTime:07:35:00;0,5719;444;77640;77617
BUY: Input1: BarDate:08.04.2021 0:00:00 BarTime:07:35:00;0,5719;444;77640;77617
BUY: Input1: BarDate:08.04.2021 0:00:00 BarTime:07:35:00;0,5719;444;77640;77617

Считает уже не 2220 CurrentPL, а 444.
CurrentPLper() остался тем же 0.5719 %, что тоже неправильно.

здесь не прибыль, а убыток в -23

77640 - средняя цена, 77617 текущая на баре, где сработало условие CurrentPLper() > 0.4%
т.е. цена ниже средней, убыток!

Должен

CurrentPL() -23
CurrentPLper() - 0,03

CurrentPL() – возвращает текущий доход по открытой позиции в валюте инструмента (рубли или пункты).
CurrentPLper() – возвращает изменение цены в процентах относительно учетной цены по открытой позиции в процентах.
никогда такого не было и вот опять

Jude_Masson
Сообщения: 30
Зарегистрирован: 03 окт 2020, 22:38
Благодарил (а): 12 раз
Поблагодарили: 7 раз

Re: Несколько входных рядов в стратегиях

Непрочитанное сообщение Jude_Masson » 11 апр 2021, 10:30

Остаётся только добавить, что теперь CurrentPLper надо писать вот так

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

(((Input1.Close-AverPrice())/AverPrice())*100)

BugsDigger
Сообщения: 533
Зарегистрирован: 11 ноя 2018, 17:11
Благодарил (а): 21 раз
Поблагодарили: 91 раз

Re: Несколько входных рядов в стратегиях

Непрочитанное сообщение BugsDigger » 11 апр 2021, 10:52

> предусмотрено в новой версии (текущей)

Ну это да. :)

Я имел в виду, что, возможно, при проектировании логики работы имелось в виду, что торговый и неторговый (е) ряды будут привязаны к разным инструментам. При привязке к одному инструменту м.б. происходит нечто непредвиденное авторами.

Но я скорее склоняюсь к тому, что корень проблемы - в вызовах OnUpdate по тикам неторговых ТФ (чаще ли, реже ли торгового они происходят - неважно).

Во-первых, я не вижу в этом никакой разумной логики: если я хочу определенной частоты вызовов OnUpdate, то совершенно неуместно подсовывать мне другие (фактически неожиданные) события.

Во-вторых, как раз неожиданные события могут провоцировать неправильные рассчеты, т.к. вся старая логика основана на том, что последняя свеча сформирована и ее данные корректны и доступны, что как раз нарушается в текущей версии.

BugsDigger
Сообщения: 533
Зарегистрирован: 11 ноя 2018, 17:11
Благодарил (а): 21 раз
Поблагодарили: 91 раз

Re: Несколько входных рядов в стратегиях

Непрочитанное сообщение BugsDigger » 11 апр 2021, 11:15

Хочу продолжить еще и о последней "живой" свечке.

Давайте представим, что у нас торговый ТФ=М5, а неторговый - М3. Даже если убрать "нештатные" вызовы по М3, окажется, что в какие-то моменты вызова М5 последняя свеча М3 будет еще неоконченной, т.к. периоды не кратны.

Весьма вероятно (хотя это еще подлежит проверке), что в реале это не проблема, т.к. там в этой последней свече просто будут текущие живые данные.

В тестировании свеча окажется просто пустой или - еще хуже - забита каким-то мусором.

Насколько я представляю (если вру - поправьте, плиз), данные с сервера идут по нескольким базовым ТФ (S1, M1, D1; может быть еще и по Н1), остальные доступные нам ТФ вычисляются из них. Это намекает на то, что в тестировании нужно перед вызовом OnUpdate формировать/имитировать живую свечку неторгового ТФ по данным из базового ТФ, доступным в момент вызова OnUpdate, иначе будет лажа (она и есть, ведь Евгений это показал на примере того, что в начале дня в тесте часовая свеча точно недоступна).

Аватара пользователя
evge
Администратор
Сообщения: 1807
Зарегистрирован: 04 фев 2016, 09:46
Откуда: Млечный путь, планета Земля
Благодарил (а): 83 раза
Поблагодарили: 363 раза
Контактная информация:

Re: Несколько входных рядов в стратегиях

Непрочитанное сообщение evge » 11 апр 2021, 16:24

исключив неторговый ряд (M1) из страегии получаем нормальные CurrentPLper() и CurrentPL():

BUY: Input1: BarDate:08.04.2021 0:00:00 BarTime:07:30:00
BUY: Input1: BarDate:08.04.2021 0:00:00 BarTime:09:35:00;0,0464;36;77640;77676
BUY: Input1: BarDate:08.04.2021 0:00:00 BarTime:09:40:00
BUY: Input1: BarDate:08.04.2021 0:00:00 BarTime:10:35:00;0,1093;85;77786;77871
BUY: Input1: BarDate:08.04.2021 0:00:00 BarTime:10:50:00
BUY: Input1: BarDate:08.04.2021 0:00:00 BarTime:11:05:00;0,0064;5;77947;77952
BUY: Input1: BarDate:08.04.2021 0:00:00 BarTime:11:10:00
BUY: Input1: BarDate:09.04.2021 0:00:00 BarTime:15:40:00;0,0141;11;78027;78038
BUY: Input1: BarDate:09.04.2021 0:00:00 BarTime:15:45:00
никогда такого не было и вот опять

Jude_Masson
Сообщения: 30
Зарегистрирован: 03 окт 2020, 22:38
Благодарил (а): 12 раз
Поблагодарили: 7 раз

Re: Несколько входных рядов в стратегиях

Непрочитанное сообщение Jude_Masson » 11 апр 2021, 17:56

Ну я ведь это и писал ещё в первом сообщении )))
viewtopic.php?f=6&t=1103&start=10#p6115
Правда там была опечатка, которая не влияла на результат.

Аватара пользователя
evge
Администратор
Сообщения: 1807
Зарегистрирован: 04 фев 2016, 09:46
Откуда: Млечный путь, планета Земля
Благодарил (а): 83 раза
Поблагодарили: 363 раза
Контактная информация:

Re: Несколько входных рядов в стратегиях

Непрочитанное сообщение evge » 11 апр 2021, 21:00

Да, верно, не приметил, повторил тоже самое :)
Вообщем вся информация здесь есть, есть над чем подумать разработчику.
Не факт что это последний баг по этой теме.
никогда такого не было и вот опять


Вернуться в «Стратегии и роботы»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 15 гостей