Если мне не изменяет память, раньше это работало, но как-то не истекают отложенные ордера на Virtual.
#include <MT4Orders.mqh> // https://www.mql5.com/ru/code/16006#include <fxsaber\Virtual\Virtual.mqh> // Virtual trading environment#include <Report.mqh>
void System ()
{
staticint OrdersPlaced = 0;
if (OrdersPlaced<2)
{
OrderSend(_Symbol,OP_BUYLIMIT,1,SymbolInfoDouble(_Symbol,SYMBOL_ASK)-(1000*_Point),100,0,0,"",123,TimeCurrent()+(3600*1));
OrderSend(_Symbol,OP_BUYSTOP,1,SymbolInfoDouble(_Symbol,SYMBOL_ASK)+(1000*_Point),100,0,0,"",123,TimeCurrent()+(3600*1));
OrdersPlaced++;
}
}
voidOnTick ()
{
staticconstint handle = VIRTUAL :: Create (); // Created a handle for the virtual trading environment. 0 - real trading environmentstring Virtual;
if (VIRTUAL :: SelectByHandle (0)) // Selected a virtual trading environment
{
VIRTUAL :: NewTick (); // Added a tick to the virtual trading environment
System (); // Launched the TS on the selected trading environment (virtual)
Virtual = REPORT::OrdersToString (_Symbol,123,10,true);
}
if (VIRTUAL :: SelectByHandle (handle)) // Selected a virtual trading environment
{
VIRTUAL :: NewTick (); // Added a tick to the virtual trading environment
System (); // Launched the TS on the selected trading environment (virtual)
Virtual += "\n\n" + VIRTUAL::ToString (10,true);
}
Comment (Virtual); // Display the state of the virtual trading environment on the chart
}
This is practical for any strategy where there is a chance that the order will never be filled. In this case, they will hang forever.
Looked at the code. It really seems easy to implement. I know that you are busy, I will implement. If you want, I can post the code for inclusion in the next update.
This is practical for any strategy where there is a chance that the order will never be filled. In this case, they will hang forever.
Looked at the code. It really seems easy to implement. I know that you are busy, I will implement. If you want, I can post the code for inclusion in the next update.
Вы не сделали проверку на OrderExpiration == 0.
Недавно очень сильные изменения внес в библиотеку (совместимость полностью осталась, добавились новые возможности), еще не публиковал.
@fxsaber, спасибо за библиотеку, недавно начал разбираться в ней, пробую заюзать для фондового рынка но пока вообще никак, сразу заметил ошибку в расчёте прибыли ордера (для форекса наверное работает но для фодового нет):
но пока что всё равно очень сильно разнятся результаты с mt5 тестером, в сделку робот заходит одинаково а выходит совершенно по разному есть ли смысл вообще копать? и ещё не совсем понял из обсуждения - годится ли Virtial для прогонов на m1 OHLC ?
@fxsaber, доброго времени суток!
еще вопрос по Virtual, в этом коде:
хочу "пробежать" исторические данные "справа на лево", т.е. от текущей даты и в историю
Используется ли поле структуры MqlTick datetime time; при работе библиотеки Virtual в ее расчетах?
@fxsaber, доброго времени суток!
еще вопрос по Virtual, в этом коде:
хочу "пробежать" исторические данные "справа на лево", т.е. от текущей даты и в историю
Используется ли поле структуры MqlTick datetime time; при работе библиотеки Virtual в ее расчетах?
Может проще всего установить атрибут ArraySetAsSeries?
Может проще всего установить атрибут ArraySetAsSeries?
еще не проверял, пока собираю информацию
вопрос, в целом, будет ли библиотека корректно работать, или нужно специально для этих целей готовить OHLC "перевернутые"
Можно передать ВИРТУАЛЬНО непосредственно из CopyTicksRange, так что порядок, возвращаемый этой функцией, должен соответствовать вашим данным.
Отредактируйте, чтобы добавить. Прямо из источника - ваш ответ.
хочу "пробежать" исторические данные "справа на лево", т.е. от текущей даты и в историю
Используется ли поле структуры MqlTick datetime time; при работе библиотеки Virtual в ее расчетах?
Нет. Там просто пробежка по элементам массива.
Если мне не изменяет память, раньше это работало, но как-то не истекают отложенные ордера на Virtual.
Если мне не изменяет память, раньше это работало, но как-то не истекают отложенные ордера на Virtual.
OrderExpiration не реализовывал, т.к. не было нужно. Добавить несложно, но пока не вижу практического смысла.
This is practical for any strategy where there is a chance that the order will never be filled. In this case, they will hang forever.
Looked at the code. It really seems easy to implement. I know that you are busy, I will implement. If you want, I can post the code for inclusion in the next update.
Редактировать, код прилагается.This is practical for any strategy where there is a chance that the order will never be filled. In this case, they will hang forever.
Looked at the code. It really seems easy to implement. I know that you are busy, I will implement. If you want, I can post the code for inclusion in the next update.
Вы не сделали проверку на OrderExpiration == 0.
Недавно очень сильные изменения внес в библиотеку (совместимость полностью осталась, добавились новые возможности), еще не публиковал.
@fxsaber, спасибо за библиотеку, недавно начал разбираться в ней, пробую заюзать для фондового рынка но пока вообще никак, сразу заметил ошибку в расчёте прибыли ордера (для форекса наверное работает но для фодового нет):
заменил на:
но пока что всё равно очень сильно разнятся результаты с mt5 тестером, в сделку робот заходит одинаково а выходит совершенно по разному
есть ли смысл вообще копать?
и ещё не совсем понял из обсуждения - годится ли Virtial для прогонов на m1 OHLC ?