droba
Droba

 
Уровень 9

  Торгую в компаниях:


Группа "Стол заказов MQL"

Рейтинг 2146



РЕКОМЕНДУЮ



Перевод с МТ4 в МТ5

Прошу перевести советник с МТ4 в МТ5.
Это чистый трал по ZigZagу.
Нужен поручитель.
Советник прилагается:
Tral_ZZ.mq4 (5 Kb)
//+------------------------------------------------------------------+
//| Tral_ZZ.mq4 |
//| Copyright 2022, MetaQuotes Software Corp. |
//| www.mql5.com |
//+------------------------------------------------------------------+
#property copyright «Copyright 2022, MetaQuotes Software Corp.»
#property link «www.mql5.com»
#property version «1.00»
#property strict
//+------------------------------------------------------------------+
extern int ExtDepth = 5;
extern int ExtDeviation = 3;
extern int ExtBackstep = 2;
extern bool _trailingStop = true; // вкл. трала
//+------------------------------------------------------------------+
void OnTick()
{
if (_trailingStop)
{ _TrailingStop();
}
}
//+------------------------------------------------------------------+
double GetExtremumZZPrice(int ne=0) {
double zz;
int i, k=iBars(Symbol(), 0), ke=0;
for (i=1; i<k; i++) {
zz=iCustom(Symbol(),0, «ZigZag», ExtDepth,ExtDeviation,ExtBackstep,0,i);
if (zz!=0) {
ke++;
if (ke>ne) return(zz);
}
}
return(0);
}
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+

void _TrailingStop(){
int i;
bool m;
double _lastExtremum_1 = GetExtremumZZPrice(1);
double _lastExtremum_2 = GetExtremumZZPrice(2);
double _stopLossSellF = _lastExtremum_2,
_stopLossBuyF = _lastExtremum_2;
if (OrdersTotal()>0){
for (i=OrdersTotal()-1; i>=0; i--){
if (OrderSelect(i, SELECT_BY_POS)){
if (OrderSymbol()==Symbol() /*&& OrderMagicNumber()==-1*/){
if (OrderType()==OP_BUY && OrderOpenPrice() < _stopLossBuyF && _lastExtremum_1 > _lastExtremum_2){
while (IsTradeContextBusy()) Sleep(1000);
RefreshRates();
m = OrderModify(OrderTicket(),OrderOpenPrice(),_stopLossBuyF,OrderTakeProfit(),OrderExpiration(),CLR_NONE);
}
if (OrderType()==OP_SELL && OrderOpenPrice() > _stopLossSellF && _stopLossSellF!=0.0 && _lastExtremum_1 < _lastExtremum_2){
while (IsTradeContextBusy()) Sleep(1000);
RefreshRates();
m = OrderModify(OrderTicket(),OrderOpenPrice(),_stopLossSellF,OrderTakeProfit(),OrderExpiration(),CLR_NONE);
}
}
}
}
}
return;
}
//+------------------------------------------------------------------+
  • 0
  • Просмотров: 547
  • 8 октября 2024, 07:03
  • droba
Понравилcя материал? Не забудьте поставить плюс и поделиться в социальной сети!

Вступите в группу "Стол заказов MQL", чтобы следить за обновлениями
ПРИСОЕДИНИТЬСЯ К ГРУППЕ
присоединиться
  Предыдущая запись в группе
MACD
Следующая запись в группе  
Модернизация советника
06 октября 2024
09 октября 2024

Брокер для ваших роботов, 15 лет на рынке

Комментарии (3)

+
0
Нужен поручитель.
avatar

  9  droba Автор Сообщений: 239 - Droba

  • 8 октября 2024, 07:04
+
0
Готов стать поручителем.
avatar

  18  Boris54 Сообщений: 810 - ПенSионер

  • 10 октября 2024, 01:58
+
0
простое тз рассмотрю
avatar

  35  AM2 Сообщений: 16266 - Андрей

  • 10 октября 2024, 12:25

Зарегистрируйтесь или авторизуйтесь, чтобы оставить комментарий