C-4: Т.е. получается робот в роботе. Допустим есть среднесрочный алгоритм, который отдает приказ: купить по рынку. Другой, низкоуровневый робот исполняет этот приказ по лучшей цене используя HFT технику лучшего хода.
Да, именно так.
Только не робот в роботе. Скорее конвеер из роботов.
В теории конечных автоматов, количество состояний неограничено и может расти как снежный ком. А что если предположить что состояний всегда только четыре, но все они параллельны, т.е. вызываются одновременно из общего модуля. Два из этих состояний описывают все правила для открытия и закрытия покупок, а два других - продаж. Таким образом робот как бы одновременно находится сразу и в режиме покупки и в режиме продаж. Притом оба этих направления ни как не зависят друг от друга. Эти четыре состояния можно описать четырмя функциями:
Режим поиска сигнала на покупку
Режим поиска сигнала на закрытие существующей покупки
Режим поиска сигнала на продажу
Режимпоиска сигнала на закрытие существующей продажи
Вот как бы описывался робот на скользящих средних в этой логике
1. Режим (Функция) открытия длинной сделки: Если быстрая скользящая средняя пересекла медленную снизу вверх - открываем покупку
2. Режим (Функция) закрытия длинной сделки: Если быстрая скользящая средняя пересекал медленную сверху вниз - закрываем покупку
3. Режим (Функция) открытия короткой сделки:Если быстрая скользящая средняя пересекла медленную сверху вниз - открываем продажу
4. Режим (Функция) закрытия короткой сделки: Если быстрая скользящая средняя пересекла медленную снизу вверх - закрываем продажу
Обратите внимание на 1 и 4 функции и 2 и 3. Их условия одинаковы! Казалось бы избыточность, но это не так,так как условия закрытия длинной позиции ни как не связаны с условиями открытия короткой позиции. Если мы вдруг решили добавить доп. фильтр на открытие короткой позиции, то это ни как не скажется на условиях открытия длинной позиции, и наоборот. Если в процессе работы эксперта, мы захотели запретить продажи вообще, то просто перестаем вызвать функцую №3. Все ранее открытые короткие позиции рано или поздно будут закрыты по сигналу описанному в функции №4. Длинные же сделки ни как не пострадают, ведь их условия независимы!
В теории конечных автоматов, количество состояний неограничено и может расти как снежный ком. А что если предположить что состояний всегда только четыре, но все они параллельны, т.е. вызываются одновременно из общего модуля. Два из этих состояний описывают все правила для открытия и закрытия покупок, а два других - продаж. Таким образом робот как бы одновременно находится сразу и в режиме покупки и в режиме продаж. Притом оба этих направления ни как не зависят друг от друга. Эти четыре состояния можно описать четырмя функциями:
Режим поиска сигнала на покупку
Режим поиска сигнала на закрытие существующей покупки
Режим поиска сигнала на продажу
Режимпоиска сигнала на закрытие существующей продажи
Вот как бы описывался робот на скользящих средних в этой логике
1. Режим (Функция) открытия длинной сделки: Если быстрая скользящая средняя пересекла медленную снизу вверх - открываем покупку
2. Режим (Функция) закрытия длинной сделки: Если быстрая скользящая средняя пересекал медленную сверху вниз - закрываем покупку
3. Режим (Функция) открытия короткой сделки:Если быстрая скользящая средняя пересекла медленную сверху вниз - открываем продажу
4. Режим (Функция) закрытия короткой сделки: Если быстрая скользящая средняя пересекла медленную снизу вверх - закрываем продажу
Обратите внимание на 1 и 4 функции и 2 и 3. Их условия одинаковы! Казалось бы избыточность, но это не так,так как условия закрытия длинной позиции ни как не связаны с условиями открытия короткой позиции. Если мы вдруг решили добавить доп. фильтр на открытие короткой позиции, то это ни как не скажется на условиях открытия длинной позиции, и наоборот. Если в процессе работы эксперта, мы захотели запретить продажи вообще, то просто перестаем вызвать функцую №3. Все ранее открытые короткие позиции рано или поздно будут закрыты по сигналу описанному в функции №4. Длинные же сделки ни как не пострадают, ведь их условия независимы!
В теории конечных автоматов, количество состояний неограничено и может расти как снежный ком. А что если предположить что состояний всегда только четыре, но все они параллельны, т.е. вызываются одновременно из общего модуля. Два из этих состояний описывают все правила для открытия и закрытия покупок, а два других - продаж. Таким образом робот как бы одновременно находится сразу и в режиме покупки и в режиме продаж. Притом оба этих направления ни как не зависят друг от друга. Эти четыре состояния можно описать четырмя функциями:
Режим поиска сигнала на покупку
Режим поиска сигнала на закрытие существующей покупки
Режим поиска сигнала на продажу
Режимпоиска сигнала на закрытие существующей продажи
Вот как бы описывался робот на скользящих средних в этой логике
1. Режим (Функция) открытия длинной сделки: Если быстрая скользящая средняя пересекла медленную снизу вверх - открываем покупку
2. Режим (Функция) закрытия длинной сделки: Если быстрая скользящая средняя пересекал медленную сверху вниз - закрываем покупку
3. Режим (Функция) открытия короткой сделки:Если быстрая скользящая средняя пересекла медленную сверху вниз - открываем продажу
4. Режим (Функция) закрытия короткой сделки: Если быстрая скользящая средняя пересекла медленную снизу вверх - закрываем продажу
Обратите внимание на 1 и 4 функции и 2 и 3. Их условия одинаковы! Казалось бы избыточность, но это не так,так как условия закрытия длинной позиции ни как не связаны с условиями открытия короткой позиции. Если мы вдруг решили добавить доп. фильтр на открытие короткой позиции, то это ни как не скажется на условиях открытия длинной позиции, и наоборот. Если в процессе работы эксперта, мы захотели запретить продажи вообще, то просто перестаем вызвать функцую №3. Все ранее открытые короткие позиции рано или поздно будут закрыты по сигналу описанному в функции №4. Длинные же сделки ни как не пострадают, ведь их условия независимы!
У меня на порядок проще.
Стратегия выдаёт сигнал в виде рекомендуемой позиции на инструменте. Если я хочу запретить продажи, я просто отсекаю отрицательные значения совокупной рекомендуемой позиции перед отправкой драйверу-синхронизатору. Одной строчкой:
if (ShortDisabled) Pos = (Pos<0) ? 0 : Pos;
Это всё.
--
Я это к тому, что вы описали красивое решение несуществующей у меня проблемы.
У меня вообще нет проблемы различения условий на покупку / условий на закрытие продажи. Её и не должно быть на уровне стратегии. Задача стратегии - спрогнозировать будет ли рынок расти или падать в следующий момент времени, и с какой вероятностью. От этого и зависит рекомендуемая рыночная позиция. Что там было в прошлом, есть ли сейчас открытые (в любую стороны) позы или нет - абсолютно неважно. Если в это не вьехать - можно полжизни решать несуществующие проблемы. Иногда даже решать их очень красиво.
И вот кстати в тему отката на четвёрку (который похоже грядёт). Мне все эти гроздья ордеров нахрен не нужны. Я неттинг заценил на всю катушку, ещё до появления пятёрки... :))))
MetaDriver: И вот кстати в тему отката на четвёрку (который похоже грядёт). Мне все эти гроздья ордеров нахрен не нужны. Я неттинг заценил на всю катушку, ещё до появления пятёрки... :))))
Можно ли MT4 использовать для работе на РЫНКЕ? Да, можно. Можно ли MT5 использовать для работе на РЫНКЕ? Да, можно.
Но что удобнее и надежнее? Не при теоретических рассуждениях, а на практике, жесткой реальной практике торговли на РЫНКЕ.
Удобнее MT4. Да, один лимитник из-за частичного исполнения может порадить десяток открытых поз, и каждая поза может порадить десяток закрытых поз. А если лимитников несколько? Возможно ли на MT4 управление при таких жестких условиях? Да, возможно, и оно реализуется просто, а главное - надежно.
В MT5 с этим тоже нет особых проблем. На первый взгляд, в нем даже проще на РЫНКЕ, чем на MT4. В глазах не рябит от огромного количества поз.
Но все меняется, когда вы начинаете усложнять логику советника. Когда вам надо диверсифицироваться через запуск нескольких советников. На MT4 это происходит элементарно и очень надежно - просто запустил советник с других мэджиком. На MT5 - это огромный геморрой с точки зрения автоматизации. А с точки зрения ручного вмешательства в такую торговлю - это неподъемный труд. ПОтому что логики открытия-закрытия позиции для каждой стратегии в MT5 простым взглядом в терминал не уловить вообще. Нужно писать соответствующий анализатор. И он не может быть универсальным, к сожалению.
Однако, в MT4 никаких таких проблем не возникает. Все, как на ладони. Неттинг в MT4 реализуется простейшим способом для трейдера.
Поэтому MT4 на реальной торговой практике, а не на уровне теорий, всегда удобнее MT5. Хотя обе платформы могут быть абсолютно рыночными. И именно про торговлю на РЫНКЕ веду речь.
Можно ли MT4 использовать для работе на РЫНКЕ? Да, можно. Можно ли MT5 использовать для работе на РЫНКЕ? Да, можно.
Но что удобнее и надежнее? Не при теоретических рассуждениях, а на практике, жесткой реальной практике торговли на РЫНКЕ.
Удобнее MT4. Да, один лимитник из-за частичного исполнения может порадить десяток открытых поз, и каждая поза может порадить десяток закрытых поз. А если лимитников несколько? Возможно ли на MT4 управление при таких жестких условиях? Да, возможно, и оно реализуется просто, а главное - надежно.
В MT5 с этим тоже нет особых проблем. На первый взгляд, в нем даже проще на РЫНКЕ, чем на MT4. В глазах не рябит от огромного количества поз.
Но все меняется, когда вы начинаете усложнять логику советника. Когда вам надо диверсифицироваться через запуск нескольких советников. На MT4 это происходит элементарно и очень надежно - просто запустил советник с других мэджиком. На MT5 - это огромный геморрой с точки зрения автоматизации. А с точки зрения ручного вмешательства в такую торговлю - это неподъемный труд. ПОтому что логики открытия-закрытия позиции для каждой стратегии в MT5 простым взглядом в терминал не уловить вообще. Нужно писать соответствующий анализатор. И он не может быть универсальным, к сожалению.
Иван, я хорошо знаю и отлично понимаю всю эту аргументацию. Просто я считаю, что ручное вмешательство при "диверсификации путём сумиирования/наложения стратегий" - последнее дело. Стратегии должны быть отлажены до рабочего состояния на этапе тестирования-оптимизации. Что до самой такой диверсификации - я её широко использую - как раз путём простого суммирования сигналов всех подстратегий ДО отслылки совокупного сигнала в синхронизатор. Более тысячи стратегий суммировал таким образом без каких-либо проблем. Если такой постулат ("вмешиваться только при отладке") принять за основу, сразу же выясняется, что индивидуальное наблюдение за каждой отдельной стратегией - вообще не проблема - все они индивидуально отключаемые. Отключил все кроме одной, и анализируй на здоровье.
Однако, в MT4 никаких таких проблем не возникает. Все, как на ладони. Неттинг в MT4 реализуется простейшим способом для трейдера.
Поэтому MT4 на реальной торговой практике, а не на уровне теорий, всегда удобнее MT5. Хотя обе платформы могут быть абсолютно рыночными. И именно про торговлю на РЫНКЕ веду речь.
Да фигня это всё. Я ж говорю, у меня аналогичный "неттинг-синхронизатор" под четвёрку давно написан. Только объединю все его функции в один класс для удобства, ну и проверю/отлажу заново на всяк случай. Пущай потом там с кучей ордеров потом сам воюет - самой стратегии всё это глубоко до лампочки, как была неттинговой, так и останется. :)
И? Статья здесь -- УГ, статья там -- более менее адекватна. Шалыто -- примазался, ибо его фамилия последняя.
Хорошо что на англицком не дал, ваще заклевали бы.
Т.е. получается робот в роботе. Допустим есть среднесрочный алгоритм, который отдает приказ: купить по рынку. Другой, низкоуровневый робот исполняет этот приказ по лучшей цене используя HFT технику лучшего хода.
Да, именно так.
Только не робот в роботе. Скорее конвеер из роботов.
Лучше зацените мою идею:
В теории конечных автоматов, количество состояний неограничено и может расти как снежный ком. А что если предположить что состояний всегда только четыре, но все они параллельны, т.е. вызываются одновременно из общего модуля. Два из этих состояний описывают все правила для открытия и закрытия покупок, а два других - продаж. Таким образом робот как бы одновременно находится сразу и в режиме покупки и в режиме продаж. Притом оба этих направления ни как не зависят друг от друга. Эти четыре состояния можно описать четырмя функциями:
Вот как бы описывался робот на скользящих средних в этой логике
1. Режим (Функция) открытия длинной сделки: Если быстрая скользящая средняя пересекла медленную снизу вверх - открываем покупку
2. Режим (Функция) закрытия длинной сделки: Если быстрая скользящая средняя пересекал медленную сверху вниз - закрываем покупку
3. Режим (Функция) открытия короткой сделки:Если быстрая скользящая средняя пересекла медленную сверху вниз - открываем продажу
4. Режим (Функция) закрытия короткой сделки: Если быстрая скользящая средняя пересекла медленную снизу вверх - закрываем продажу
Обратите внимание на 1 и 4 функции и 2 и 3. Их условия одинаковы! Казалось бы избыточность, но это не так,так как условия закрытия длинной позиции ни как не связаны с условиями открытия короткой позиции. Если мы вдруг решили добавить доп. фильтр на открытие короткой позиции, то это ни как не скажется на условиях открытия длинной позиции, и наоборот. Если в процессе работы эксперта, мы захотели запретить продажи вообще, то просто перестаем вызвать функцую №3. Все ранее открытые короткие позиции рано или поздно будут закрыты по сигналу описанному в функции №4. Длинные же сделки ни как не пострадают, ведь их условия независимы!
Лучше зацените мою идею:
В теории конечных автоматов, количество состояний неограничено и может расти как снежный ком. А что если предположить что состояний всегда только четыре, но все они параллельны, т.е. вызываются одновременно из общего модуля. Два из этих состояний описывают все правила для открытия и закрытия покупок, а два других - продаж. Таким образом робот как бы одновременно находится сразу и в режиме покупки и в режиме продаж. Притом оба этих направления ни как не зависят друг от друга. Эти четыре состояния можно описать четырмя функциями:
Вот как бы описывался робот на скользящих средних в этой логике
1. Режим (Функция) открытия длинной сделки: Если быстрая скользящая средняя пересекла медленную снизу вверх - открываем покупку
2. Режим (Функция) закрытия длинной сделки: Если быстрая скользящая средняя пересекал медленную сверху вниз - закрываем покупку
3. Режим (Функция) открытия короткой сделки:Если быстрая скользящая средняя пересекла медленную сверху вниз - открываем продажу
4. Режим (Функция) закрытия короткой сделки: Если быстрая скользящая средняя пересекла медленную снизу вверх - закрываем продажу
Обратите внимание на 1 и 4 функции и 2 и 3. Их условия одинаковы! Казалось бы избыточность, но это не так,так как условия закрытия длинной позиции ни как не связаны с условиями открытия короткой позиции. Если мы вдруг решили добавить доп. фильтр на открытие короткой позиции, то это ни как не скажется на условиях открытия длинной позиции, и наоборот. Если в процессе работы эксперта, мы захотели запретить продажи вообще, то просто перестаем вызвать функцую №3. Все ранее открытые короткие позиции рано или поздно будут закрыты по сигналу описанному в функции №4. Длинные же сделки ни как не пострадают, ведь их условия независимы!
dfc bp lfcn&
Лучше зацените мою идею:
В теории конечных автоматов, количество состояний неограничено и может расти как снежный ком. А что если предположить что состояний всегда только четыре, но все они параллельны, т.е. вызываются одновременно из общего модуля. Два из этих состояний описывают все правила для открытия и закрытия покупок, а два других - продаж. Таким образом робот как бы одновременно находится сразу и в режиме покупки и в режиме продаж. Притом оба этих направления ни как не зависят друг от друга. Эти четыре состояния можно описать четырмя функциями:
Вот как бы описывался робот на скользящих средних в этой логике
1. Режим (Функция) открытия длинной сделки: Если быстрая скользящая средняя пересекла медленную снизу вверх - открываем покупку
2. Режим (Функция) закрытия длинной сделки: Если быстрая скользящая средняя пересекал медленную сверху вниз - закрываем покупку
3. Режим (Функция) открытия короткой сделки:Если быстрая скользящая средняя пересекла медленную сверху вниз - открываем продажу
4. Режим (Функция) закрытия короткой сделки: Если быстрая скользящая средняя пересекла медленную снизу вверх - закрываем продажу
Обратите внимание на 1 и 4 функции и 2 и 3. Их условия одинаковы! Казалось бы избыточность, но это не так,так как условия закрытия длинной позиции ни как не связаны с условиями открытия короткой позиции. Если мы вдруг решили добавить доп. фильтр на открытие короткой позиции, то это ни как не скажется на условиях открытия длинной позиции, и наоборот. Если в процессе работы эксперта, мы захотели запретить продажи вообще, то просто перестаем вызвать функцую №3. Все ранее открытые короткие позиции рано или поздно будут закрыты по сигналу описанному в функции №4. Длинные же сделки ни как не пострадают, ведь их условия независимы!
У меня на порядок проще.
Стратегия выдаёт сигнал в виде рекомендуемой позиции на инструменте. Если я хочу запретить продажи, я просто отсекаю отрицательные значения совокупной рекомендуемой позиции перед отправкой драйверу-синхронизатору. Одной строчкой:
if (ShortDisabled) Pos = (Pos<0) ? 0 : Pos;
Это всё.
--
Я это к тому, что вы описали красивое решение несуществующей у меня проблемы.
У меня вообще нет проблемы различения условий на покупку / условий на закрытие продажи. Её и не должно быть на уровне стратегии. Задача стратегии - спрогнозировать будет ли рынок расти или падать в следующий момент времени, и с какой вероятностью. От этого и зависит рекомендуемая рыночная позиция. Что там было в прошлом, есть ли сейчас открытые (в любую стороны) позы или нет - абсолютно неважно. Если в это не вьехать - можно полжизни решать несуществующие проблемы. Иногда даже решать их очень красиво.
И вот кстати в тему отката на четвёрку (который похоже грядёт). Мне все эти гроздья ордеров нахрен не нужны. Я неттинг заценил на всю катушку, ещё до появления пятёрки... :))))
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Нужны ли OCO ордера?
hrenfx, 2012.01.06 07:46
Можно ли MT4 использовать для работе на РЫНКЕ? Да, можно.Можно ли MT5 использовать для работе на РЫНКЕ? Да, можно.
Но что удобнее и надежнее? Не при теоретических рассуждениях, а на практике, жесткой реальной практике торговли на РЫНКЕ.
Удобнее MT4. Да, один лимитник из-за частичного исполнения может порадить десяток открытых поз, и каждая поза может порадить десяток закрытых поз. А если лимитников несколько? Возможно ли на MT4 управление при таких жестких условиях? Да, возможно, и оно реализуется просто, а главное - надежно.
В MT5 с этим тоже нет особых проблем. На первый взгляд, в нем даже проще на РЫНКЕ, чем на MT4. В глазах не рябит от огромного количества поз.
Но все меняется, когда вы начинаете усложнять логику советника. Когда вам надо диверсифицироваться через запуск нескольких советников. На MT4 это происходит элементарно и очень надежно - просто запустил советник с других мэджиком. На MT5 - это огромный геморрой с точки зрения автоматизации. А с точки зрения ручного вмешательства в такую торговлю - это неподъемный труд. ПОтому что логики открытия-закрытия позиции для каждой стратегии в MT5 простым взглядом в терминал не уловить вообще. Нужно писать соответствующий анализатор. И он не может быть универсальным, к сожалению.
Однако, в MT4 никаких таких проблем не возникает. Все, как на ладони. Неттинг в MT4 реализуется простейшим способом для трейдера.
Поэтому MT4 на реальной торговой практике, а не на уровне теорий, всегда удобнее MT5. Хотя обе платформы могут быть абсолютно рыночными. И именно про торговлю на РЫНКЕ веду речь.
hrenfx:
Можно ли MT4 использовать для работе на РЫНКЕ? Да, можно.Можно ли MT5 использовать для работе на РЫНКЕ? Да, можно.
Но что удобнее и надежнее? Не при теоретических рассуждениях, а на практике, жесткой реальной практике торговли на РЫНКЕ.
Удобнее MT4. Да, один лимитник из-за частичного исполнения может порадить десяток открытых поз, и каждая поза может порадить десяток закрытых поз. А если лимитников несколько? Возможно ли на MT4 управление при таких жестких условиях? Да, возможно, и оно реализуется просто, а главное - надежно.
В MT5 с этим тоже нет особых проблем. На первый взгляд, в нем даже проще на РЫНКЕ, чем на MT4. В глазах не рябит от огромного количества поз.
Но все меняется, когда вы начинаете усложнять логику советника. Когда вам надо диверсифицироваться через запуск нескольких советников. На MT4 это происходит элементарно и очень надежно - просто запустил советник с других мэджиком. На MT5 - это огромный геморрой с точки зрения автоматизации. А с точки зрения ручного вмешательства в такую торговлю - это неподъемный труд. ПОтому что логики открытия-закрытия позиции для каждой стратегии в MT5 простым взглядом в терминал не уловить вообще. Нужно писать соответствующий анализатор. И он не может быть универсальным, к сожалению.
Поэтому MT4 на реальной торговой практике, а не на уровне теорий, всегда удобнее MT5. Хотя обе платформы могут быть абсолютно рыночными. И именно про торговлю на РЫНКЕ веду речь.