Павел Раввич
Павел Раввич
Павел Раввич
Добавил тему Текущее время в миллисекундах с 01.01.1970
Получаю время открытия сделки ( Время открытия позиции в миллисекундах с 01.01.1970 ) при помощи: ulong openAt = PositionGetInteger ( POSITION_TIME_MSC ); Нужно получить текущее время в том же формате. Конструкция long time = ( long ) TimeCurrent ()
Павел Раввич
Добавил тему Получение текущей цены инструмента
Есть структура  MqlTick и функция для ее наполнения  SymbolInfoTick ( Symbol (), tick) которая возвращает bool значение. Из пример документации https://www.mql5.com/ru/docs/constants/structures/mqltick void OnTick ()   {
Павел Раввич
Добавил тему Ошибка перевода стоп-лос и тейк-профит из пунктов в цену
Есть функции пересчета стопов из пунктов в цену но иногда она не срабатывает и я получаю ошибку типо: 2022.12.09 13:29:29.347 forexteam-consumer (EURGBP,H1) CTrade:: OrderSend : market sell 0.23 USDCAD sl: 0.00050 tp: -0.00150 [invalid stops] Ошибка
Павел Раввич
Добавил тему OnTradeTransaction вызывается по несколько раз на операцию с разными значениями параметров.
У меня стоит задача: в момент открытия \ закрытия  \ обновления (sl, tp) позиции и отправлять по http (тут заменено на печать для упрощения) отчет. Для получения данных об изменении в списке позиций и их состоянии я использую OnTradeTransaction
Павел Раввич
Добавил тему Несколько индикаторных буферов
Есть перегрузка функции   CopyBuffer int    CopyBuffer (    int        indicator_handle,     // handle индикатора    int       
Павел Раввич
Добавил тему Комиссии по сделкам с DealInfo возвращает неверные значения.
Считаю сумму комиссии по сделкам за текущие сутки: #include <Trade\DealInfo.mqh> CDealInfo history_info; void OnTick ()   {    MqlDateTime today;    TimeToStruct ( TimeCurrent (), today);    today.hour =
Павел Раввич
Добавил тему Автоматическая установка панели при открытии любого графика.
Есть панель построенная по принципам указанным в статье https://www.mql5.com/ru/articles/4503 По сути она представляет собой обычный советник, и требует для запуска отдельного действия, по размещению ее на ценовом графике. Можно ли избавиться от
Павел Раввич
Добавил тему Максимальная длина строки.
Есть класс который собирает данные котировок со всех таймфреймов и записывает в формате JSON в виде строки, но при достижении какой-то длинны строки данные из переменной пропадают, и там оказывается пусто: class RatesProvider   {
Павел Раввич
Добавил тему Использование индикатора внутри другого индикатора.
Есть индикатор внутри которого используется МА. В процессе получения данных из буфера возник вопрос - нужно ли использовать  ArraySetAsSeries ( ExtMABuffer , true) для того что бы конструкция типа  ExtMABuffer[0]>ExtMABuffer[1]
Павел Раввич
Добавил тему Копирование данных с CopyBuffer.
Есть индикатор который ищет пересечение 2х МА и он работает верно, и вовремя показывает на графике места пересечений. Но советник, который использует этот индикатор, реагирует на уже готовый сигнал с опозданием еще на 2 бара: Как видно на рисунке
Павел Раввич
Добавил тему Как работает ограничение на кол-во буферов?
Есть ограничение на максимальное кол-во буферов, это ограничение работает на индикатор и советника отдельно, или для советника в котором используются индикаторы суммируется все буферы из подключенных индикаторов ? То есть если у меня советник
Павел Раввич
Добавил тему Получение значений из буфера iCustom
Есть пользовательский индикатор который судя по его отображению на графике работает верно, но проблема возникает при попытке получить значения. Возвращаются не те значения которые ожидаются в соответствии с view самого графика. Учитывая что индикатор
Павел Раввич
Добавил тему Вызов WebRequest в OnDeinit
При снятии советника с графика должен отправляться запрос с сообщением об остановке и я поместил его в OnDeinit с расчетом что он вызовется и запрос отправится void OnDeinit ( const int reason)   {   
Павел Раввич
Добавил тему Получить стопы сделки из истории в пунктах
Есть необходимость получать stop loss и take profit в пунктах из истории. Как получить сами стопы, это понятно: double stopLoss = HistoryOrderGetDouble (inOrderTicket, ORDER_SL ); double takeProfit = HistoryOrderGetDouble (inOrderTicket, ORDER_TP );
Павел Раввич
Добавил тему Получить маржу закрытой позиции
Есть необходимость получать какую маржу резервировала позиция.  Функция  SymbolInfoMarginRate почему-то возвращает bool вероятно не то что мне нужно. Как получить сколько резервировала позиция в валюте депозита ?  Если ulong ticket =
Павел Раввич
Добавил тему Перевод денег в пункты
Есть необходимость переводить текущий профит в пункты. Путаюсь делать это так: positionInfo.SelectByIndex(index) int pointProfit = ( int ) (positionInfo.Profit() / symbolInfo. Point ()); Ожидая увидеть количество пунктов получаю огромные числа типа
Павел Раввич
Добавил тему Определение текущего profit при нескольких открытых позициях
Есть 2 советника которые могут иметь по 1 открытой позиции одновременно, на одной и той же валютной паре в одном и том же направлении на Buy к примеру, и нужно как-то определять их текущий профит на каждом тике пока позиции открыты. Как я понял это
Павел Раввич
Добавил тему Получить время закрытия ордера mql5
Необходимо получить время закрытия ордера и узнать соответствует ли текущий бар тому на котором последний ордер был закрыт. Цель - не допустить что бы следующий ордер открывался на том же баре на котором предыдущий закрылся. Есть функция которая
Павел Раввич
Добавил тему Привести строку к UTF-8
Возникла проблема при передаче данных по сети содержащих кириллицу. Получаю что- вроде: JSON parse error: Invalid UTF-8 middle byte 0xe0; nested exception is com.fasterxml.jackson.databind.JsonMappingException: Invalid UTF-8 Как то можно
Павел Раввич
Добавил тему Получить данные об input переменных в формате *.set файла внутри советника.
Возможно ли получить внутри работающего советника данные в виде строки в таком формате так как если бы я прочитал *.set файл? Понятно что я могу собрать все input, и из них руками собрать такой файл но возможно есть способ получить такую строку сразу
12