Заключайте сделки вместо должности - страница 3

 
doshur:

но если программа будет перезапущена, все данные исчезнут.

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

Решение AmitJamuda - единственный способ сделать то, что вы хотите, в MT5/mql5, но, очевидно, это не тривиальная задача, и вы должны управлять сохранением данных.

В любом случае, вы хотите сделать то же самое, что и в MT4/mql4 с MT5/mql5. Почему бы тогда не использовать MT4/mql4? Это гораздо проще сделать.

 
angevoyageur:

Решение AmitJamuda - единственный способ сделать то, что вы хотите в MT5/mql5, но, очевидно, это не тривиальная задача, и вам придется управлять сохранением данных.

В любом случае, вы хотите сделать то же самое, что и в MT4/mql4 с MT5/mql5. Почему бы тогда не использовать MT4/mql4? Это гораздо проще сделать.

Я понимаю. Если бы только тестер стратегий MT4 был таким же быстрым, как MT5, тогда все было бы намного проще и быстрее.
 
angevoyageur:
Нет, вы ошибаетесь. Открытая цена не меняется, когда вы "закрываете" часть позиции.

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

Видите разницу в средней цене, учитывая, что одна из сделок закрыта.

Documentation on MQL5: Standard Constants, Enumerations and Structures / Indicator Constants / Price Constants
Documentation on MQL5: Standard Constants, Enumerations and Structures / Indicator Constants / Price Constants
  • www.mql5.com
Standard Constants, Enumerations and Structures / Indicator Constants / Price Constants - Documentation on MQL5
 
doshur:

но если программа будет перезапущена, все данные исчезнут.

во-вторых, средняя цена в позиции будет использоваться вместо цены открытия сделки.

Если вы опасаетесь перезапуска программы, используйте файл вместо массива.
 
AmitJamuda:

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

Видите разницу в средней цене, учитывая, что одна из сделок закрыта.

опс. Я имел в виду среднюю цену открытия.

например

Я открываю две сделки по 100 и 50. Цена сейчас 75, и я решаю закрыть сделку, открытую по 50. Моя прибыль будет равна 0, правильно?

 
AmitJamuda:

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

Видите разницу в средней цене, учитывая, что одна из сделок закрыта.

Это не имеет смысла. Есть только 1 позиция с открытой ценой, которая рассчитывается путем усреднения цен сделок в направлении. Когда вы совершаете сделку на выход, P/L рассчитывается по разнице между открытой ценой позиции и ценой сделки на выход. Объем позиции уменьшается на объем этой сделки на выход, а цена открытия не меняется.
 
doshur:

опс. Я имел в виду среднюю цену открытия.

например

я открываю две сделки по цене 100 и 50. Цена сейчас 75, и я решаю закрыть сделку, открытую по 50. Моя прибыль будет равна 0, верно?

Похоже, вы все еще не понимаете, что такое сделка, вы можете сказать, что сделка открывается или закрывается, но это бессмысленно. Сделка имеет направление, она может быть в или из (или в/из, но будьте проще). Сделка с направлением внутрь добавляет к вашей фактической позиции, цена открытия позиции затем рассчитывается по усредненной цене. Сделка с направлением наружу уменьшает вашу позицию, а цена открытия не меняется.

В вашем примере P/L зависит от направления вашей позиции/сделки. У вас позиция на покупку или на продажу по цене 75? Есть ли у вас новая сделка на 50, которая направлена внутрь или наружу?

Позиция
Сделка
Результаты
ПОКУПКА по 75
СДЕЛКА при 50 = ПОКУПКА (IN)
Позиция BUY по новой усредненной цене. Нет P/L
ПОКУПАТЬ по цене 75
СДЕЛАТЬ при 50 = ПРОДАТЬ (OUT)
Позиция ПОКУПКА по неизменной цене. P/L=-25 * размер лота
ПРОДАЖА по цене 75
СДЕЛКА при 50 = ПОКУПКА (ВЫХОД)
Позиция SELL по неизменной цене. P/L=+25 * размер лота
ПРОДАВАТЬ по цене 75
СДЕЛКА при 50 = ПРОДАТЬ (ВХОД)
Позиция ПРОДАЖА по новой усредненной цене. Нет P/L
Documentation on MQL5: Standard Constants, Enumerations and Structures / Indicator Constants / Price Constants
Documentation on MQL5: Standard Constants, Enumerations and Structures / Indicator Constants / Price Constants
  • www.mql5.com
Standard Constants, Enumerations and Structures / Indicator Constants / Price Constants - Documentation on MQL5
 
angevoyageur:

Похоже, вы все еще не понимаете, что такое сделка, вы можете сказать, что сделка открывается или закрывается, но это бессмысленно. Сделка имеет направление, это может быть вход или выход (или вход/выход, но не упрощайте). Сделка с направлением внутрь добавляет к вашей фактической позиции, цена открытия позиции затем рассчитывается по усредненной цене. Сделка с направлением наружу уменьшает вашу позицию, а цена открытия не меняется.

В вашем примере P/L зависит от направления вашей позиции/сделки. У вас позиция на покупку или на продажу по цене 75? Есть ли у вас новая сделка на 50, которая направлена внутрь или наружу?

Позиция
Сделка
Результаты
ПОКУПКА при цене 75
СДЕЛКА по цене 50 = ПОКУПКА (IN)
Позиция BUY по новой усредненной цене. Нет P/L
ПОКУПАТЬ по цене 75
СДЕЛАТЬ при 50 = ПРОДАТЬ (OUT)
Позиция ПОКУПКА по неизменной цене. P/L=-25 * размер лота
ПРОДАЖА по цене 75
СДЕЛКА при 50 = ПОКУПКА (ВЫХОД)
Позиция SELL по неизменной цене. P/L=+25 * размер лота
ПРОДАЖА по цене 75
СДЕЛКА при 50 = ПРОДАТЬ (ВХОД)
Позиция ПРОДАЖА по новой усредненной цене. Нет P/L

Термины в сторону. Давайте использовать обычные термины.

В моем примере. Я покупаю по цене 100 (1 лот) и по цене 50 (1 лот). Моя средняя цена открытия будет 75, правильно?

Когда цена находится на уровне 75, и я решил закрыть 1 лот. Для закрытой позиции в 1 лот, моя прибыль будет равна 0, правильно?

 
Да
 
doshur:

Термины в сторону. Давайте использовать непрофессиональные термины.

Если вы не используете правильные термины, вы не сможете эффективно общаться ...

Ордера, позиции и сделки в MetaTrader 5