//+------------------------------------------------------------------+ //| BrainTrend1Sig.mq4 | //| BrainTrading Inc. System 7.0 | //| http://www.braintrading.com | //+------------------------------------------------------------------+ #property copyright "BrainTrading Inc. System 7.0" #property link "http://www.braintrading.com" #property indicator_chart_window #property indicator_buffers 2 #property indicator_color1 Magenta #property indicator_color2 Aqua //---- input parameters extern int NumBars=5000; extern int EnableAlerts=0; extern int SignalID=0; //---- buffers double ExtMapBuffer1[]; double ExtMapBuffer2[]; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { //---- indicators SetIndexStyle(0,DRAW_ARROW); SetIndexArrow(0,108); SetIndexBuffer(0,ExtMapBuffer1); SetIndexEmptyValue(0,0.0); SetIndexStyle(1,DRAW_ARROW); SetIndexArrow(1,108); SetIndexBuffer(1,ExtMapBuffer2); SetIndexEmptyValue(1,0.0); //---- return(0); } //+------------------------------------------------------------------+ //| Custor indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { int counted_bars=IndicatorCounted(); //---- double value2=0; double value3=0; double value11=0; double x1=0; double x2=0; double Range=0; double val1=0; double val2=0; int shift=0; double abrs=0; double s=1.5; double p=0; double r=0; double r1=0; double value21=0; double prev=0; double d=2.3; double f=7; double h11=0; double h12=0; double h13=0; double const=0; double orig=0; double st=0; double h2=0; double h1=0; double h10=0; double sxs=0; double sms=0; double temp=0; double a1=0; double per1=0; double a1x=0; double h5=0; double tsig=0; double r1s=0; double r2s=0; double r3s=0; double r4s=0; double pt=0; double pts=0; double r2=0; double r3=0; double r4=0; double tt=0; st=1; if (st == 1) { value11 = 9; x1 = 53; x2 = 47; if (Bars < NumBars) abrs = Bars - 11; else abrs = NumBars - 11; shift=abrs; while(shift>=0) { Range = iATR(NULL,0,f,shift); value2 = iStochastic(NULL,0,value11,value11,1,0,0,0,shift); val1 = 0; val2 = 0; if (value2 < x2 && MathAbs(Close[shift] - Close[shift + 2]) > Range / d) { if (p == 2 || p == 0) { value3 = High[shift] + Range * s / 4; val1 = value3; p = 1; } } if (value2 > x1 && MathAbs(Close[shift] - Close[shift + 2]) > Range / d) { if (p == 1 || p == 0 ) { value3 = Low[shift] - Range * s / 4; val2 = value3; p = 2; } } ExtMapBuffer1[shift]=val1; ExtMapBuffer2[shift]=val2; shift--; } } if (EnableAlerts == 1) { if (val1 > 0 && tsig != 1) { tsig = 1; a1 = FileOpen("alert1" + SignalID,";"); FileWrite(a1,"Sell " ,Symbol() ," at ", Close[0] , " S/L " , val1 , " BT1 M" ,Period()); FileClose(a1); } if (val2 > 0 && tsig != 2) { tsig = 2; a1 = FileOpen("alert1" + SignalID,";"); FileWrite(a1,"Buy " , Symbol() , " at " ,Close[0] ," S/L " ,val2 ," BT1 M" , Period()); FileClose(a1); } } //---- return(0); } //+------------------------------------------------------------------+