Ошибки, баги, вопросы - страница 808

 
Zeleniy:

Еще один вопрос возник, хотел на ресурсах "прорекламировать интервью с Ириной Коробейниковой но как это сделать? если:

Предупреждение: все права на данные материалы принадлежат MetaQuotes Software Corp. Полная или частичная перепечатка запрещена.

Вряд ли умаю из-за одного названия будут переходить на оригинал статьи.

Можете разместить анонс статьи, как это делаем мы. Это не противоречит правилам, и Вы как автор имеете на это право.
 
Кто-нибудь может поделиться кодом перехвата наступления событий стоплосса в OnTradeTransaction?
 
Zeleniy:

Писал в сервисдеск, была проблема с уведомлениями на почту, ссылки устаревшие\не рабочие от Вас.

Как определить, что решили по данному тикету? Вы даже не ответили в сервисдеск.

Спасибо за указание на ошибку.

Некорректная ссылка исправлена.

В сервисдеске вам ответили.

 

Разбираюсь с OnTradeTransaction для определения факта срабатывания SL/TP (см. выше, если кто-то все-таки поделился, будет здорово ;-)), и наткнулся на такую странность. В документации написано, что для случая TRADE_TRANSACTION_DEAL_ADD в полях price_sl и price_tp хранится цена, цитирую отсюда -  https://www.mql5.com/ru/docs/constants/structures/mqltradetransaction :

  • price_sl - цена Stop Loss (заполняется, если указана в ордере, на основе которого совершена сделка);
  • price_tp - цена Take Profit (заполняется, если указана в ордере, на основе которого совершена сделка);

 однако в логе, выводимом примером с той же страницы я вижу, что в поле TP прописывается баланс счета. Чему верить? NB. Смотрю в тестере.

Вот фрагмент лога:

TRADE_TRANSACTION_DEAL_ADD

Symbol: EURUSD

Deal ticket: 3

Deal type: DEAL_TYPE_SELL

Order ticket: 3

Order type: ORDER_TYPE_BUY

Order state: ORDER_STATE_STARTED

Order time type: ORDER_TIME_GTC

Order expiration: 1970.01.01 00:00

Price: 1.29979

Price trigger: 0

Stop Loss: 0

Take Profit: 10049.9

Volume: 0.1


Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных / Структура торговой транзакции
Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных / Структура торговой транзакции
  • www.mql5.com
Стандартные константы, перечисления и структуры / Структуры данных / Структура торговой транзакции - Документация по MQL5
[Удален]  
marketeer:

Разбираюсь с OnTradeTransaction для определения факта срабатывания SL/TP (см. выше, если кто-то все-таки поделился, будет здорово ;-)), и наткнулся на такую странность. В документации написано, что для случая TRADE_TRANSACTION_DEAL_ADD в полях price_sl и price_tp хранится цена, цитирую отсюда -  https://www.mql5.com/ru/docs/constants/structures/mqltradetransaction :

  • price_sl - цена Stop Loss (заполняется, если указана в ордере, на основе которого совершена сделка);
  • price_tp - цена Take Profit (заполняется, если указана в ордере, на основе которого совершена сделка);

 однако в логе, выводимом примером с той же страницы я вижу, что в поле TP прописывается баланс счета. Чему верить? NB. Смотрю в тестере.


Если верить документации то это баг в чистом виде.

А другой ситуации я не представляю, просто не разумно на мой взгляд "ложить" туда прибыль от операции или значение баланса.

[Удален]  
Господа, кто-нибудь знает какой-нибудь табличный редактор (вроде Excel) c Си подобным прикладным языком?
 
220Volt:
Господа, кто-нибудь знает какой-нибудь табличный редактор (вроде Excel) c Си подобным прикладным языком?

Excel можно программировать на C#, а в принципе на любом языке можно докопаться, особенно если есть готовая библиотечка. Офисные программы (включая Excel) это COM-объекты. Их интерфейс описан и доступен на публику. Найти можно при желании.  Копай MSDN.

