2018.03.2500:00:00 instant buy 1.00 EURUSD at 1.23527 sl: 1.23414 tp: 1.23614 (1.23514 / 1.23527)
2018.03.2500:00:00 deal #2buy 1.00 EURUSD at 1.23527 done (based on order #2)
2018.03.2500:00:00 deal performed [#2buy 1.00 EURUSD at 1.23527]
2018.03.2500:00:00 order performed buy 1.00 at 1.23527 [#2buy 1.00 EURUSD at 1.23527]
2018.03.2500:00:00 (Ticket=OrderSend(_Symbol,OP_BUY,1,Ask,0,Bid-100*_Point,Bid+100*_Point,Hello World!,12345)) = 22018.03.2500:00:00 instant sell 0.30 EURUSD at 1.23514, close #2(1.23514 / 1.23527)
2018.03.2500:00:00 deal #3sell 0.30 EURUSD at 1.23514 done (based on order #3)
2018.03.2500:00:00 deal performed [#3sell 0.30 EURUSD at 1.23514]
2018.03.2500:00:00 order performed sell 0.30 at 1.23514 [#3sell 0.30 EURUSD at 1.23514]
2018.03.2500:00:00OrderClose(OrderTicket(),0.3,OrderClosePrice(),0) = true2018.03.2601:04:40 take profit triggered #2buy 0.70 EURUSD 1.23527 sl: 1.23414 tp: 1.23614 [#4sell 0.70 EURUSD at 1.23614]
2018.03.2601:04:40 deal #4sell 0.70 EURUSD at 1.23614 done (based on order #4)
2018.03.2601:04:40 deal performed [#4sell 0.70 EURUSD at 1.23614]
2018.03.2601:04:40 order performed sell 0.70 at 1.23614 [#4sell 0.70 EURUSD at 1.23614]
final balance 10000046.11 EUR
2018.03.2623:59:59#32018.03.2500:00:00 buy 0.30 EURUSD 1.235271.234141.236142018.03.2500:00:001.235140.000.00 -3.16Hello World!123452018.03.2623:59:59OrderTicket() = 32018.03.2623:59:59OrderMagicNumber() = 123452018.03.2623:59:59OrderComment() = Hello World!2018.03.2623:59:59OrderTicketOpen() = 22018.03.2623:59:59#42018.03.2500:00:00 buy 0.70 EURUSD 1.235270.000001.236142018.03.2601:04:401.236140.000.0049.27tp 1.23614123452018.03.2623:59:59OrderTicket() = 42018.03.2623:59:59OrderMagicNumber() = 123452018.03.2623:59:59OrderComment() = tp 1.236142018.03.2623:59:59OrderTicketOpen() = 2
В примере видно, что при срабатывании TP/SL исходный комментарий "Hello World!" заменяется полностью на свой в MT5 - "tp 1.23614".
В MT4 же в таких ситуациях комментарий становится, вроде, такого вида "Hello World!tp 1.23614". Нужно ли так же делать в MT4Orders?
Т.е. правильно/удобно ли, чтобы при SL/TP/MO закрытиях комментарий ордера в истории был комбинацией комментария при открытии и закрытии, как это происходит в MT4?
В примере видно, что при срабатывании TP/SL исходный комментарий "Hello World!" заменяется полностью на свой в MT5 - "tp 1.23614".
В MT4 же в таких ситуациях комментарий становится, вроде, такого вида "Hello World!tp 1.23614". Нужно ли так же делать в MT4Orders?
Т.е. правильно/удобно ли, чтобы при SL/TP/MO закрытиях комментарий ордера в истории был комбинацией комментария при открытии и закрытии, как это происходит в MT4?
я бы предложил что-то наподобие:
Original_Comment[tp: 1.23614] (т.к. иногда есть необходимость парсинга комментария)
с логом нештатных ситуаций, когда длина комментария выходит за лимиты
В примере видно, что при срабатывании TP/SL исходный комментарий "Hello World!" заменяется полностью на свой в MT5 - "tp 1.23614".
В MT4 же в таких ситуациях комментарий становится, вроде, такого вида "Hello World!tp 1.23614". Нужно ли так же делать в MT4Orders?
Т.е. правильно/удобно ли, чтобы при SL/TP/MO закрытиях комментарий ордера в истории был комбинацией комментария при открытии и закрытии, как это происходит в MT4?
OrderComment, как и OrderCommission, в библиотеке и сейчас очень медленный (заметно на множественных вызовах). Понятно, что как раз из-за специфики МТ5 (разделение этих данных на 2 сделки).
Может, просто добавить OrderCommentOpen? Ну, или сделать совсем универсальный вариант: OrderCommentOpen, OrderCommentClose и OrderComment, пытающийся эмулировать поведение МТ4.
Я пока задумываюсь о кэше для тяжелых OrderCommission и OrderComment, или для собственного списка сделок, что в моем конкретном случае — суть одно и то же.
OrderComment, как и OrderCommission, в библиотеке и сейчас очень медленный (заметно на множественных вызовах). Понятно, что как раз из-за специфики МТ5 (разделение этих данных на 2 сделки).
На реал-тайме сказываться не должно.
Может, просто добавить OrderCommentOpen? Ну, или сделать совсем универсальный вариант: OrderCommentOpen, OrderCommentClose и OrderComment, пытающийся эмулировать поведение МТ4.
Возможно, и стоит добавить. Сейчас это можно сделать так (для исторических MT4-ордеров)
Я пока задумываюсь о кэше для тяжелых OrderCommission и OrderComment, или для собственного списка сделок, что в моем конкретном случае — суть одно и то же.
Если делать кэш, то для всей истории. И делать это лучше на основе Generic-библы, наверное. Минус только один - память выжирать будет на VPS.
MQ хорошо поработали над историей в Тестере - быстрой стала. Когда ее ускорили, мысли на тему кэширования ушли (были сырые варианты библы), т.к. не увидел, что получится существенно ускорить. Более того, у меня не получилось придумать ТС для Тестера, в которой бы история торгов серьезно влияла на логику.
Кешировать же для реал-тайма Историю нельзя - она может правиться задним числом. Да и к чему в реал-тайме экономия микросекунд?
Возможно, и стоит добавить. Сейчас это можно сделать так (для исторических MT4-ордеров)
Если делать кэш, то для всей истории. И делать это лучше на основе Generic-библы, наверное. Минус только один - память выжирать будет на VPS.
MQ хорошо поработали над историей в Тестере - быстрой стала. Когда ее ускорили, мысли на тему кэширования ушли (были сырые варианты библы), т.к. не увидел, что получится существенно ускорить. Более того, у меня не получилось придумать ТС для Тестера, в которой бы история торгов серьезно влияла на логику.
Кешировать же для реал-тайма Историю нельзя - она может правиться задним числом. Да и к чему в реал-тайме экономия микросекунд?
Если правильно понял, то у меня одна ТС работает: в определённое время начинаем входить в рынок по сигналу, в итоге несколько бай и селл, в конце сессии закрываем всё как есть. На следующий день идём по кругу, но лоты уже рассчитываем по истории закрытия последней сессии, то есть лезем в историю и смотрим, закрыли прибыль, или какой-то убыток. То есть, без доступа к истории - ТС не пригодна к использованию.
Если правильно понял, то у меня одна ТС работает: в определённое время начинаем входить в рынок по сигналу, в итоге несколько бай и селл, в конце сессии закрываем всё как есть. На следующий день идём по кругу, но лоты уже рассчитываем по истории закрытия последней сессии, то есть лезем в историю и смотрим, закрыли прибыль, или какой-то убыток. То есть, без доступа к истории - ТС не пригодна к использованию.
В той фразе ключевым было слово "серьезно". Понятно, что история торгов может вклиниваться в торговую логику. Вопрос в ТС, которая начинает заметно тормозить в Тестере от обращения к ней.
Возможно, и стоит добавить. Сейчас это можно сделать так (для исторических MT4-ордеров)
Если делать кэш, то для всей истории. И делать это лучше на основе Generic-библы, наверное. Минус только один - память выжирать будет на VPS.
MQ хорошо поработали над историей в Тестере - быстрой стала. Когда ее ускорили, мысли на тему кэширования ушли (были сырые варианты библы), т.к. не увидел, что получится существенно ускорить. Более того, у меня не получилось придумать ТС для Тестера, в которой бы история торгов серьезно влияла на логику.
Кешировать же для реал-тайма Историю нельзя - она может правиться задним числом. Да и к чему в реал-тайме экономия микросекунд?
Вы как-то показывали код, который ищет на истории похожие "паттерны".
Вот вам и простейшая ТС с глубокой историей:
Смотрим текущую "форму-паттерн" цены за определённое время от "сейчас" до "немного в прошлое (торговый день например)", ищем все похожие паттерны цены на истории, классифицируем их по "степени совпадения", отбираем несколько наиболее совпадающих участков такой "картинки" в истории. Анализируем историю с виртуальными входами-выходами и получаем рекомендации по входам/выходам на текущее состояние. Можно даже назначить по итогам анализа исторических паттернов "вес" для каждой рекомендации.
Смотрим текущую "форму-паттерн" цены за определённое время от "сейчас" до "немного в прошлое (торговый день например)", ищем все похожие паттерны цены на истории, классифицируем их по "степени совпадения", отбираем несколько наиболее совпадающих участков такой "картинки" в истории. Анализируем историю с виртуальными входами-выходами и получаем рекомендации по входам/выходам на текущее состояние. Можно даже назначить по итогам анализа исторических паттернов "вес" для каждой рекомендации.
Видимо, Вы не поняли. Имелась в виду торговая история.
Forum on trading, automated trading systems and testing trading strategies
Libraries: MT4Orders
fxsaber, 2018.04.14 09:10
Example
Result
В примере видно, что при срабатывании TP/SL исходный комментарий "Hello World!" заменяется полностью на свой в MT5 - "tp 1.23614".
В MT4 же в таких ситуациях комментарий становится, вроде, такого вида "Hello World!tp 1.23614". Нужно ли так же делать в MT4Orders?
Т.е. правильно/удобно ли, чтобы при SL/TP/MO закрытиях комментарий ордера в истории был комбинацией комментария при открытии и закрытии, как это происходит в MT4?
В примере видно, что при срабатывании TP/SL исходный комментарий "Hello World!" заменяется полностью на свой в MT5 - "tp 1.23614".
В MT4 же в таких ситуациях комментарий становится, вроде, такого вида "Hello World!tp 1.23614". Нужно ли так же делать в MT4Orders?
Т.е. правильно/удобно ли, чтобы при SL/TP/MO закрытиях комментарий ордера в истории был комбинацией комментария при открытии и закрытии, как это происходит в MT4?
я бы предложил что-то наподобие:
Original_Comment[tp: 1.23614] (т.к. иногда есть необходимость парсинга комментария)
с логом нештатных ситуаций, когда длина комментария выходит за лимиты
В примере видно, что при срабатывании TP/SL исходный комментарий "Hello World!" заменяется полностью на свой в MT5 - "tp 1.23614".
В MT4 же в таких ситуациях комментарий становится, вроде, такого вида "Hello World!tp 1.23614". Нужно ли так же делать в MT4Orders?
Т.е. правильно/удобно ли, чтобы при SL/TP/MO закрытиях комментарий ордера в истории был комбинацией комментария при открытии и закрытии, как это происходит в MT4?
OrderComment, как и OrderCommission, в библиотеке и сейчас очень медленный (заметно на множественных вызовах). Понятно, что как раз из-за специфики МТ5 (разделение этих данных на 2 сделки).
Может, просто добавить OrderCommentOpen? Ну, или сделать совсем универсальный вариант: OrderCommentOpen, OrderCommentClose и OrderComment, пытающийся эмулировать поведение МТ4.
Я пока задумываюсь о кэше для тяжелых OrderCommission и OrderComment, или для собственного списка сделок, что в моем конкретном случае — суть одно и то же.
OrderComment, как и OrderCommission, в библиотеке и сейчас очень медленный (заметно на множественных вызовах). Понятно, что как раз из-за специфики МТ5 (разделение этих данных на 2 сделки).
На реал-тайме сказываться не должно.
Может, просто добавить OrderCommentOpen? Ну, или сделать совсем универсальный вариант: OrderCommentOpen, OrderCommentClose и OrderComment, пытающийся эмулировать поведение МТ4.
Возможно, и стоит добавить. Сейчас это можно сделать так (для исторических MT4-ордеров)
Я пока задумываюсь о кэше для тяжелых OrderCommission и OrderComment, или для собственного списка сделок, что в моем конкретном случае — суть одно и то же.
Если делать кэш, то для всей истории. И делать это лучше на основе Generic-библы, наверное. Минус только один - память выжирать будет на VPS.
MQ хорошо поработали над историей в Тестере - быстрой стала. Когда ее ускорили, мысли на тему кэширования ушли (были сырые варианты библы), т.к. не увидел, что получится существенно ускорить. Более того, у меня не получилось придумать ТС для Тестера, в которой бы история торгов серьезно влияла на логику.
Кешировать же для реал-тайма Историю нельзя - она может правиться задним числом. Да и к чему в реал-тайме экономия микросекунд?
На реал-тайме сказываться не должно.
Возможно, и стоит добавить. Сейчас это можно сделать так (для исторических MT4-ордеров)
Если делать кэш, то для всей истории. И делать это лучше на основе Generic-библы, наверное. Минус только один - память выжирать будет на VPS.
MQ хорошо поработали над историей в Тестере - быстрой стала. Когда ее ускорили, мысли на тему кэширования ушли (были сырые варианты библы), т.к. не увидел, что получится существенно ускорить. Более того, у меня не получилось придумать ТС для Тестера, в которой бы история торгов серьезно влияла на логику.
Кешировать же для реал-тайма Историю нельзя - она может правиться задним числом. Да и к чему в реал-тайме экономия микросекунд?
Если правильно понял, то у меня одна ТС работает: в определённое время начинаем входить в рынок по сигналу, в итоге несколько бай и селл, в конце сессии закрываем всё как есть. На следующий день идём по кругу, но лоты уже рассчитываем по истории закрытия последней сессии, то есть лезем в историю и смотрим, закрыли прибыль, или какой-то убыток.
То есть, без доступа к истории - ТС не пригодна к использованию.
Если правильно понял, то у меня одна ТС работает: в определённое время начинаем входить в рынок по сигналу, в итоге несколько бай и селл, в конце сессии закрываем всё как есть. На следующий день идём по кругу, но лоты уже рассчитываем по истории закрытия последней сессии, то есть лезем в историю и смотрим, закрыли прибыль, или какой-то убыток.
То есть, без доступа к истории - ТС не пригодна к использованию.
В той фразе ключевым было слово "серьезно". Понятно, что история торгов может вклиниваться в торговую логику. Вопрос в ТС, которая начинает заметно тормозить в Тестере от обращения к ней.
На реал-тайме сказываться не должно.
Возможно, и стоит добавить. Сейчас это можно сделать так (для исторических MT4-ордеров)
Если делать кэш, то для всей истории. И делать это лучше на основе Generic-библы, наверное. Минус только один - память выжирать будет на VPS.
MQ хорошо поработали над историей в Тестере - быстрой стала. Когда ее ускорили, мысли на тему кэширования ушли (были сырые варианты библы), т.к. не увидел, что получится существенно ускорить. Более того, у меня не получилось придумать ТС для Тестера, в которой бы история торгов серьезно влияла на логику.
Кешировать же для реал-тайма Историю нельзя - она может правиться задним числом. Да и к чему в реал-тайме экономия микросекунд?
Вы как-то показывали код, который ищет на истории похожие "паттерны".
Вот вам и простейшая ТС с глубокой историей:
Смотрим текущую "форму-паттерн" цены за определённое время от "сейчас" до "немного в прошлое (торговый день например)", ищем все похожие паттерны цены на истории, классифицируем их по "степени совпадения", отбираем несколько наиболее совпадающих участков такой "картинки" в истории. Анализируем историю с виртуальными входами-выходами и получаем рекомендации по входам/выходам на текущее состояние. Можно даже назначить по итогам анализа исторических паттернов "вес" для каждой рекомендации.
Вы как-то показывали код, который ищет на истории похожие "паттерны".
Вот он.
Вот вам и простейшая ТС с глубокой историей:
Смотрим текущую "форму-паттерн" цены за определённое время от "сейчас" до "немного в прошлое (торговый день например)", ищем все похожие паттерны цены на истории, классифицируем их по "степени совпадения", отбираем несколько наиболее совпадающих участков такой "картинки" в истории. Анализируем историю с виртуальными входами-выходами и получаем рекомендации по входам/выходам на текущее состояние. Можно даже назначить по итогам анализа исторических паттернов "вес" для каждой рекомендации.
Видимо, Вы не поняли. Имелась в виду торговая история.
ТС, в которой история всерьез бы влияла на логику - адаптивная ТС.
На чем споткнулись?
ТС, в которой история всерьез бы влияла на логику - адаптивная ТС.
На чем споткнулись?
Нужен пример ТС, в которой торговая история (не ценовая) существенно влияет на время бэктеста.