Помогите разобраться с функцией ArrayPrint - хочу получать 100 последних элементов массива , и 100 первых и 100 последних.
ArrayPrint(arr_P_val_X,8,NULL,Calc_XY-100,100,ARRAYPRINT_INDEX);//Ожидаю получить 100 последних элементов, выдает первыеArrayPrint(arr_P_val_X,ARRAYPRINT_LIMIT);//Хочу получить 100 и 100 последний - выдает весь массив - что не так?
Всем привет уважаемые участники форума, модераторы, админы и т.д.
Объясните мне пожалуйста, как подсчитать общую прибыль по открытым позициям в MQL5. В MQL4 с этим нет проблем. Пишу здесь не от лени,
а потому что уже не знаю как это реализовать. Используя PositionGetDouble(POSITION_PROFIT), идет подсчет прибыли только для первой открытой позиции,
для остальных она не рассчитывается.
В MQL4 же OrderProfit() показывает прибыль по всем ордерам. Может упустил чего...
Ramiz Mavludov: Извиняюсь, забыл указать, тип счета hedge
Вам срочно и обязательно надо посетить курсы ликвидации безграмотности. В mql5 так-же как и в mql4 прежде чем работать с позицией (в mql4 ордером) позицию надо выбрать. В отличии от mql4 в mql5 я помню ТРИ функции выбора позиции. В документации они хорошо описаны. В путь... не сочтите за грубость.
//+------------------------------------------------------------------+//| Calculate positions Buy and Sell |//+------------------------------------------------------------------+void CalculatePositions(int &count_buys,int &count_sells,double &profit)
{
count_buys=0;
count_sells=0;
profit=0.0;for(int i=PositionsTotal()-1;i>=0;i--)
if(m_position.SelectByIndex(i)) // selects the position by index for further access to its propertiesif(m_position.Symbol()==m_symbol.Name() && m_position.Magic()==m_magic)
{
profit+=m_position.Commission()+m_position.Swap()+m_position.Profit();if(m_position.PositionType()==POSITION_TYPE_BUY)
count_buys++;
if(m_position.PositionType()==POSITION_TYPE_SELL)
count_sells++;
}
//---return;
}
после обхода всех позиций по данному символу и данному Magic'y в переменной profit будет общая прибыль.
Справка: https://www.mql5.com/ru/docs/runtime/running В справке сказано: "если в очереди mql5-программы уже находится событие ChartEvent или такое событие обрабатывается, то новое событие такого типа не ставится в очередь".
Результаты этого примера показывают, что все события, создаваемые ф-ей EventChartCustom(), в очередь ставятся (и в дальнейшем обрабатываются в OnChartEvent() ).
Каждый скрипт и каждый эксперт работает в собственном отдельном потоке. Все индикаторы, рассчитываемые на одном символе, даже если они запущены на разных графиках, работают в одном потоке. Таким образом, все индикаторы на одном символе делят между собой ресурсы одного потока. В одном потоке с индикаторами также последовательно выполняются...
почему здесь написано, что ... позиция должна быть выбрана только методом Select или SelectByIndex,
если метод SelectByTicket тоже работает?
Помогите разобраться с функцией ArrayPrint - хочу получать 100 последних элементов массива , и 100 первых и 100 последних.
Calc_XY - число элементов в массиве.
как взять тикет только что открытой сделки?
если пользуешься классом CTrade и функцией Buy().
в мт4 функция OrderSend() сразу давала тикет.
а есть функция, которая по индексу позиции дает тикет позиции?
или нужно сначала выбрать позицию (селект) ?
как взять тикет только что открытой сделки?
если пользуешься классом CTrade и функцией Buy().
в мт4 функция OrderSend() сразу давала тикет.
а есть функция, которая по индексу позиции дает тикет позиции?
или нужно сначала выбрать позицию (селект) ?
В OnTradeTransaction при типе транзакции trans.type == TRADE_TRANSACTION_DEAL_ADD находишь тикет в структуре trans.position
Извиняюсь, забыл указать, тип счета hedge
Вам срочно и обязательно надо посетить курсы ликвидации безграмотности. В mql5 так-же как и в mql4 прежде чем работать с позицией (в mql4 ордером) позицию надо выбрать. В отличии от mql4 в mql5 я помню ТРИ функции выбора позиции. В документации они хорошо описаны. В путь... не сочтите за грубость.
Извиняюсь, забыл указать, тип счета hedge
Код Previous Candle Breakdown 3, функция CalculatePositions, полная прибыль
после обхода всех позиций по данному символу и данному Magic'y в переменной profit будет общая прибыль.
Код Previous Candle Breakdown 3, функция CalculatePositions, полная прибыль
после обхода всех позиций по данному символу и данному Magic'y в переменной profit будет общая прибыль.
Спасибо Владимир.
Справка: https://www.mql5.com/ru/docs/runtime/running
В справке сказано:
"если в очереди mql5-программы уже находится событие ChartEvent или такое событие обрабатывается, то новое событие такого типа не ставится в очередь".
Результаты этого примера показывают, что все события, создаваемые ф-ей EventChartCustom(), в очередь ставятся (и в дальнейшем обрабатываются в OnChartEvent() ).
Поясните, пожалуйста, ставятся или не ставятся?
Подскажите пожалуйста как правильно указывать путь к индикатору добавленному в ресурсы.
Указываю:
Пытаюсь вызвать из ресурсов:
При таком способе у меня на компе все работает, но при переносе на другой выдается ошибка:
Или в индикаторе надо указать что он есть ресурс эксперта?
Как-то я это делал, но подзабыл просто )
.......................
Что с форумом случилось? Ответ на вопрос знают все кто добавлял продукт в маркет. И все молчат. )