Я  этим глубоко не занимался, правда было дело на делфи делал прикладушку, которая из большого набора однотипных HTML-файлов выдёргивала данные, открывая эти файлы в Excel'е, и складывала данные в базу.  Но я при этом я пользовался готовой (чужой) библиотекой для доступа к ячейкам.

Под борланд С++билдер однозначно существуют библиотеки для доступа к офисным программам, по моему даже в стандартной поставке есть объекты-намордники.  Уверен что и в студии дела не хуже обстоят.  НЕ ищи левую таблицу, работай с Excel-oм (через COM-интерфейс),  надёжнее будет (имха). 

--

У меня один парниша знакомый уже много лет в какой-то конторе обрабатывает Excel-файлы из JAVA, тоже через COM-намордник. И не жалуется ни разу.

 
marketeer:

 однако в логе, выводимом примером с той же страницы я вижу, что в поле TP прописывается баланс счета. Чему верить? NB. Смотрю в тестере.

Это  чисто баг тестера. Поле trans.price_tp в случае TRADE_TRANSACTION_DEAL_ADD может содержать 0 или любой мусор. В on-line торговле выводится всё правильно.
 
marketeer:

Разбираюсь с OnTradeTransaction для определения факта срабатывания SL/TP (см. выше, если кто-то все-таки поделился, будет здорово ;-)), и наткнулся на такую странность. В документации написано, что для случая TRADE_TRANSACTION_DEAL_ADD в полях price_sl и price_tp хранится цена, цитирую отсюда -  https://www.mql5.com/ru/docs/constants/structures/mqltradetransaction :

  • price_sl - цена Stop Loss (заполняется, если указана в ордере, на основе которого совершена сделка);
  • price_tp - цена Take Profit (заполняется, если указана в ордере, на основе которого совершена сделка);

 однако в логе, выводимом примером с той же страницы я вижу, что в поле TP прописывается баланс счета. Чему верить? NB. Смотрю в тестере.


Спасибо за сообщение, обязательно исправим.
 

Возвращаюсь к вопросу об определении стоплоссов и тейкпрофитов в событии OnTradeTransaction. Имею следующий лог, выводящий все поля структур (взято из примера МетаКвотов), и это уже не тестер, а конкурсный онлайн. Вот производится покупка:

ON	0	transactions (EURUSD,H1)	11:14:23	OrderSendWrapper:0.10 EURUSD BUY
JK	0	transactions (EURUSD,H1)	11:14:23	_OrderSend price=1.23575 vol=0.10
GM	0	transactions (EURUSD,H1)	11:14:24	TRADE_TRANSACTION_REQUEST
OH	0	transactions (EURUSD,H1)	11:14:24	------------RequestDescription
PK	0	transactions (EURUSD,H1)	11:14:24	TRADE_ACTION_DEAL
DJ	0	transactions (EURUSD,H1)	11:14:24	Symbol: EURUSD
FN	0	transactions (EURUSD,H1)	11:14:24	Magic Number: 0
PD	0	transactions (EURUSD,H1)	11:14:24	Order ticket: 11670896
PL	0	transactions (EURUSD,H1)	11:14:24	Order type: ORDER_TYPE_BUY
JF	0	transactions (EURUSD,H1)	11:14:24	Order filling: ORDER_FILLING_FOK
FM	0	transactions (EURUSD,H1)	11:14:24	Order time type: ORDER_TIME_GTC
NG	0	transactions (EURUSD,H1)	11:14:24	Order expiration: 1970.01.01 00:00
HI	0	transactions (EURUSD,H1)	11:14:24	Price: 1.23579
EG	0	transactions (EURUSD,H1)	11:14:24	Deviation points: 10
DR	0	transactions (EURUSD,H1)	11:14:24	Stop Loss: 1.2354
PJ	0	transactions (EURUSD,H1)	11:14:24	Take Profit: 1.2361
ON	0	transactions (EURUSD,H1)	11:14:24	Stop Limit: 0
MK	0	transactions (EURUSD,H1)	11:14:24	Volume: 0.1
IQ	0	transactions (EURUSD,H1)	11:14:24	Comment: 
FG	0	transactions (EURUSD,H1)	11:14:24	
MF	0	transactions (EURUSD,H1)	11:14:24	------------ResultDescription
JL	0	transactions (EURUSD,H1)	11:14:24	Retcode 10009
ME	0	transactions (EURUSD,H1)	11:14:24	Request ID: 1
RL	0	transactions (EURUSD,H1)	11:14:24	Order ticket: 11670896
NK	0	transactions (EURUSD,H1)	11:14:24	Deal ticket: 10809619
QS	0	transactions (EURUSD,H1)	11:14:24	Volume: 0.1
LJ	0	transactions (EURUSD,H1)	11:14:24	Price: 1.23579
RR	0	transactions (EURUSD,H1)	11:14:24	Ask: 1.23579
PI	0	transactions (EURUSD,H1)	11:14:24	Bid: 1.23566
GE	0	transactions (EURUSD,H1)	11:14:24	Comment: 
DS	0	transactions (EURUSD,H1)	11:14:24	
GE	0	transactions (EURUSD,H1)	11:14:24	 Тикет отложенного ордера 11670896
LR	0	transactions (EURUSD,H1)	11:14:24	
LG	0	transactions (EURUSD,H1)	11:14:24	------------TransactionDescription
FQ	0	transactions (EURUSD,H1)	11:14:24	TRADE_TRANSACTION_ORDER_ADD
HF	0	transactions (EURUSD,H1)	11:14:24	Symbol: EURUSD
HM	0	transactions (EURUSD,H1)	11:14:24	Deal ticket: 0
DK	0	transactions (EURUSD,H1)	11:14:24	Deal type: DEAL_TYPE_BUY
DQ	0	transactions (EURUSD,H1)	11:14:24	Order ticket: 11670896
DI	0	transactions (EURUSD,H1)	11:14:24	Order type: ORDER_TYPE_BUY
CR	0	transactions (EURUSD,H1)	11:14:24	Order state: ORDER_STATE_STARTED
RI	0	transactions (EURUSD,H1)	11:14:24	Order time type: ORDER_TIME_GTC
JS	0	transactions (EURUSD,H1)	11:14:24	Order expiration: 1970.01.01 00:00
DE	0	transactions (EURUSD,H1)	11:14:24	Price: 1.23579
QN	0	transactions (EURUSD,H1)	11:14:24	Price trigger: 0
PG	0	transactions (EURUSD,H1)	11:14:24	Stop Loss: 1.2354
LM	0	transactions (EURUSD,H1)	11:14:24	Take Profit: 1.2361
EF	0	transactions (EURUSD,H1)	11:14:24	Volume: 0.1
JI	0	transactions (EURUSD,H1)	11:14:24	
NS	0	transactions (EURUSD,H1)	11:14:24	------------TransactionDescription
HH	0	transactions (EURUSD,H1)	11:14:24	TRADE_TRANSACTION_ORDER_DELETE
DR	0	transactions (EURUSD,H1)	11:14:24	Symbol: EURUSD
LJ	0	transactions (EURUSD,H1)	11:14:24	Deal ticket: 0
PN	0	transactions (EURUSD,H1)	11:14:24	Deal type: DEAL_TYPE_BUY
PD	0	transactions (EURUSD,H1)	11:14:24	Order ticket: 11670896
PL	0	transactions (EURUSD,H1)	11:14:24	Order type: ORDER_TYPE_BUY
NJ	0	transactions (EURUSD,H1)	11:14:24	Order state: ORDER_STATE_FILLED
PM	0	transactions (EURUSD,H1)	11:14:24	Order time type: ORDER_TIME_GTC
HG	0	transactions (EURUSD,H1)	11:14:24	Order expiration: 1970.01.01 00:00
JI	0	transactions (EURUSD,H1)	11:14:24	Price: 1.23579
OJ	0	transactions (EURUSD,H1)	11:14:24	Price trigger: 0
NS	0	transactions (EURUSD,H1)	11:14:24	Stop Loss: 1.2354
JJ	0	transactions (EURUSD,H1)	11:14:24	Take Profit: 1.2361
FS	0	transactions (EURUSD,H1)	11:14:24	Volume: 0
HE	0	transactions (EURUSD,H1)	11:14:24	
HN	0	transactions (EURUSD,H1)	11:14:24	------------TransactionDescription
FI	0	transactions (EURUSD,H1)	11:14:24	TRADE_TRANSACTION_HISTORY_ADD
HN	0	transactions (EURUSD,H1)	11:14:24	Symbol: EURUSD
HE	0	transactions (EURUSD,H1)	11:14:24	Deal ticket: 0
DS	0	transactions (EURUSD,H1)	11:14:24	Deal type: DEAL_TYPE_BUY
DI	0	transactions (EURUSD,H1)	11:14:24	Order ticket: 11670896
DQ	0	transactions (EURUSD,H1)	11:14:24	Order type: ORDER_TYPE_BUY
RF	0	transactions (EURUSD,H1)	11:14:24	Order state: ORDER_STATE_FILLED
LQ	0	transactions (EURUSD,H1)	11:14:24	Order time type: ORDER_TIME_GTC
DK	0	transactions (EURUSD,H1)	11:14:24	Order expiration: 1970.01.01 00:00
FM	0	transactions (EURUSD,H1)	11:14:24	Price: 1.23579
CF	0	transactions (EURUSD,H1)	11:14:24	Price trigger: 0
RO	0	transactions (EURUSD,H1)	11:14:24	Stop Loss: 1.2354
NE	0	transactions (EURUSD,H1)	11:14:24	Take Profit: 1.2361
RO	0	transactions (EURUSD,H1)	11:14:24	Volume: 0
DQ	0	transactions (EURUSD,H1)	11:14:24	
DJ	0	transactions (EURUSD,H1)	11:14:24	------------TransactionDescription
LQ	0	transactions (EURUSD,H1)	11:14:24	TRADE_TRANSACTION_DEAL_ADD
FK	0	transactions (EURUSD,H1)	11:14:24	Symbol: EURUSD
DR	0	transactions (EURUSD,H1)	11:14:24	Deal ticket: 10809619
PF	0	transactions (EURUSD,H1)	11:14:24	Deal type: DEAL_TYPE_BUY
PL	0	transactions (EURUSD,H1)	11:14:24	Order ticket: 11670896
PD	0	transactions (EURUSD,H1)	11:14:24	Order type: ORDER_TYPE_BUY
GN	0	transactions (EURUSD,H1)	11:14:24	Order state: ORDER_STATE_STARTED
FE	0	transactions (EURUSD,H1)	11:14:24	Order time type: ORDER_TIME_GTC
NO	0	transactions (EURUSD,H1)	11:14:24	Order expiration: 1970.01.01 00:00
HQ	0	transactions (EURUSD,H1)	11:14:24	Price: 1.23579
MR	0	transactions (EURUSD,H1)	11:14:24	Price trigger: 0
LK	0	transactions (EURUSD,H1)	11:14:24	Stop Loss: 1.2354
HR	0	transactions (EURUSD,H1)	11:14:24	Take Profit: 1.2361
QJ	0	transactions (EURUSD,H1)	11:14:24	Volume: 0.1
NR	0	transactions (EURUSD,H1)	11:14:24	

 А вот она закрывается по тейкпрофиту:

DJ	0	transactions (EURUSD,H1)	11:20:38	------------TransactionDescription
JN	0	transactions (EURUSD,H1)	11:20:38	TRADE_TRANSACTION_ORDER_ADD
DH	0	transactions (EURUSD,H1)	11:20:38	Symbol: EURUSD
PP	0	transactions (EURUSD,H1)	11:20:38	Deal ticket: 0
PH	0	transactions (EURUSD,H1)	11:20:38	Deal type: DEAL_TYPE_BUY
LR	0	transactions (EURUSD,H1)	11:20:38	Order ticket: 11670968
HG	0	transactions (EURUSD,H1)	11:20:38	Order type: ORDER_TYPE_SELL
MO	0	transactions (EURUSD,H1)	11:20:38	Order state: ORDER_STATE_STARTED
HF	0	transactions (EURUSD,H1)	11:20:38	Order time type: ORDER_TIME_GTC
PN	0	transactions (EURUSD,H1)	11:20:38	Order expiration: 1970.01.01 00:00
JE	0	transactions (EURUSD,H1)	11:20:38	Price: 1.2361
MS	0	transactions (EURUSD,H1)	11:20:38	Price trigger: 0
MJ	0	transactions (EURUSD,H1)	11:20:38	Stop Loss: 0
IR	0	transactions (EURUSD,H1)	11:20:38	Take Profit: 0
QD	0	transactions (EURUSD,H1)	11:20:38	Volume: 0.1
NO	0	transactions (EURUSD,H1)	11:20:38	
NP	0	transactions (EURUSD,H1)	11:20:38	------------TransactionDescription
LN	0	transactions (EURUSD,H1)	11:20:38	TRADE_TRANSACTION_ORDER_DELETE
DE	0	transactions (EURUSD,H1)	11:20:38	Symbol: EURUSD
PK	0	transactions (EURUSD,H1)	11:20:38	Deal ticket: 0
PM	0	transactions (EURUSD,H1)	11:20:38	Deal type: DEAL_TYPE_BUY
LG	0	transactions (EURUSD,H1)	11:20:38	Order ticket: 11670968
HR	0	transactions (EURUSD,H1)	11:20:38	Order type: ORDER_TYPE_SELL
HH	0	transactions (EURUSD,H1)	11:20:38	Order state: ORDER_STATE_FILLED
FK	0	transactions (EURUSD,H1)	11:20:38	Order time type: ORDER_TIME_GTC
NQ	0	transactions (EURUSD,H1)	11:20:38	Order expiration: 1970.01.01 00:00
HH	0	transactions (EURUSD,H1)	11:20:38	Price: 1.2361
KL	0	transactions (EURUSD,H1)	11:20:38	Price trigger: 0
GG	0	transactions (EURUSD,H1)	11:20:38	Stop Loss: 0
GI	0	transactions (EURUSD,H1)	11:20:38	Take Profit: 0
RS	0	transactions (EURUSD,H1)	11:20:38	Volume: 0
DJ	0	transactions (EURUSD,H1)	11:20:38	
HO	0	transactions (EURUSD,H1)	11:20:38	------------TransactionDescription
JI	0	transactions (EURUSD,H1)	11:20:38	TRADE_TRANSACTION_HISTORY_ADD
LN	0	transactions (EURUSD,H1)	11:20:38	Symbol: EURUSD
HF	0	transactions (EURUSD,H1)	11:20:38	Deal ticket: 0
HR	0	transactions (EURUSD,H1)	11:20:38	Deal type: DEAL_TYPE_BUY
DH	0	transactions (EURUSD,H1)	11:20:38	Order ticket: 11670968
PM	0	transactions (EURUSD,H1)	11:20:38	Order type: ORDER_TYPE_SELL
PF	0	transactions (EURUSD,H1)	11:20:38	Order state: ORDER_STATE_FILLED
NQ	0	transactions (EURUSD,H1)	11:20:38	Order time type: ORDER_TIME_GTC
FK	0	transactions (EURUSD,H1)	11:20:38	Order expiration: 1970.01.01 00:00
PO	0	transactions (EURUSD,H1)	11:20:38	Price: 1.2361
CF	0	transactions (EURUSD,H1)	11:20:38	Price trigger: 0
OM	0	transactions (EURUSD,H1)	11:20:38	Stop Loss: 0
OG	0	transactions (EURUSD,H1)	11:20:38	Take Profit: 0
JN	0	transactions (EURUSD,H1)	11:20:38	Volume: 0
LP	0	transactions (EURUSD,H1)	11:20:38	
PE	0	transactions (EURUSD,H1)	11:20:38	------------TransactionDescription
MR	0	transactions (EURUSD,H1)	11:20:38	TRADE_TRANSACTION_POSITION
JH	0	transactions (EURUSD,H1)	11:20:38	Symbol: EURUSD
JP	0	transactions (EURUSD,H1)	11:20:38	Deal ticket: 0
FH	0	transactions (EURUSD,H1)	11:20:38	Deal type: DEAL_TYPE_BUY
HQ	0	transactions (EURUSD,H1)	11:20:38	Order ticket: 0
DK	0	transactions (EURUSD,H1)	11:20:38	Order type: ORDER_TYPE_BUY
GQ	0	transactions (EURUSD,H1)	11:20:38	Order state: ORDER_STATE_STARTED
RH	0	transactions (EURUSD,H1)	11:20:38	Order time type: ORDER_TIME_GTC
JL	0	transactions (EURUSD,H1)	11:20:38	Order expiration: 1970.01.01 00:00
HG	0	transactions (EURUSD,H1)	11:20:38	Price: 1.23579
QP	0	transactions (EURUSD,H1)	11:20:38	Price trigger: 0
LI	0	transactions (EURUSD,H1)	11:20:38	Stop Loss: 1.2354
HO	0	transactions (EURUSD,H1)	11:20:38	Take Profit: 1.2361
QD	0	transactions (EURUSD,H1)	11:20:38	Volume: 0.1
NO	0	transactions (EURUSD,H1)	11:20:38	
NP	0	transactions (EURUSD,H1)	11:20:38	------------TransactionDescription
FO	0	transactions (EURUSD,H1)	11:20:38	TRADE_TRANSACTION_DEAL_ADD
LE	0	transactions (EURUSD,H1)	11:20:38	Symbol: EURUSD
EH	0	transactions (EURUSD,H1)	11:20:38	Deal ticket: 10809689
RQ	0	transactions (EURUSD,H1)	11:20:38	Deal type: DEAL_TYPE_SELL
DF	0	transactions (EURUSD,H1)	11:20:38	Order ticket: 11670968
HN	0	transactions (EURUSD,H1)	11:20:38	Order type: ORDER_TYPE_BUY
CD	0	transactions (EURUSD,H1)	11:20:38	Order state: ORDER_STATE_STARTED
NK	0	transactions (EURUSD,H1)	11:20:38	Order time type: ORDER_TIME_GTC
FQ	0	transactions (EURUSD,H1)	11:20:38	Order expiration: 1970.01.01 00:00
PI	0	transactions (EURUSD,H1)	11:20:38	Price: 1.2361
CL	0	transactions (EURUSD,H1)	11:20:38	Price trigger: 0
OG	0	transactions (EURUSD,H1)	11:20:38	Stop Loss: 0
OI	0	transactions (EURUSD,H1)	11:20:38	Take Profit: 0
KQ	0	transactions (EURUSD,H1)	11:20:38	Volume: 0.1

 Единственное, что объединяет эти операции - цена (цена закрытия равна ранее указанной цене TP). Вопрос - это и есть тот способ, по которому можно определить факт наступления TP? Имхо, неудобно и неоднозначно (если я правильно помню, точной цены TP может и не случиться, и TP будет закрыт по ближайшей другой цене).

Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы - Документация по MQL5