Учет ордеров - страница 3

 
Renat Akhtyamov:

по тикету - самое надежное решение

но зависит от стратегии

Ну да, зависит, если часть ордера закрыть то тикет поменяется

 
Maksim Neimerik:

А вот это действительно простое решение! Пожалуй стоит попробовать... 

Самое интересное, что это решение было воплощено в коде еще на первой странице. Но почему-то попробовать его Вы не захотели. Там структура - тот же двумерный массив. Но зачем он нужен, если проще обойтись одномерным?

 
Maksim Neimerik:

Ну да, зависит, если часть ордера закрыть то тикет поменяется

После частичного закрытия ордера его можно найти в истории счета. Остаток от ордера все равно будет указывать на родительский ордер в комментарии.

 
Renat Akhtyamov:
а если проверить?

Проверяем, не работает:

Ордер 585690720 (больший тикет) имеет меньшее время открытия, чем ордер 585639412 (меньший тикет).

Предположение о том, что возрастание тикета соответствует возрастанию времени оказывается неправильным в некоторых специфических случаях.

 
Ihor Herasko:

Проверяем, не работает:

Предположение о том, что возрастание тикета соответствует возрастанию времени оказывается неправильным в некоторых специфических случаях.

проверять нужно код в работе,

речи о тикетах в нем нет

 
Renat Akhtyamov:

проверять нужно код в работе,

речи о тикетах в нем нет

Проверено, не работает:

0 09:39:39.228 Test AUDUSD,H1: #585690720 2020.12.10 12:50:16 buy 0.09 GBPUSD 1.33067 1.26703 1.34194 1.33737 0.00 -0.74 60.30  0

0 09:39:39.228 Test AUDUSD,H1: #585639546 2020.12.11 20:32:36 sell 0.10 USDCAD 1.27689 1.28202 1.27125 1.27482 0.00 -0.45 16.24  0

0 09:39:39.228 Test AUDUSD,H1: #585639412 2020.12.11 20:30:50 buy 0.10 NZDUSD 0.70801 0.70270 0.71078 0.70998 0.00 -0.20 19.70  0



 
Ihor Herasko:

Проверено, не работает:

0 09:39:39.228 Test AUDUSD,H1: #585690720 2020.12.10 12:50:16 buy 0.09 GBPUSD 1.33067 1.26703 1.34194 1.33737 0.00 -0.74 60.30  0

0 09:39:39.228 Test AUDUSD,H1: #585639546 2020.12.11 20:32:36 sell 0.10 USDCAD 1.27689 1.28202 1.27125 1.27482 0.00 -0.45 16.24  0

0 09:39:39.228 Test AUDUSD,H1: #585639412 2020.12.11 20:30:50 buy 0.10 NZDUSD 0.70801 0.70270 0.71078 0.70998 0.00 -0.20 19.70  0



У Вас три ордера

Ищем пять кажись

 
Renat Akhtyamov:

У Вас три ордера

Ищем пять кажись

Хотите сказать, что значение переменной 

calcOR

играет важную роль? То есть в нее ничего другого, кроме как 5, записать нельзя? Я вот поставил 3 и именно поэтому весь алгоритм рухнул?

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

Учет ордеров
Учет ордеров
  • 2020.12.13
  • www.mql5.com
Привет всем! Столкнулся я с такой задачей где нужно считать данные последних, например пяти, открытых ордеров...
 
Ihor Herasko:

Проверяем, не работает:

Ордер 585690720 (больший тикет) имеет меньшее время открытия, чем ордер 585639412 (меньший тикет).

Предположение о том, что возрастание тикета соответствует возрастанию времени оказывается неправильным в некоторых специфических случаях.

Подскажите в каких случаях так получается? Новость для меня.

Я последний тоже всегда искал просто по порядку в списке с конца.

 
Aleksey Mavrin:

Подскажите в каких случаях так получается? Новость для меня.

Я последний тоже всегда искал просто по порядку в списке с конца.

Отложка, выставленная раньше, сработала позже.