Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Я чуть выше написал конкретный вопрос - как вытащить лоты по порядку, начиная с buy 0.41, sell 0.54 и т.д. из лога. Может и я туплю. Ну так просветите, плиз.
Я чуть выше написал конкретный вопрос - как вытащить лоты по порядку, начиная с buy 0.41, sell 0.54 и т.д. из лога. Может и я туплю. Ну так просветите, плиз.
К сожалению, в тестере и в онлайн МТ4 разный алгоритм расстановки комментариев. Приведенный мною код работает именно в онлайн. В онлайн у закрытого ордера buy 0.41 будет комментарий "partial close", если первым в OrderCloseBy будет указан его тикет, и "close hedge by", если вторым. А вот у оставшегося ордера sell 0.13 в любом случае (и в тестере тоже) будет комментарий "from #".
В тестере отличие от онлайн только в комментариях ордеров, оказавшихся в истории. Так, если указать в OrderCloseBy первым ордер с бОльшим объемом, то у этого ордера в истории счета не будет вообще никакого комментария. В истории он будет выглядеть как просто закрытый ордер. То есть узнать о встречном закрытии можно будет только при сопоставлении данных от трех ордеров:
1. Рабочий ордер sell 0.13 указывает в комментарии (from #2) на закрытый ордер sell 0.41.
2. Закрытый ордер buy 0.00 указывает в комментарии (close hedge by #2) на тот же ордер.
Другая история, если в OrderCloseBy первым указать ордер с меньшим объемом. Тогда у закрытого ордера buy появится объем (0.41) и комментарий "to #2".
К сожалению, в тестере и в онлайн МТ4 разный алгоритм расстановки комментариев. Приведенный мною код работает именно в онлайн. В онлайн у закрытого ордера buy 0.41 будет комментарий "partial close", если первым в OrderCloseBy будет указан его тикет, и "close hedge by", если вторым. А вот у оставшегося ордера sell 0.13 в любом случае (и в тестере тоже) будет комментарий "from #".
В тестере отличие от онлайн только в комментариях ордеров, оказавшихся в истории. Так, если указать в OrderCloseBy первым ордер с бОльшим объемом, то у этого ордера в истории счета не будет вообще никакого комментария. В истории он будет выглядеть как просто закрытый ордер. То есть узнать о встречном закрытии можно будет только при сопоставлении данных от трех ордеров:
1. Рабочий ордер sell 0.13 указывает в комментарии (from #2) на закрытый ордер sell 0.41.
2. Закрытый ордер buy 0.00 указывает в комментарии (close hedge by #2) на тот же ордер.
Другая история, если в OrderCloseBy первым указать ордер с меньшим объемом. Тогда у закрытого ордера buy появится объем (0.41) и комментарий "to #2".
все верно.
просто топикстартер больше по теории,
не хочет ни смотреть, ни пробовать ничего что советуют люди, пришедшие к этим ответам практикой.
все верно.
просто топикстартер больше по теории,
не хочет ни смотреть, ни пробовать ничего что советуют люди, пришедшие к этим ответам практикой.
Вы заделались модератором чтобы хамить? Очень удобно.
Я задаю вопрос, чтобы оптимизировать расход времени. Между прочим вопрос с публикацией лога из программы, так что наезд по поводу нежелания попробовать неудачный. И если пробовать методом тыка каждую мелочь, времени на реальные задачи не хватит.
Нормальные люди учатся на опыте других. Также нормальная документация должна была бы содержать все то, что другие добрые люди озвучили. Им спасибо.
В тестере отличие от онлайн только в комментариях ордеров, оказавшихся в истории. Так, если указать в OrderCloseBy первым ордер с бОльшим объемом, то у этого ордера в истории счета не будет вообще никакого комментария. В истории он будет выглядеть как просто закрытый ордер. То есть узнать о встречном закрытии можно будет только при сопоставлении данных от трех ордеров:
1. Рабочий ордер sell 0.13 указывает в комментарии (from #2) на закрытый ордер sell 0.41.
2. Закрытый ордер buy 0.00 указывает в комментарии (close hedge by #2) на тот же ордер.
Другая история, если в OrderCloseBy первым указать ордер с меньшим объемом. Тогда у закрытого ордера buy появится объем (0.41) и комментарий "to #2".
Stanislav Korotky:
Я не вижу ни коммента "from #" (если бы первый ордер был большего объема),
Насколько я понял, лог Вы привели, используя список истории счета. Поэтому не удивительно, что в нем нет ордера sell 0.13, т. к. он является рабочим. Возьмите список рабочих ордеров. В нем увидите комментарий "from #". Также еще раз обращу внимание на тот факт, что наличие комментария "from #" у этого ордера никак не связано с очередностью указания тикетов при встречном закрытии.
Комментария "to #" в приведенном случае нет, т. к. закрытие происходило по первому варианту (в OrderCloseBy первым указан ордер с бОльшим объемом). Поэтому вычисление соответствия в тестере будет происходить по другому алгоритму:
1. Рабочий ордер sell 0.13 указывает в комментарии (from #2) на закрытый ордер sell 0.41.
2. Закрытый ордер buy 0.00 указывает в комментарии (close hedge by #2) на тот же ордер.
Таким образом, нужно одновременно сканировать оба списка: истории и рабочих ордеров.
Вопрос: каким образом из кода MQL можно получить аналог таблицы выводимой тестером?
Нужно в любой момент одиночного прогона построить такую же таблицу, как "Результаты" в тестере?
Да. Как выяснилось, это невозможно сделать постфактум и нужно мониторить ордера постоянно.
Да. Как выяснилось, это невозможно сделать постфактум и нужно мониторить ордера постоянно.