Советники: Trade-Arbitrage - страница 17

 

А если Monitoring=true сделать, с minpips достаточно большим, типа от 4 и больше, то записей будет мало и арбитраж не будет таким критичным..Если запускать советника перед выходом новостей по рынкам американским ( где бы это посмотреть?) или приоткрытии биржы фондовой американской (в 17.30 по московскому времени, то скачки появляются хорошие на графиках)

 


Но мои идеи заслуживает..  поисков в коде и соответствующих изменений? (если бы при торговле советник сразу пару открывал и закрывал при Difference больше 4-10, без второго подтверждения)

 

Смотрите 4-й пункт в "Возможные улучшения".

 

Как реализован алгоритм поиска арбитражных ситуаций в некоторых банках:

Программисты в основном с мех-мата и подобных факультетов реализовывают этот алгоритм в лоб - манипулирование (в основном умножение) большими матрицами. С такими действиями быстрее всего справляются GPU (очень популярны в трейдинге у крупных компаний). Чаще всего используется CUDA на Nvidia Tesla.

Вообщем, пишется все в лоб, но на CUDA C++. Скорость работы такого решения высокая.

Как реализован алгоритм поиска арбитражных ситуаций в Trade-Arbitrage.mq4 :

MQL4 медленнее С++ примерно в 20 раз, медленнее CUDA - в сотни-тысячи раз. Но Trade-Arbitrage.mq4 написан не в лоб - алгоритм оптимизирован. За счет этого частота выполнения расчетов выше 100Гц - это не мало.

О важности скорости расчетов и исполнения:

При Monitoring = TRUE советник пишет подробности об арбитражных ситуациях во время их обнаружения. Обычно, таких ситуаций одновременно случается несколько. Т.е. советник дописывает в Arbitrage.txt подробности о нескольких арбитражных ситуациях.

Дописывание в файл - это работа со строками и файлами - немалое время, которое лучше и правильно потратить на торговлю арбитража (пока он есть), если вы торгуете.

Советник написан так, чтобы во время обнаружения арбитража никаких лишних расчетов и действий не производилось.

Как еще увеличить скорость в Trade-Arbitrage.mq4:

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

 

Почему запись в файл Arbitrage.txt не реализована таким же образом как запись в файл ArbitrageStatistic.txt, то есть раз в N минут? Думаю, что многие ставят Monitoring=true и вместо того, чтобы торговать, советник пишет в файл.

И еще вопрос, вызов функции void MonitoringArbitrage( int NumSymbol, int Variant1, int Variant2 ) занимает время, может лучше обойтись без вызова?

 

Функция MonitoringArbitrage ничего лишнего не выполняет.

Записи в Arbitrage.txt сделаны, как дополнение (для последующего подробного анализа при желании). И не носят обязательной нагрузки.

Взвесив все за и против было принято решение за ввод параметра Monitoring, который никак не влияет на принятие решений торговой частью советника.

 
Vkorch:
hippy:

поставь min pips -1 и за сутки наберешь статистику.потом ставь в советнике min pips 3-7,копируй из arbitrage statistic в arbiutrage trade и радуйся.у меня их строк 50,я просто не знаю как их выложить сюда!

А будет ли это соответствовать арбитражным ситуациям? Ведь статистика собрана при других условиях. Так для быстроты можно собрать статистику и при min pips -5.

Я собрал статистику при min pips = 0, а торговлю задал при 5. Так он за сутки закрыл только одну сделку, за следующие еще две, и свопов набрал достаточно.

я накидал 53 строки в arbitrage trade ради проверки.сделок открывается и закрывается за сутки немало.

 

за две недели тестов для себя сделал следущие выводы1от брокера зависит очень много2значение min pips надо ставить 3-5 3включать lock =true 4количество строк в arbitrage trade не должно превышать 15-20 5 самое главное-правильно подобрать валюты 6 правильно подобрать размер лота 7 просадка не превышает 3-5 % от депо при самой худшей ситтуации

 
Sashulya:

В файле arbitrage.txt "count" становится больше единицы при повторе пары, а какой размер пипса ставится - который при первом "заходе" был или при втором. Или вообще требование чтоб и размер пипсов совпадал при каждом повторе...? Короче говоря как так получается, что у меня count=1 уже полчаса, а Difference у 30 % пар уже давно больше 8-10?? Может в коде жесткие условия отбора пар (не только повтор, но и по пипсам чтоб совпадало или еще почему то)?..

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

И где в коде максимальный лот уменьшить..?

А если бы при торговле советник сразу пару открывал и закрывал при Difference больше 4-10 (а не проверял 2 раз совпадения), то по "теории вероятностей" все равно больше удачных сделок было бы с такими парами, чем неудачных..И советник был бы прибыльней???

ВО

это повысило бы эффективность мне кажется вдвое.если б я шарил в программировании-уже б модифицировал.но можно и руками закрывать если прибыь уже есть

 

Повторюсь: смотрите 4-й пункт в "Возможные улучшения".

Причина обращения: