Скачать MetaTrader 5

Помогите пожалуйста!

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

Я недавно начал изучать mql4 и не могу понять почему не работает советник. При компиляции ошибок не выдаёт но не торгует (т.е. не хэджирует). В рамках советника сделок не открывается, хеджирование должно происходить на сделки которые открываются в ручную или другой советник.

#property copyright ""
//hedger_vX.mq4
//17.12.2011

extern string comment;     //Первая часть комментария, либо без комментария для отслеживания всех сделок
extern int drawdown = 20;  //Просадка в пунктах прибыли
extern int step = 10;      //Возврат хеджевой сделки в пунктах прибыли

int init(){}

int start(){
  bool hb, hs;
  int i, j, ti;
  for(i=0; i<OrdersTotal(); i++){//Сначала перебрать и найти уже открытые сделки хеджера
    OrderSelect(i,SELECT_BY_POS);
    if(OrderSymbol() == Symbol()){
      if(OrderComment() == "hedger_sell"){
        hs = true;
        if(OrderProfit()/10 < -step){OrderClose(OrderTicket(),OrderLots(),Ask,3,Red);}
      }else if(OrderComment() == "hedger_buy"){
        hb = true;
        if(OrderProfit()/10 < -step){OrderClose(OrderTicket(),OrderLots(),Bid,3,Green);}
      }
    }
  }
  for(j=0; j<OrdersTotal(); j++){//Открывать хедж, только если хеджа в этом направлении и по этому инструменту еще нет
    OrderSelect(j,SELECT_BY_POS);
    if(OrderSymbol() == Symbol() && OrderProfit()/10 < -drawdown){//Продвигаемся, только если просадка превышает заданный уровень
      if((comment != "" && StringFind(OrderComment(),comment,0) != -1) || (comment == "")){
        if(OrderType() == OP_BUY && !hs){OrderSend(Symbol(),OP_SELL,OrderLots(),NormalizeDouble(Bid,Digits),3,0,0,"hedger_sell",0,0,Red);}
        else if(OrderType() == OP_SELL && !hb){OrderSend(Symbol(),OP_BUY,OrderLots(),NormalizeDouble(Ask,Digits),3,0,0,"hedger_buy",0,0,Green);}
      }
    }
  }     
  if(comment == ""){comments("line1",5,15,StringConcatenate("Коммент: нет коммента; просадка: ",drawdown),Gold);}
  else{comments("line1",5,15,StringConcatenate("Коммент: ",comment,"; просадка: ",drawdown),Gold);}
}
   
void comments(string name, int x, int y, string texto, color couleur){
  if(ObjectFind(name) == -1){ObjectCreate(name,OBJ_LABEL,0,0,0);}
  ObjectSet(name,OBJPROP_XDISTANCE,x);
  ObjectSet(name,OBJPROP_YDISTANCE,y);
  ObjectSet(name,OBJPROP_CORNER,1);
  ObjectSetText(name,texto,10,"Times New Roman",couleur);
}

Boris
3946
Boris  
nov123:

Я недавно начал изучать mql4 и не могу понять почему не работает советник.

#property copyright ""
//hedger_vX.mq4
//17.12.2011

extern string comment;     //Первая часть комментария, либо без комментария для отслеживания всех сделок
extern int drawdown = 20;  //Просадка в пунктах прибыли
extern int step = 10;      //Возврат хеджевой сделки в пунктах прибыли

int init(){}

int start(){
  bool hb, hs;
  int i, j, ti;
  for(i=0; i<OrdersTotal(); i++){//Сначала перебрать и найти уже открытые сделки хеджера
    OrderSelect(i,SELECT_BY_POS);
    if(OrderSymbol() == Symbol()){
      if(OrderComment() == "hedger_sell"){
        hs = true;
        if(OrderProfit()/10 < -step){OrderClose(OrderTicket(),OrderLots(),Ask,3,Red);}
      }else if(OrderComment() == "hedger_buy"){
        hb = true;
        if(OrderProfit()/10 < -step){OrderClose(OrderTicket(),OrderLots(),Bid,3,Green);}
      }
    }
  }
  for(j=0; j<OrdersTotal(); j++){//Открывать хедж, только если хеджа в этом направлении и по этому инструменту еще нет
    OrderSelect(j,SELECT_BY_POS);
    if(OrderSymbol() == Symbol() && OrderProfit()/10 < -drawdown){//Продвигаемся, только если просадка превышает заданный уровень
      if((comment != "" && StringFind(OrderComment(),comment,0) != -1) || (comment == "")){
        if(OrderType() == OP_BUY && !hs){OrderSend(Symbol(),OP_SELL,OrderLots(),NormalizeDouble(Bid,Digits),3,0,0,"hedger_sell",0,0,Red);}
        else if(OrderType() == OP_SELL && !hb){OrderSend(Symbol(),OP_BUY,OrderLots(),NormalizeDouble(Ask,Digits),3,0,0,"hedger_buy",0,0,Green);}
      }
    }
  }      
  if(comment == ""){comments("line1",5,15,StringConcatenate("Коммент: нет коммента; просадка: ",drawdown),Gold);}
  else{comments("line1",5,15,StringConcatenate("Коммент: ",comment,"; просадка: ",drawdown),Gold);}
}
    
void comments(string name, int x, int y, string texto, color couleur){
  if(ObjectFind(name) == -1){ObjectCreate(name,OBJ_LABEL,0,0,0);}
  ObjectSet(name,OBJPROP_XDISTANCE,x);
  ObjectSet(name,OBJPROP_YDISTANCE,y);
  ObjectSet(name,OBJPROP_CORNER,1);
  ObjectSetText(name,texto,10,"Times New Roman",couleur);
}

 

Sergey Sartakov
1287
Sergey Sartakov  
nov123:

Я недавно начал изучать mql4 и не могу понять почему не работает советник.



Я давно изучаю MQL4, я давно изучил MQL4, но все мои советники сливают.  Что еще надо изучить ? Помогите, пожалуйста !
Sceptic Philozoff
Модератор
17841
Sceptic Philozoff  
nov123: Я недавно начал изучать mql4 и не могу понять почему не работает советник.

Что конкретно Вам не нравится? Какая ошибка выдается при компиляции?

Если ее нет, проясните, пожалуйста, какое несоответствие ожиданиям Вас беспокоит.

Sergey Sartakov
1287
Sergey Sartakov  
Mathemat:

Что конкретно Вам не нравится? Какая ошибка выдается при компиляции?

Если ее нет, проясните, пожалуйста, какое несоответствие ожиданиям Вас беспокоит.


"Что конкретно Вам не нравится? Какая ошибка выдается при компиляции?

Если ее нет, проясните, пожалуйста, какое несоответствие ожиданиям Вас беспокоит ? "

С уважением - Рената Литвинова. 

Срочно в анналлы. 

Sergey Sartakov
1287
Sergey Sartakov  
more:


"Что конкретно Вам не нравится? Какая ошибка выдается при компиляции?

Если ее нет, проясните, пожалуйста, какое несоответствие ожиданиям Вас беспокоит ? "

С уважением - Рената Литвинова. 

Срочно в анналлы. 


Нас беспокоит душевное здоровье Математика !

Прямо как на приеме у психотерапевта ! 

Слушай, Математик, ты, случайно, ориентацию не поменял ? 

Sceptic Philozoff
Модератор
17841
Sceptic Philozoff  
more: Слушай, Математик, ты, случайно, ориентацию не поменял ? 

Спасибо, нет, не поменял: как был модератором, так и остаюсь.

P.S. ТС - новичок. Название темы и формулировка вопроса, мягко говоря, не слишком четкие - вот и решил помочь.

Sergey Sartakov
1287
Sergey Sartakov  
Mathemat:

Спасибо, нет, не поменял: как был модератором, так и остаюсь.

P.S. ТС - новичок. Название темы и формулировка вопроса не слишком четкие, вот и решил помочь.


Ладно, ладно, знаю, добрый ты человек.  Это я, что-то, наверное, съел, или выпил....лишнее...
Vladimir Paukas
4099
Vladimir Paukas  
nov123:

Я недавно начал изучать mql4 и не могу понять почему не работает советник.



  for(j=0; j<OrdersTotal(); j++){//Открывать хедж, только если хеджа в этом направлении и по этому инструменту еще нет
    OrderSelect(j,SELECT_BY_POS);
    if(OrderSymbol() == Symbol() && OrderProfit()/10 < -drawdown){//Продвигаемся, только если просадка превышает заданный уровень
      if((comment != "" && StringFind(OrderComment(),comment,0) != -1) || (comment == "")){
        if(OrderType() == OP_BUY && !hs){OrderSend(Symbol(),OP_SELL,OrderLots(),NormalizeDouble(Bid,Digits),3,0,0,"hedger_sell",0,0,Red);}
        else if(OrderType() == OP_SELL && !hb){OrderSend(Symbol(),OP_BUY,OrderLots(),NormalizeDouble(Ask,Digits),3,0,0,"hedger_buy",0,0,Green);}
      }
    }
  }     
 


Потому что он не открывает ордера.
fozi
2926
fozi  
more:


"Что конкретно Вам не нравится? Какая ошибка выдается при компиляции?

Если ее нет, проясните, пожалуйста, какое несоответствие ожиданиям Вас беспокоит ? "

С уважением - Рената Литвинова. 

Срочно в анналлы. 

Я купил советник за 100 долларов в интернете, в инструкции написано что он приносит прибыль 20% в день. В первые два дня советник вообще не торговал, а через месяц слил все депо. Деньги на депозит я брал в банке (кредит).

Прогрпмисты помогите. Почему советник не торгует прибыльно, нужно сделать так чтобы он торговал в плюс мне нужно чтоб он отработал кредит а то проценты ростут.

:)))))))))) 

pako
3309
pako  
fozi:

Я купил советник за 100 долларов в интернете, в инструкции написано что он приносит прибыль 20% в день. В первые два дня советник вообще не торговал, а через месяц слил все депо. Деньги на депозит я брал в банке (кредит).

Прогрпмисты помогите. Почему советник не торгует прибыльно, нужно сделать так чтобы он торговал в плюс мне нужно чтоб он отработал кредит а то проценты ростут.

:)))))))))) 


я плакал 
12
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий