Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 53
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
//---------------------------------------------------------------------
Простите не знаю как текст оформить кодом .
Это простой индикатор счётчик ( сумма тел инструментов в пунктах на текущем ТФ-ме ) инструментов любые . Каждый столбик гистограмки начинается с "О" и заканчивается на закрытии ТФ-ма . Например текущий ТФ это Н1 , в 12.00 показывает "0" а в 13.00 "+20" и столбик гистограмки чётко =+20 . но в течении этого часа показания были и -50 и +60 , но индикатор их не показывает , нужно добавить один буфер для минимума Buffer[i] и один для максимума Buffer[i] . Использовать High и Low нельзя , потому что для каждого инструмента прописанного в индикаторе эти значения наступают в разное время . Поэтому надо чтобы второй буфер фиксировал максимальное значение Buffer[i] меньшего графика (М5) на текущем графике (Н1) , и третий буфер фиксировал минимальное значение Buffer[i] меньшего графика (М5) на текущем графике (Н1) . Уважаемые ,кто что может посоветовать ?
Простите не знаю как текст оформить кодом.
Использовать High и Low нельзя , потому что для каждого инструмента прописанного в индикаторе эти значения наступают в разное время .
А Close для каждого инструмента одновременно, чтоли, наступает, во время жизни свечи??? Так это ошибочное мнение, тики все в разное время приходят )))
дело в том что в цепочке ВСЕГДА будут находится убыточные ордера с каким - то лотом который тоже придется тралить за счет остальных. Триггер срабатывания - время закрытия. Если хоть один закрыть кроется вся цепочка. Поэтому вопрос, как тралить именно среднюю цену по всем выбранным.
Значит надо в цикле перебрать все "нужные" ордера и посчитать эту среднюю цену. Потом при отклонении текущей цены от посчитанной средней в нужную сторону опять зарядить цикл с модификацией всех ордеров.
Для того чтобы не считать среднюю на каждом тике её можно считать только при добавлении очередного ордера.
Значит надо в цикле перебрать все "нужные" ордера и посчитать эту среднюю цену. Потом при отклонении текущей цены от посчитанной средней в нужную сторону опять зарядить цикл с модификацией всех ордеров.
Для того чтобы не считать среднюю на каждом тике её можно считать только при добавлении очередного ордера.
А Close для каждого инструмента одновременно, чтоли, наступает, во время жизни свечи??? Так это ошибочное мнение, тики все в разное время приходят )))
Я не говорил о тиках я говорил о том что нужно фиксировать минимум и максимум показаний буфера индикатора , просчитываемого на меньшем ТФ-ме , в промежутке большего ТФма Попробую показать на скрине В данном случае будет взят больший ТФ-м викли , а меньший Н1( но это окна разных ТФмов ):
[img]https://charts.mql5.com/13/642/eurgbp-w1-instaforex-group.png[/img]
К рассмотрению возьму недельку 05.12( красное перекрестье ) эта гистограмма по индикатору приведённому выше чётко видно что суммарное движение пар на закрытии недельки было в низ на 95 пунктов , но на ней не видно на сколько в течении недельки было повышение и понижение .
А вот на этом скрине видна динамика движения этого индикатора на графике Н1 в течении этой недельки :
[img]https://charts.mql5.com/13/642/eurgbp-h1-instaforex-group.png[/img]
Видно что индикатор имел минимальное значение 400 потом подьём до значения 700 и закрылся на 160 ( несоответствие чисел закрытия на двух скринах не важны)
Надо чтобы в одном индикаторе это всё было в одном столбике гистограмки и минимум и максимум и закрытие ( в этом случае на викли ) . а в идеале то на текущем ТФ-ме с указываемого в настройках ТФма
почему то скрины не отобразились 9 делал на МТ4 инсты через копирование Сайта МКЛ5
Если не сложно просто объясни как мне посчитать среднюю цену при неравномерном распределении сетки ордеров(где OrderType()<2). И все.
Надеюсь разберётесь
if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
if(OrderSymbol()==_Symbol && OrderMagicNumber()==Magic) {
if(OrderType()==OP_BUY) {
_BuyProfit+=OrderProfit()+OrderSwap()+OrderCommission(); // совокупный профит по всем Sell
_BuyLot+=OrderLots(); //совокупный лот по всем Sell
}
if(OrderType()==OP_SELL) {
_SellProfit+=OrderProfit()+OrderSwap()+OrderCommission(); // совокупный профит по всем Sell
_SellLot+=OrderLots(); //совокупный лот по всем Sell
}
}}}
double TickValue= MarketInfo(_Symbol,MODE_TICKVALUE);
if(_BuyLot > 0) { BuyAwerage = NormalizeDouble(Bid-(_BuyProfit/(TickValue*_BuyLot))*_Point,_Digits); } else { BuyAwerage=0; }// безубыток buy
if(_SellLot > 0) { SellAwerage= NormalizeDouble(Ask+(_SellProfit/(TickValue*_SellLot))*_Point,_Digits); } else { SellAwerage=0; } // безубыток sell
if(_BuyLot-_SellLot! = 0) { AllAwerage= NormalizeDouble(((_BuyLot>_SellLot)?Bid:Ask)-((_BuyProfit+_SellProfit)/(TickValue*(_BuyLot-_SellLot))*_Point),_Digits); } else { AllAwerage=0; } // общий безубыток
Надеюсь разберётесь
double TickValue= MarketInfo(_Symbol,MODE_TICKVALUE);
Вот об этом можно чуток?
Размер минимального изменения цены инструмента в валюте депозита
Стоимость пункта разная у каждого инструмента, и не равняет "1", как к примеру по евро/долл.
Размер минимального изменения цены инструмента в валюте депозита
Стоимость пункта разная у каждого инструмента, и не равняет "1", как к примеру по евро/долл.
ага, теперь понял
но это получается что можно также задать плавающий стоп к примеру (еквити=баланс*1.1) или (еквити = баланс*0.9)
есть там такие инструменты?
ага, теперь понял
но это получается что можно также задать плавающий стоп к примеру (еквити=баланс*1.1) или (еквити = баланс*0.9)
есть там такие инструменты?