Как работает OnCalculate()

Страницы: Пред. 1 2
RSS
Как работает OnCalculate(), Интерактивно указываю интервал расчета при помощи меток. Пересчитывается только текущая свеча
 
Цитата
nikolz написал:
Дело в том, что если Вы используете данные которые медленно меняются , что Вы обнаруживаете именно по истории их изменения, т е по прошлому,то совершаете редко сделки то вы должны уметь прогнозировать на интервал периода Вашего наблюдения. ----------------------проще говоря, чем реже Вы делаете сделки тем больше должен быть горизонт прогноза.Поэтому либо вы используете HFT торгуете быстро и интервал прогноза маленький либо наоборот.------------------Не надо изобретать велосипед не изучив существующие конструкции  велосипедов.
Меняться они могут и не медленно, а очень даже быстро и держаться потом на этом уровне какое-то время. Поэтому история тут не так важна как таковая, главное чтобы эта зародившаяся история продолжалась какое-то время нврастая и нарастая и как начнётся меняться в обратную сторону, так и о чём то можно судить, поэтому в  анализе не история, а текущее достигнутое состояние и есть ли его изменение в обратную сторону. По времени планирования это конечно согласен. Чем больше сделок, тем меньше горизонт и наоборот.
 
Цитата
Владимир написал:
Alexander , Менял я его довольно долго - пару лет. Фондовый рынок не меняю уже несколько месяцев - устраивает буквально всё, а срочный, относительно новый для меня, последний раз менял где-то неделю назад. Пока что тоже всё устраивает. Ну и, поскольку вручную я давно уже не торгую, алгоритм получился очень даже универсальным.    
Бывали ли такие ситуации в работе робота, чтобы он, например, сделал сделку на покупку и "завис", так как обратная сделка на продажу не прошла и цена ушла не вверх, а вниз? Как долго такое продолжается? Приходится ли вручную потом закрывать позиции или всё это в роботе закрывается по принципу лимитного стопа.
 
Или условного стопа с лимитной заявкой или как-то так.?
 
Alexander, Я довольно много времени потратил на борьбу с этой идиотской динамической типизацией и не менее идиотским разделением на потоки. Перенеся всё, что только можно, в поток мейна, я давно уже забыл про зависания, хотя до сих пор скрипт каждые две минуты сбрасывает дамп текущего состояния на диск. Куда сложнее было воевать с приходом нескольких прерываний на одно событие и с рассогласованиями портфеля с данными брокера - тем более, что функция, специально созданная для сверки портфелей "просто не работала". Нет, и сверку портфелей я теперь делаю разве что раз в месяц, по настроению, и до сих пор боюсь новых версий Квика, где слишком уж часто перестаёт работать даже то, что ранее работало. Ах, да - никаких условных заявок сроду не выставлял.
 
Цитата
Владимир написал:
Alexander , Я довольно много времени потратил на борьбу с этой идиотской динамической типизацией и не менее идиотским разделением на потоки. Перенеся всё, что только можно, в поток мейна, я давно уже забыл про зависания, хотя до сих пор скрипт каждые две минуты сбрасывает дамп текущего состояния на диск. Куда сложнее было воевать с приходом нескольких прерываний на одно событие и с рассогласованиями портфеля с данными брокера - тем более, что функция, специально созданная для сверки портфелей "просто не работала". Нет, и сверку портфелей я теперь делаю разве что раз в месяц, по настроению, и до сих пор боюсь новых версий Квика, где слишком уж часто перестаёт работать даже то, что ранее работало. Ах, да - никаких условных заявок сроду не выставлял.
Вы немного не так поняли мой вопрос. Наверное я так написал неоднозначно. Я имел ввиду, что Ваш робот в процессе работы может попасть в такую ситуацию, когда он например сделает покупку, а потом (нужно соответственно сделать продажу) продажа ну никак не получается, потому что цена пошла не в сторону, которую предположил робот, т.е. робот никак не может закрыть сделку находясь в ожидании подходящего момента для продажи(ждёт нужную цену), а момент этот ну никак не наступает. Про это я написал типа "завис", не имея ввиду программное зависание как таковое. Хотя и Ваш ответ проинформировал об интересных моментах, что не лишне. А посему спросил, если бывают такие "зависы", то как робот их решает? Продаёт в убыток по стопу или ждёт таки момента неизвестное количество времени? Хорошо, когда отроботал и закрыл предыдущую сделку, например покупки, продажей, а если нет? Если цена всё никак не хочет "подстроиться" под алгоритм робота? Ждать или продавать в убыток? Если продавать в убыток, каково %-ное соотношение угадал-не угадал? Типа какой КПД прибыльных сделок? Если прибыльные все на 100%, то это достигается только ожиданиями, которые могут уйти в бесконечность.
 
Alexander, Не может. Мой робот не может попасть в такую ситуацию. Он ничего не предполагает, он подаёт заявку на закрывающую сделку тогда, когда цена его устраивает. Он сам подстраивается под цену, а не цена под него. Ожидания могут уйти в бесконечность, но только в том случае, если курс стоит. А такого не бывает.
 
Цитата
Владимир написал:
Alexander , Не может. Мой робот не может попасть в такую ситуацию. Он ничего не предполагает, он подаёт заявку на закрывающую сделку тогда, когда цена его устраивает. Он сам подстраивается под цену, а не цена под него. Ожидания могут уйти в бесконечность, но только в том случае, если курс стоит. А такого не бывает.
Ну а если курс сначала стоит, а потом пойдёт в противоположную сторону и довольно таки сильно, и будет там потом болтаться очень долго, месяцы например. Тогда что? На рынке же всякое может быть, и какой бы ни был робот, он идеальным быть не может. Для таких случаев я думаю использовать несколько уровней условных и если цена ушла не туда, то торговать алгоритм уже там, чем больше уровней можно себе позволить, тем конечно лучше, со временем глядишь и на старом уровне сделка закроется.
 
Цитата
Alexander написал:
Я довольно много времени потратил на борьбу с этой идиотской динамической типизацией и не менее идиотским разделением на потоки.
В lua, и в частности в скриптах для квика можно реализовать потоки? Если можно, то это как раз вариант разбивки алгоритма, чтобы каждый поток контролировал свой условный уровень.
 
Цитата
Alexander написал:
Цитата
Alexander написал:
Я довольно много времени потратил на борьбу с этой идиотской динамической типизацией и не менее идиотским разделением на потоки.
В lua, и в частности в скриптах для квика можно реализовать потоки? Если можно, то это как раз вариант разбивки алгоритма, чтобы каждый поток контролировал свой условный уровень.
Верно.
Например, у меня по колбеку onParam в функции main для каждого инструмента запускается отдельный скрипт в потоке который выбирается из пула свободных.
По умолчанию число потоков в пуле максимум 512.
-----------------
Кроме этого, тестил вариант когда в потоке запускается дочерняя VMLua  - подобно функции main.  Ее особенность в том что у нее общий глобальный стек с основным потоком QUIK.
Но число таких потоков ограничено размером стека VMLua основного потока.
 
Цитата
nikolz написал:
Цитата
Alexander написал:
 
Цитата
Alexander  написал:
Я довольно много времени потратил на борьбу с этой идиотской динамической типизацией и не менее идиотским разделением на потоки.
 В lua, и в частности в скриптах для квика можно реализовать потоки? Если можно, то это как раз вариант разбивки алгоритма, чтобы каждый поток контролировал свой условный уровень.
Верно.
Например, у меня по колбеку onParam в функции main для каждого инструмента запускается отдельный скрипт в потоке который выбирается из пула свободных.
По умолчанию число потоков в пуле максимум 512.
-----------------
Кроме этого, тестил вариант когда в потоке запускается дочерняя VMLua  - подобно функции main.  Ее особенность в том что у нее общий глобальный стек с основным потоком QUIK.
Но число таких потоков ограничено размером стека VMLua основного потока.
О, здесь когда цитировал строки Владимира, видимо нажал Цитировать не в том месте и получилось, что я писал, а не Владимир, но по сути вопрос задан. А с потоками придётся позаниматься.

Цитата
nikolz написал:
для каждого инструмента запускается отдельный скрипт в потоке который выбирается из пула свободных.
Как запускается скрипт? чем? И как понять в потоке из пула? Тут как то можно использовать функции lua для запуска функций в отдельном потоке?(если таковые есть в lua, просто lua глубоко не изучал).
 
Alexander, Во-первых, курс всегда ходит с приключениями. Во-вторых, даже если он пойдёт без них, ничего страшного не случится. В-третьих, на фондовом рынке можно пересидеть и месяцы, и годы, а на срочном этот номер не пройдёт. В-четвёртых, за месяцы болтанки можно отыграть чуть ли не любое неудачное движение. В-пятых, диверсификация портфеля по тикерам спасает почти от любых случайностей. В-шестых, да, какой бы ни был робот, он идеальным быть не может. Кроме моего.  :smile:

Я говорил о других потоках. Алгоритмические потоки, конечно, можно реализовать, но не нужно. У меня вот один поток контролирует все тикеры и все уровни.
Страницы: Пред. 1 2
Читают тему
Наверх