Переворот! стратегия - страница 8

 

Раз уж здесь начал здесь и продолжу.... Короче парюсь не по децки. Написал советника но никак не могу понять почему он не ставить всё полностью. Стратегия конечно убыточна, НО интересно, почему перевёртыш работает не до конца я бы сказал....

Открывает позиции но как то не всегда удачно, я бы сказал. Ктонить может помочь????

int start()
  {
int TotalOrders, TotalOrders1;
int i,ticket,ticket1;
//if (b!=Bars){
b=Bars;
support=NormalizeDouble(iCustom(NULL, 0, "TDSEQUENTA v0000",set,up,zukko1,TT,0,0),5);
resist=NormalizeDouble(iCustom(NULL, 0, "TDSEQUENTA v0000",set,up,zukko1,TT,1,0),5);


if ((Last_Close_Loss()>0)&&(Prezent_Order()==false)){
               if (MathAbs(Last_Close_Loss())==resist+step*Point)OrderSend(Symbol(),OP_BUYSTOP,Lot,resist+step*Point,3,resist-step*Point,Ask+TakeProfit*Point);  
               if (MathAbs(Last_Close_Loss())==support+step*Point)OrderSend(Symbol(),OP_BUYSTOP,Lot,support+step*Point,3,support-step*Point,resist-step*Point); 

}
if ((Last_Close_Loss()<0)&&(Prezent_Order()==false)){
               if (MathAbs(Last_Close_Loss())==resist-step*Point)OrderSend(Symbol(),OP_SELLSTOP,Lot,resist-step*Point,3,resist+step*Point,support-step*Point);  
               if (MathAbs(Last_Close_Loss())==support-step*Point)OrderSend(Symbol(),OP_SELLSTOP,Lot,support-step*Point,3,support+step*Point,Ask-TakeProfit*Point); 
}



 if ((support!=support1)||(resist!=resist1)){
            seljak=true;
            bajak=true;
        TotalOrders=OrdersTotal();
        for (i=0; i<=TotalOrders; i++){
                 if (OrderSelect(0,SELECT_BY_POS)==true){
                    if (OrderType()==OP_BUY) OrderClose(OrderTicket(),OrderLots(),Bid,5,Red);
                    if (OrderType()==OP_SELL) OrderClose(OrderTicket(),OrderLots(),Ask,5,Red);
                    if (OrderType()==OP_SELLSTOP) OrderDelete(OrderTicket(),Green);
                    if (OrderType()==OP_BUYSTOP) OrderDelete(OrderTicket(),Green);
                    if (OrderType()==OP_SELLLIMIT) OrderDelete(OrderTicket(),Green);
                    if (OrderType()==OP_BUYLIMIT) OrderDelete(OrderTicket(),Green);
                 
                 }
        }
                      
}  
if (support!=support1){
         if (support<resist){
 
            ticket=OrderSend(Symbol(),OP_SELLSTOP,Lot,support-step*Point,3,support+step*Point,Ask-TakeProfit*Point);
            ticket1=OrderSend(Symbol(),OP_BUYLIMIT,Lot,support+step*Point,3,support-step*Point,resist-step*Point); 

            ticket=OrderSend(Symbol(),OP_SELLLIMIT,Lot,resist-step*Point,3,resist+step*Point,support+step*Point);
            ticket1=OrderSend(Symbol(),OP_BUYSTOP,Lot,resist+step*Point,3,resist-step*Point,Ask+TakeProfit*Point); 
            if (ticket<0) return(0); 
            if (ticket1<0) return(0);          
         

}
}
if (resist!=resist1){
         if (support<resist){
       
            ticket=OrderSend(Symbol(),OP_SELLSTOP,Lot,support-step*Point,3,support+step*Point,Ask-TakeProfit*Point);
            ticket1=OrderSend(Symbol(),OP_BUYLIMIT,Lot,support+step*Point,3,support-step*Point,resist-step*Point); 

            ticket=OrderSend(Symbol(),OP_SELLLIMIT,Lot,resist-step*Point,3,resist+step*Point,support+step*Point);
            ticket1=OrderSend(Symbol(),OP_BUYSTOP,Lot,resist+step*Point,3,resist-step*Point,Ask+TakeProfit*Point); 
            if (ticket<0) return(0); 
            if (ticket1<0) return(0);          
         
}
}




resist1=resist;
support1=support;


//}
   
  return(0);
  }
 //Проверка лосей 
