Интересный, но не торгующий эксп..

 
Фсем страсти, кто может сказать почему не торгует, может потому что использует 30 индюков ( слишком большой объём информации +) )
Файлы:
matrix.rar  1082 kb
 

прикольно.. на самом деле работа этого эксперта зависит от двух индюков № 8 и № 21

дальше сам разбирайся, возьми их и посмотри..

там например логическая ошибка № 8 выдает значения 0 или 1, а -1 не выдает

if (iBearsPower(NULL,pibear,pibearu,PRICE_CLOSE,2)<0&&iBearsPower(NULL,pibear,pibearu,PRICE_CLOSE,1)
<0&&iBearsPower(NULL,pibear,pibearu,PRICE_CLOSE,0)<0&&iBearsPower(NULL,pibear,pibearu,PRICE_CLOSE,2)
<iBearsPower(NULL,pibear,pibearu,PRICE_CLOSE,1)&&iBearsPower(NULL,pibear,pibearu,PRICE_CLOSE,1)
<iBearsPower(NULL,pibear,pibearu,PRICE_CLOSE,0))
{f8=1;}

таким образом вот здесь

//----------Block of processing the strategy and placing the Main Flag----------
if(f8==1&&f21==1) //Set of conditions, providing which Buy is executed
flag=1;
if(f8==-1&&f21==-1) //Set of conditions, providing which Sell is executed
flag=-1;


тоже некорректно.. и в результате условия открытия позиций могут и наступать вовсе..

if (flag==1) //If flag is equal to one (buy)
         {order=OrderSend(Symbol(),OP_BUY,Lot,Ask,slipp,Ask-distance*Point,Ask+distance*Point,"Buy"); 
//opening a position and placing 2 orders
       }
       if (flag==-1)
         {order=OrderSend(Symbol(),OP_SELL,Lot,Bid,slipp,Bid+distance*Point,Bid-distance*Point,"Sell");
//opening a position and placing 2 orders
       }
в общем лажовый советник.. имеется в виду что идея в зачатке и не была доведена до логического конца..
 
NEKSUS писал(а) >>
Фсем страсти, кто может сказать почему не торгует, может потому что использует 30 индюков ( слишком большой объём информации +) )

f8 и f21 принимают знаечния только 0 или 1. Одновременного значения равное 1 не было за 2008 год. Разбирайся с логикой.

int f8=0; //8. Bears Power
int f21=0; //21. MACD (2)//8. Bears Power
//Is used only together with a trend indicator. Gives only Buy signals.
//Flag is 1, if the indicator is negative and grows, 0 - in all other cases, -1 - never.
if (iBearsPower(NULL,pibear,pibearu,PRICE_CLOSE,2)<0
  &&iBearsPower(NULL,pibear,pibearu,PRICE_CLOSE,1)<0
  &&iBearsPower(NULL,pibear,pibearu,PRICE_CLOSE,0)<0
  &&iBearsPower(NULL,pibear,pibearu,PRICE_CLOSE,2)<iBearsPower(NULL,pibear,pibearu,PRICE_CLOSE,1)
  &&iBearsPower(NULL,pibear,pibearu,PRICE_CLOSE,1)<iBearsPower(NULL,pibear,pibearu,PRICE_CLOSE,0))
{f8=1;}

//21. MACD (2)
//Buy: crossing 0 upwards
//Sell: crossing 0 downwards
if(iOsMA(NULL,pimacd,fastpimacd,slowpimacd,signalpimacd,PRICE_CLOSE,4)<0
  &&iOsMA(NULL,pimacd,fastpimacd,slowpimacd,signalpimacd,PRICE_CLOSE,3)<0
  &&iOsMA(NULL,pimacd,fastpimacd,slowpimacd,signalpimacd,PRICE_CLOSE,2)<0
  &&iOsMA(NULL,pimacd,fastpimacd,slowpimacd,signalpimacd,PRICE_CLOSE,1)<0
  &&iOsMA(NULL,pimacd,fastpimacd,slowpimacd,signalpimacd,PRICE_CLOSE,0)<0
  &&iOsMA(NULL,pimacd,fastpimacd,slowpimacd,signalpimacd,PRICE_CLOSE,4)>=iOsMA(NULL,pimacd,fastpimacd,slowpimacd,signalpimacd,PRICE_CLOSE,3)
  &&iOsMA(NULL,pimacd,fastpimacd,slowpimacd,signalpimacd,PRICE_CLOSE,3)>=iOsMA(NULL,pimacd,fastpimacd,slowpimacd,signalpimacd,PRICE_CLOSE,2)
  &&iOsMA(NULL,pimacd,fastpimacd,slowpimacd,signalpimacd,PRICE_CLOSE,2)<=iOsMA(NULL,pimacd,fastpimacd,slowpimacd,signalpimacd,PRICE_CLOSE,1)
  &&iOsMA(NULL,pimacd,fastpimacd,slowpimacd,signalpimacd,PRICE_CLOSE,1)<=iOsMA(NULL,pimacd,fastpimacd,slowpimacd,signalpimacd,PRICE_CLOSE,0))
{f22=1;}

if(iOsMA(NULL,pimacd,fastpimacd,slowpimacd,signalpimacd,PRICE_CLOSE,4)>0
  &&iOsMA(NULL,pimacd,fastpimacd,slowpimacd,signalpimacd,PRICE_CLOSE,3)>0
  &&iOsMA(NULL,pimacd,fastpimacd,slowpimacd,signalpimacd,PRICE_CLOSE,2)>0
  &&iOsMA(NULL,pimacd,fastpimacd,slowpimacd,signalpimacd,PRICE_CLOSE,1)>0
  &&iOsMA(NULL,pimacd,fastpimacd,slowpimacd,signalpimacd,PRICE_CLOSE,0)>0
  &&iOsMA(NULL,pimacd,fastpimacd,slowpimacd,signalpimacd,PRICE_CLOSE,4)<=iOsMA(NULL,pimacd,fastpimacd,slowpimacd,signalpimacd,PRICE_CLOSE,3)
  &&iOsMA(NULL,pimacd,fastpimacd,slowpimacd,signalpimacd,PRICE_CLOSE,3)<=iOsMA(NULL,pimacd,fastpimacd,slowpimacd,signalpimacd,PRICE_CLOSE,2)
  &&iOsMA(NULL,pimacd,fastpimacd,slowpimacd,signalpimacd,PRICE_CLOSE,2)>=iOsMA(NULL,pimacd,fastpimacd,slowpimacd,signalpimacd,PRICE_CLOSE,1)
  &&iOsMA(NULL,pimacd,fastpimacd,slowpimacd,signalpimacd,PRICE_CLOSE,1)>=iOsMA(NULL,pimacd,fastpimacd,slowpimacd,signalpimacd,PRICE_CLOSE,0))
{f22=-1;}

Print("f8=",f8,"; f21=",f21);
if(f8==1&&f21==1) //Set of conditions, providing which Buy is executed
flag=1;
if(f8==-1&&f21==-1) //Set of conditions, providing which Sell is executed
flag=-1;

А на самом деле, проверять самому надо. И искать свои ошибки.

Все остальные индикаторы неизвестно для каких целей прицеплены.

 
Спасиб..
 
терь торгует!
Файлы:
matrix.mq4  35 kb
 
vvavva >>:
терь торгует!

почему только на Бай?

 
у меня на 5 минутках и селил и баил(кажись) не забивайте голову!
 
vvavva >>:
терь торгует!

Спасяб!!!