Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 995

 
Aleksey Vyazmikin:

Вероятно это своп.

Да вроде нет.

своп

 
Андрей:

Да вроде нет.


Полагаете, что столбец "комиссия" не сходится с Вашим убытком?

 
Aleksey Vyazmikin:

Полагаете, что столбец "комиссия" не сходится с Вашим убытком?

Вообще то, да. Вот хвост таблицы без вырезания строк.

комиссия

 
Андрей:

Вообще то, да. Вот хвост таблицы без вырезания строк.


Уж и не знаю, что Вы с чем складываете, но если столбец комиссии не меняется, то 0,26*38=9,88 , что чуть расходится с 9,86, но очень близко. Почему расходится - возможно не происходит округление или иная причина, о которой я не знаю.

 
Aleksey Vyazmikin:

Уж и не знаю, что Вы с чем складываете, но если столбец комиссии не меняется, то 0,26*38=9,88 , что чуть расходится с 9,86, но очень близко. Почему расходится - возможно не происходит округление или иная причина, о которой я не знаю.

Это exel складывает, да и значений там 76, причем 4 из них по 0.25 т.е. 0.26*72+0.25*4=19.72.

Еще вопрос возник, а почему тогда общая прибыль 54.64, а не 64.50.

Похоже надо наплевать и забыть про эти загигулины MQ.

 
Андрей:

Это exel складывает, да и значений там 76, причем 4 из них по 0.25 т.е. 0.26*72+0.25*4=19.72.

Еще вопрос возник, а почему тогда общая прибыль 54.64, а не 64.50.

Похоже надо наплевать и забыть про эти загигулины MQ.

Не так вот эти 64.50
 
Alexey Viktorov:
Не так вот эти 64.50

Как раз 64.50 действительное значение, а вот 9.86 это половина от полной комиссии 19.72 и тогда 44.78+9.86=54.64.

Возникает вопрос, а зачем нужна такая загигулина, если действительное значение полной прибыли =64.50?

 
Андрей:
Как раз 64.50 действительное значение, а вот 9.86 это половина от полной комиссии 19.72 и тогда 44.78+9.86=54.64.

Возникает вопрос, а зачем нужна такая загигулина, если действительное значение полной прибыли =64.50?

Как можно судить о терминале по данным вручную вынесенным в excell где гарантии что при переносе не потерялись сделки закрытия позиций? В МТ5 комиссия берётся при открытии и при закрытии позиции. А комиссия взимается за транзакцию. Отсюда комиссия за покупку и комиссия за продажу, итого две транзакции. Ведь на бирже не только спекулянты, но ещё и те кто одноразово конвертирует свою валюту для взаиморасчётов.
 
Люди помогите. Пытаюсь получить цену по которой открылась сделка. Сначала торговал через CTrade но trade.resultprice был равен нулю. Начал делать через MqlTrade, в тестере result.price показывал нормально но в лайве стал равен нулю. Сделал через OnTradeTransaction но в лайве при очень быстрых сделках он тупит показывая ноль, а при остановке авто-торговли показывает цену последней сделки. Какие есть способы получить цену по которой прошла buy сделка? 
 
mikhail_shmakov:
Люди помогите. Пытаюсь получить цену по которой открылась сделка. Сначала торговал через CTrade но trade.resultprice был равен нулю. Начал делать через MqlTrade, в тестере result.price показывал нормально но в лайве стал равен нулю. Сделал через OnTradeTransaction но в лайве при очень быстрых сделках он тупит показывая ноль, а при остановке авто-торговли показывает цену последней сделки. Какие есть способы получить цену по которой прошла buy сделка? 
struct MqlTradeTransaction 
  { 
   ulong                         deal;             // Тикет сделки 
   ulong                         order;            // Тикет ордера 
   string                        symbol;           // Имя торгового инструмента 
   ENUM_TRADE_TRANSACTION_TYPE   type;             // Тип торговой транзакции 
   ENUM_ORDER_TYPE               order_type;       // Тип ордера 
   ENUM_ORDER_STATE              order_state;      // Состояние ордера 
   ENUM_DEAL_TYPE                deal_type;        // Тип сделки 
   ENUM_ORDER_TYPE_TIME          time_type;        // Тип ордера по времени действия 
   datetime                      time_expiration;  // Срок истечения ордера 
   double                        price;            // Цена  
   double                        price_trigger;    // Цена срабатывания стоп-лимитного ордера 
   double                        price_sl;         // Уровень Stop Loss 
   double                        price_tp;         // Уровень Take Profit 
   double                        volume;           // Объем в лотах 
   ulong                         position;         // Тикет позиции 
   ulong                         position_by;      // Тикет встречной позиции 
  };
Что значит "при очень быстрых сделках"? OnTradeTransaction отрабатывает при каждом трейде. Только надо отделить тип транзакции и цену брать при TRADE_TRANSACTION_DEAL_ADD
Документация по MQL5: Константы, перечисления и структуры / Структуры данных / Структура торговой транзакции
Документация по MQL5: Константы, перечисления и структуры / Структуры данных / Структура торговой транзакции
  • www.mql5.com
Например, при отсылке рыночного ордера на покупку он обрабатывается, для счета создается соответствующий ордер на покупку, происходит исполнение ордера, его удаление из списка открытых, добавление в историю ордеров, далее добавляется соответствующая сделка в историю и создается новая позиция. Все эти действия являются торговыми транзакциями...