double Last_Close_Loss(){
double Last_profit=0, Last_close_lots=0,Last_Type=0,Last_Open_Price=0 ; int time=0; 
//---------
   for (int i=OrdersHistoryTotal();i>=1;i--){
         if(OrderSelect(i-1, SELECT_BY_POS, MODE_HISTORY))
         if(OrderSymbol ()!= Symbol())continue;
         if(OrderType() <=1 )
           {if(OrderCloseTime()>time){time=OrderCloseTime();
                                      Last_profit=OrderProfit()+OrderSwap();
                                      Last_Type=OrderType();
                                      Last_Open_Price=OrderOpenPrice();
                                      }
           }
        }    
if(Last_profit<0){
   if (Last_Type==OP_SELL) Last_Open_Price=Last_Open_Price*(-1);
}
     return(Last_Open_Price);
   
} 
//Проверка наличия отложенника по цене.   
bool Prezent_Order(){
bool Chek=false; 
int TotalOrders,i;
        TotalOrders=OrdersTotal();
        for (i=0; i<=TotalOrders; i++){
                 if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true){
                  if (OrderOpenPrice()==MathAbs(Last_Close_Loss())) Chek=true;   
                 }
        }

 return(Chek);  
} 

Тоесть он как то работает не до конца и в некотором случае выдаёт ошибку 130..... Типа неправильные стопы, Хотя всё проверил... Вроде как ровно....

ПЛИЗЗЗ!!!!! Помогите или натолкните на мысль, где ошибка????

результат торговли собственно

Сов выставляет ордера только в одну сторону, А нужно чтоб он колотил их в одну сторону, И что то никак не соображу :(((((

 
nikelodeon:

Раз уж здесь начал здесь и продолжу.... Короче парюсь не по децки. Написал советника но никак не могу понять почему он не ставить всё полностью. Стратегия конечно убыточна, НО интересно, почему перевёртыш работает не до конца я бы сказал....

Открывает позиции но как то не всегда удачно, я бы сказал. Ктонить может помочь????

Тоесть он как то работает не до конца и в некотором случае выдаёт ошибку 130..... Типа неправильные стопы, Хотя всё проверил... Вроде как ровно....

ПЛИЗЗЗ!!!!! Помогите или натолкните на мысль, где ошибка????

результат торговли собственно

Сов выставляет ордера только в одну сторону, А нужно чтоб он колотил их в одну сторону, И что то никак не соображу :(((((

Привет. Советую вести сквозной контроль ордеров, каждому уровню - свой коммент ордера, и обязательно перед постановкой ордеров проверять отступ цены на стоплевел. Алгоритм можно упростить - всего 4 ордера, один может быть в рынке. Отложки стразу ставим по уровням - открытие автоматом на стопе. Смотрим все ордера - если сработал тейк рыночного вне канала - удаляем отложки. Я так понимаю работа идет изнутри канала.
 
FION:
Привет. Советую вести сквозной контроль ордеров, каждому уровню - свой коммент ордера, и обязательно перед постановкой ордеров проверять отступ цены на стоплевел. Алгоритм можно упростить - всего 4 ордера, один может быть в рынке. Отложки стразу ставим по уровням - открытие автоматом на стопе. Смотрим все ордера - если сработал тейк рыночного вне канала - удаляем отложки. Я так понимаю работа идет изнутри канала.

Да нет, работа идёт от линии.....
 
Просто не совсем понятно где ошибка??? Так то вроде всё правильно....
 
nikelodeon:
Просто не совсем понятно где ошибка??? Так то вроде всё правильно....
Нужно учитывать, что в момент установки бай лимит всегда должно соблюдаться условие: его цена открытия должна быть всегда ниже текущей цены рынка и наоборот для селл лимит. У вас цена привязана к индикатору, а не к текущей цене рынка, поэтому вышеуказанное условие возможно не всегда выполняется.
 


всё таки я его настроил! :)

ребята сможете помочь

в сова закинуть натраиваемые параметры умножения!?

плиз!

Файлы:
vlad_2.mq4  12 kb
 
vladds, на реальный счет вы тоже 10 000$ зарядите под данный советник?
 
Bicus:
vladds, на реальный счет вы тоже 10 000$ зарядите под данный советник?

он ещё сырой

сам тест запусти ночью в3 часа закончился тест в 10:30 :)

а советник нужно будет дороботать и соеденить в общем это я так написал что есть золотой коридор

 
vladds:


всё таки я его настроил! :)


Настроил знатно. Не забудь поделиться настройками с другими селянами.

 
4x-online:

Настроил знатно. Не забудь поделиться настройками с другими селянами.


последний выложеный сов настроен!
Причина обращения: