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

 
Alexey Viktorov:

Рыть надо всегда в документации

ORDER_TIME_GTC

Ордер будет находится в очереди до тех пор, пока не будет снят

Вот спасибо, наверное это самое оно

 

Добрый вечер!

Есть 1 открытая позиция.

Советник закрывает позицию методом PositionClose();

Принтуется результат ResultRetcode= 10009. Code description: done at 0.00

Ниже по коду расположена проверка if(PositionSelect(_Symbol)), которая блин успешно проходится.

Т.е. между выполнением PositionClose() и исчезновением открытой позиции проходит некоторое время за которое программа успевает свернуть не туда.

Как грамотно разрешить данное обстоятельство?


 

Почему приходится каждый раз перезапускать терминал после тестирования для запуска нового теста?

2020.04.27 15:19:08.415 Tester  XAUUSD: history data begins from 2014.02.12 00:00
2020.04.27 15:19:08.415 Tester  XAUUSD: history data begins from 2014.02.12 00:00
2020.04.27 15:19:08.415 Core 01 connecting to 127.0.0.1:3000
2020.04.27 15:19:08.415 Core 01 connected
2020.04.27 15:19:08.425 Core 01 authorized (agent build 2361)
2020.04.27 15:19:08.427 Tester  XAUUSD,M15 (Alpari-MT5-Demo): testing of Experts\ExpertTest.ex5 from 2017.07.26 00:00 to 2020.02.06 00:00
2020.04.27 15:19:08.466 Core 01 disconnected
2020.04.27 15:19:08.466 Core 01 connection closed

Все объекты удаляю. Файлы закрываю. Вот лог при остановке тестирования:

2020.04.27 15:15:43.188 Core 01 disconnected
2020.04.27 15:15:43.188 Core 01 connection closed
2020.04.27 15:15:43.189 Tester  stopped by user

А в следующий раз уже не запускается - приходится закрывать терминал и открывать снова. Билд 2361.

 
Как получить коммент закрытой позиции в OnTradeTransaction?
 
Как пополнить счёт
На приложении
На трейдер кий счёт! 
 
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