Ох уж эти ГЭПы - страница 5

 
BARS >>:

1.проверить кол-во знаков ( 4-5 ) после запятой, если 5 то исправить стопы и тейки на стоп ( тейк) *10 т.е. увеличить в 10 раз.

2. 


После какой запятой??

 

в котировках, 

пример по евре :

1,2455 или 1,24550

 
BARS >>:

в котировках, 

пример по евре :

1,2455 или 1,24550

Все что нужно сделал, но открывает позиции не так, как задумывалось, живет по своему алгоритму ))

 
vadim2304 >>:

Все что нужно сделал, но открывает позиции не так, как задумывалось, живет по своему алгоритму ))

Ну осталось еще чуть чуть ... " Еще чутьчуть и прямо в рай, и жизнь удалась... фо ю бьютифул лайф " ( из песни ) :)

 
BARS >>:

Ну осталось еще чуть чуть ... " Еще чутьчуть и прямо в рай, и жизнь удалась... фо ю бьютифул лайф " ( из песни ) :)


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

 

выкладывайте код... сёня уже не успею просмотреть, если до меня не раздерут то завтра просмотрю всё :)

И описание что ни так... 

 
BARS >>:

выкладывайте код... сёня уже не успею просмотреть, если до меня не раздерут то завтра просмотрю всё :)

И описание что ни так... 

Код тот же,  нужно чтобы покупал,когда цена открытия вышей хай и продавал, когда цена открытия ниже лоу, хотя бы на 1 пункт. Просто заходил в ордер ))

extern int     Magic                = 777;
extern int       TP                 = 0;
extern int       SL                 = 2;
extern double  Lots                 = 0.01;
//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
//----
if(  iClose(NULL,0,1)>=iOpen(NULL,0,0) && (iClose(NULL,0,1)-iOpen(NULL,0,0))>1*Point && iClose(NULL,0,1)==iHigh(NULL,0,1) )
   { //покупаем
  OrderSend(Symbol(),OP_BUY,Lots,Ask,2,Bid-SL*Point,Bid+TP*Point,
                                               "хи-хи",Magic,0,CLR_NONE);}
                                                  
if(  iClose(NULL,0,1)<=iOpen(NULL,0,0) && (iClose(NULL,0,1)-iOpen(NULL,0,0))>1*Point && iClose(NULL,0,1)==iHigh(NULL,0,1) )
   { //продаем
 OrderSend(Symbol(),OP_SELL,Lots,Bid,2,Ask+SL*Point,Ask-TP*Point,
                                              "хи-хи",Magic,0,CLR_NONE);}

   return(0);
  }
//+------------------------------------------------------------------+
 
Чтобы эксперт работал корректно нужно предусмотреть функцию проверки ордеров эксперта. 
И в условие открытия позиций предусматривать
if (!ExpertOrder( Magic ))//если  нет открытых  позиций 
  {  


Вот код этой функции (сама функция вставляется вне функции СТАРТ) :


//---------------------------------------------------------------------------------+
//---- Функция проверки наличия ордеров эксперта ----------------------------------+
//---------------------------------------------------------------------------------+
// false - ордеров данного эксперта нет;                                           |
// true  - есть ордера данного эксперта;                                           |
//---------------------------------------------------------------------------------+
bool ExpertOrder (int VersionID){
bool result=false;
int  _OrdersTotal=OrdersTotal();
if (_OrdersTotal>0) {
    for (int v=0; v<_OrdersTotal; v++) {    
      if (OrderSelect(v, SELECT_BY_POS, MODE_TRADES)) {
        if (OrderMagicNumber()==VersionID) 
           { result=true;  break; } //Найден ордер принадлежащий эксперту
        else  { result=false; } 
       } 
     }        
   }
else { result=false; }  return(result);}
//----------------------------------------------------------------------------------+
 
BARS >>:
Чтобы эксперт работал корректно нужно предусмотреть функцию проверки ордеров эксперта. 
И в условие открытия позиций предусматривать


Вот код этой функции (сама функция вставляется вне функции СТАРТ) :


Я пробовал, при компилляции этой функции выдает 3 ошибки, что-то связанное с VersionID

 
Вот тот же код что кидал раньше... просто поставил ваши входы
Файлы:
barsqgapmq4.mq4  13 kb
Причина обращения: