Hi,

I just made this code but it is not working correctly.
Where is wrong?

The strategy is based on this.
http://www.forexisbiz.com/showthread.php/1530-Lets-try-this-cocos-wave


Code:
var GSMOOTH(var price_,vars arr,var alfa){
	 var ret = pow(alfa,4)*price_ + 4*(1-alfa)*arr[0+1] - 6*pow(1-alfa,2)*arr[0+2] + 4*pow(1-alfa,3)*arr[0+3] - pow(1-alfa,4)*arr[0+4];
    return (ret);
}
  
var getAlfa(var p){
       var pis = 3.1415926535;
       var w = 2*pis/p;
	    var beta = (1 - cos(w))/(pow(1.414,2.0/3) - 1);
	    var alfa = -beta + sqrt(beta*beta + 2*beta);
	    return (alfa);
}

function run(){
	
  set(TICKS);
  
  
 
	
  int Fast=13;
  int Slow=26;
  int Signal=3;
  
  vars Fastalfa=series(getAlfa(Fast));
  vars Slowalfa=series(getAlfa(Slow));
  vars Signalalfa=series(getAlfa(Signal));
  vars Close=series(priceClose());
  vars ma = series();
  ma = series(GSMOOTH(Close[0],ma,Slowalfa[0]));
  vars maf = series();
  maf=series(GSMOOTH(Close[0],maf,Fastalfa[0]));
  vars mains=series(ma[0]-maf[0]);
  vars signal = series();
  signal=series(GSMOOTH(mains[0],signal,Signalalfa[0]));
  vars tmp=series(mains[0]-signal[0]);
  
  int MA_Period=80;
  var Deviation=0.1;
  int sMA, upper, down;
  
 
   vars sMA = series(SMA(series(priceClose(20)),MA_Period));
  var upper = sMA[0] * (1+Deviation/100);
   var down = sMA[0] * (1-Deviation/100);
   vars Close = series(priceClose());
    
  TakeProfit = 25*PIP;


if(crossOver(Close,upper)) {
  Stop = down - 10*PIP;
  enterLong();
}
if(crossUnder(Close,down)) {
  Stop = upper + 10*PIP;
  enterShort();
}
}


Last edited by SFF; 02/20/13 10:33.