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

 
Как пополнить счёт
На приложении
На трейдер кий счёт! 
 
leonerd:
Как получить коммент закрытой позиции в OnTradeTransaction?

Интересный вопрос. Чтобы лучше понять это я вручную открыл позицию и указал комментарий '123456' - затем закрыл позицию и запустил скрипт History Deals and Orders. А теперь обратите внимание, что комментарий присутствует только у ордера (торгового приказа) на основе которого произошла сделка приведшая к появлению позиции и у сделки которая произошла в результате исполнения ордера):

Deal:
|Ticket              |Order               |Time                |Time msc            |Type                |Entry               |Magic               |Reason              |Position ID        
|566077885           |587994287           |2020.04.30 19:54:32 |1588276472801       |DEAL_TYPE_BUY       |DEAL_ENTRY_IN       |0                   |DEAL_REASON_CLIENT  |587994287          
|Volume              |Price               |Commission          |Swap                |Profit              |Symbol              |Comment                                  |External ID        
|0.01                |0.96703             |0.00                |0.00                |0.00                |USDCHF              |123456                                   |                   
Order:
|Ticket              |Time setup          |Type                |State               |Time expiration     |Time done           |Time setup msc      |Time done msc       |Type filling       
|587994287           |2020.04.30 19:54:32 |ORDER_TYPE_BUY      |ORDER_STATE_FILLED  |1970.01.01 00:00:00 |2020.04.30 19:54:32 |1588276472800       |1588276472801       |ORDER_FILLING_FOK  
|Type time           |Magic               |Reason              |Position id         |Position by id     
|1970.01.01 00:00:00 |0                   |ORDER_REASON_CLIENT |587994287           |0                  
|Volume initial      |Volume current      |Open price          |sl                  |tp                  |Price current       |Price stoplimit    
|0.01                |0.00                |0.96703             |0.00000             |0.00000             |0.96703             |0.00000            
|Symbol              |Comment                                  |External id        
|USDCHF              |123456                                   |                   
        
Deal:
|Ticket              |Order               |Time                |Time msc            |Type                |Entry               |Magic               |Reason              |Position ID        
|566078174           |587994568           |2020.04.30 19:54:45 |1588276485331       |DEAL_TYPE_SELL      |DEAL_ENTRY_OUT      |0                   |DEAL_REASON_CLIENT  |587994287          
|Volume              |Price               |Commission          |Swap                |Profit              |Symbol              |Comment                                  |External ID        
|0.01                |0.96700             |0.00                |0.00                |-0.03               |USDCHF              |                                         |                   
Order:
|Ticket              |Time setup          |Type                |State               |Time expiration     |Time done           |Time setup msc      |Time done msc       |Type filling       
|587994568           |2020.04.30 19:54:45 |ORDER_TYPE_SELL     |ORDER_STATE_FILLED  |1970.01.01 00:00:00 |2020.04.30 19:54:45 |1588276485330       |1588276485331       |ORDER_FILLING_FOK  
|Type time           |Magic               |Reason              |Position id         |Position by id     
|1970.01.01 00:00:00 |0                   |ORDER_REASON_CLIENT |587994287           |0                  
|Volume initial      |Volume current      |Open price          |sl                  |tp                  |Price current       |Price stoplimit    
|0.01                |0.00                |0.96700             |0.00000             |0.00000             |0.96700             |0.00000            
|Symbol              |Comment                                  |External id        
|USDCHF              |                                         |                   
        


Значит при закрытии позиции (в OnTradeTransaction тип транзакции TRADE_TRANSACTION_DEAL_ADD) нужно выбирать из торговой истории все ордера относящиеся к этой позиции и искать первопричинный ордер - благодаря которому и появилась эта позиция.

History Deals and Orders
History Deals and Orders
  • www.mql5.com
Скрипт "History Deals and Orders" выводит абсолютно все свойства для сделок и ордеров из торговой истории в заданном временном интервале. Доступен вывод как во вкладку "Эксперты" терминала, так и в текстовой файл (текстовой файл располагается в папке [data folder]\MQL5\Files). Если вывод осуществляется в текстовый...
 
DotCom:
 Добрый день.  Как средствами mql5, не рисуя объект трендовой линии на графике, по двум экстремумам провести трендовую линию, и отслеживать ее пробитие, при этом саму линию на графике не рисовать. Возможно ли такое, какой-то способ может есть? 
Советник должен рисовать трендовые линии сразу на 50-70 парах, и хотелось бы чтобы окна этих графиков были закрыты, чтобы пробитие трендовых линий вычислялось без открытых графиков.

Используйте уравнение прямой:

//+------------------------------------------------------------------+
//| Уравнение прямой                                                 |
//+------------------------------------------------------------------+
double EquationDirect(const int left_bar,const double left_price,const int right_bar,const double right_price,const int bar_to_search) 
  {
   return(right_bar==left_bar ? left_price : (right_price-left_price)/(right_bar-left_bar)*(bar_to_search-left_bar)+left_price);
  }
//+------------------------------------------------------------------+

Указываете номер и цену бара точки слева, указываете номер и цену бара точки справа (по этим точкам строится виртуальная линия) и указываете искомый бар.
Функция вернёт цену искомого бара.

 
Artyom Trishkin:

Используйте уравнение прямой:

Указываете номер и цену бара точки слева, указываете номер и цену бара точки справа (по этим точкам строится виртуальная линия) и указываете искомый бар.
Функция вернёт цену искомого бара.

спасибо, попробую

 
Здравствуйте,
подскажите, как рассчитать параметры для дневного параболика ( и четырех часового ) что бы разместить  ( визуализировать) их
на часовом таймфрейме?
 

как можно сгладить линейный график?, на уровне пиков (именно тот график, который отображается на основном чарте)

через iMA не получается, там нет сглаживания, (может через функции Curve?)

Файлы:
1588528157.png  22 kb
 

Пытаюсь работать со встроенным календарем. А что есть сурс? Почему данные отличаются, например сравнивая с investing.com.

Вот скачал в файл встроенные новости (время сервера GMT+2):

2018.01.11 15:30        EUR     ECB Monetary Policy Meeting Accounts    CALENDAR_IMPORTANCE_MODERATE
2018.01.11 16:30        USD     PPI m/m CALENDAR_IMPORTANCE_MODERATE
2018.01.11 16:30        USD     Core PPI m/m    CALENDAR_IMPORTANCE_LOW
2018.01.11 16:30        USD     PPI y/y CALENDAR_IMPORTANCE_LOW
2018.01.11 16:30        USD     Core PPI y/y    CALENDAR_IMPORTANCE_LOW
2018.01.11 16:30        CAD     New Housing Price Index m/m     CALENDAR_IMPORTANCE_MODERATE
2018.01.11 16:30        USD     Continuing Jobless Claims       CALENDAR_IMPORTANCE_LOW
2018.01.11 16:30        USD     Initial Jobless Claims  CALENDAR_IMPORTANCE_MODERATE
2018.01.11 16:30        USD     Initial Jobless Claims 4-Week Average   CALENDAR_IMPORTANCE_LOW
2018.01.11 17:00        MXN     Industrial Production n.s.a. y/y        CALENDAR_IMPORTANCE_LOW
2018.01.11 17:00        MXN     Consumer Confidence Index       CALENDAR_IMPORTANCE_LOW
2018.01.11 17:00        MXN     Consumer Confidence Index n.s.a.        CALENDAR_IMPORTANCE_LOW

А вот с investing.com за ту же дату скриншот:


Разница в Importance. Важная новость на investing.com может быть Moderate в MQL5 календаре.

Разницу времени в час (на investing.com также запрошено с GMT+2) я отношу к переходу DST.

 

Здравствуйте.

Никто не подскажет, как перерисовать индикатор из функции OnChartEvent()? Я в этой функции меняю значение буфера индикатора, но на графике индикатор не меняется. ChartRedraw() не помогает.

На графике индикатор меняется только при запуске OnCalculate(). Можно ли как-нибудь перерисовать индикатор без запуска OnCalculate()? Ну или как-нибудь принудительно запустить OnCalculate()?

 
MQL_User:

Здравствуйте.

Никто не подскажет, как перерисовать индикатор из функции OnChartEvent()? Я в этой функции меняю значение буфера индикатора, но на графике индикатор не меняется. ChartRedraw() не помогает.

На графике индикатор меняется только при запуске OnCalculate(). Можно ли как-нибудь перерисовать индикатор без запуска OnCalculate()? Ну или как-нибудь принудительно запустить OnCalculate()?

интересный вопрос, хотел давно еще перерисовать индикатор в этом событие, посмотреть как они будут схожи на графике

пока все еще приходится использовать это событие в мультивалютнике, разработчики нормальный мультирежим видимо до MQL6 отложили

---

еще вопрос. разработчики как всегда дали большое поле для размышления

один и тот же индикатор можно построить двумя способами:

1 plot и 1 цветной буфер, или тот же индикатор c 2 plot буферами - один наверх со своим цветом, а второй вниз тоже со своим цветом, это вариант уже без колор буфера.

какой из них быстрее или правильней будет? Хотелось бы ответ специалиста

---

казалось бы, что с 1 plot + 1 color buffer можно смотреть 0 - тренд вверх и 1 вниз, а если нужно значение, то с plot можно взять. все раздельно и понятно, но

у второго варианта 2 plot буфера -  и в нем сразу в первом EMPTY_VALUE, и во втором значение и соответственно тренд (цвет)

---

MQL4 полностью пропустил, если второй вариант это наследие как раз его, есть ли очевидные плюсы использования 1-способа? (т.е. выбросить второй вариант сразу)

двум хорошим специалистам задал вопрос, не смогли ответить.

 
Fast235:

интересный вопрос, хотел давно еще перерисовать индикатор в этом событие, посмотреть как они будут схожи на графике

пока все еще приходится использовать это событие в мультивалютнике, разработчики нормальный мультирежим видимо до MQL6 отложили

---

еще вопрос. разработчики как всегда дали большое поле для размышления

один и тот же индикатор можно построить двумя способами:

1 plot и 1 цветной буфер, или тот же индикатор c 2 plot буферами - один наверх со своим цветом, а второй вниз тоже со своим цветом, это вариант уже без колор буфера.

какой из них быстрее или правильней будет? Хотелось бы ответ специалиста

---

казалось бы, что с 1 plot + 1 color buffer можно смотреть 0 - тренд вверх и 1 вниз, а если нужно значение, то с plot можно взять. все раздельно и понятно, но

у второго варианта 2 plot буфера -  и в нем сразу в первом EMPTY_VALUE, и во втором значение и соответственно тренд (цвет)

---

MQL4 полностью пропустил, если второй вариант это наследие как раз его, есть ли очевидные плюсы использования 1-способа? (т.е. выбросить второй вариант сразу)

двум хорошим специалистам задал вопрос, не смогли ответить.

Не думал, что столкнусь с такой проблемой, ведь на первый взгляд это должно быть само собой разумеющимся - перерисовать график из программы. В этом свете непонятно назначение функции ChartRedraw()...

Причина обращения: