//+------------------------------------------------------------------+ //| SWCCI.mq4 | //| 00110 | //| | //+------------------------------------------------------------------+ //---- input parameters extern int CCI_Period=50; extern int TCCI_Period=0; extern int MainTP=100; extern double Lots=0.3; extern int MaximumStop=40; extern int TrailingStop=60; int Magic=110912; double H1; double L1; int T; //+------------------------------------------------------------------+ //| TrailingStop function | //+------------------------------------------------------------------+ void DoTrail() { for (int i = 0; i < OrdersTotal(); i++) { OrderSelect(i, SELECT_BY_POS, MODE_TRADES); if ( OrderSymbol()==Symbol() && (OrderMagicNumber() == Magic)) // only look if mygrid and symbol... { if (OrderType() == OP_BUY) { if(Bid-OrderOpenPrice()>Point*TrailingStop) { if(OrderStopLoss()(Point*TrailingStop)) { if((OrderStopLoss()>(Ask+Point*TrailingStop)) || (OrderStopLoss()==0)) { OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*TrailingStop,OrderTakeProfit(),0,Red); return(0); } } } } } } //+------------------------------------------------------------------+ //| expert initialization function | //+------------------------------------------------------------------+ int init() { L1=0; H1=0; return(0); } //+------------------------------------------------------------------+ //| START | //+------------------------------------------------------------------+ int start() { double CCIYellow; double CCIBlue; double CCIYellow2; double CCIBlue2; int tries,ticket; if (TrailingStop>0) DoTrail(); /* if (OrdersHistoryTotal()>0) { if (OrderSelect(ticket, SELECT_BY_TICKET)!=true) Alert("SELECT_BY_TICKET"); if ((OrderMagicNumber() == Magic) && (OrderCloseTime()>0)) { Alert("order closed"); L1=0; H1=0; Comment(" >>> Buy Order <<< ","\nTicket= ",ticket,"\nL1= ",L1,"\nH1= ",H1); return(0); } } */ //Super Woodie CCI /// ////////////////////// if (((Hour()*60)+Minute())!=T) { CCIYellow=iCustom(NULL, 0,"SCCI",CCI_Period,TCCI_Period,1,1); CCIBlue=iCustom(NULL, 0,"SCCI",CCI_Period,TCCI_Period,0,1); CCIYellow2=iCustom(NULL, 0,"SCCI",CCI_Period,TCCI_Period,1,2); CCIBlue2=iCustom(NULL, 0,"SCCI",CCI_Period,TCCI_Period,0,2); ///Buy if (CCIYellowCCIBlue2) { H1=iHigh(NULL,0,1); L1=0; //Comment("SCCI Signal = Buy","\nHigh= ",H1,"\n Ask= ",Ask,"\nTicket= ",ticket); } } ///Sell if (CCIYellow>CCIBlue) { if (CCIYellow2>> Buy Order <<< ","\nTicket= ",ticket,"\nL1= ",L1,"\nH1= ",H1); tries = 3; } } } } } ///Sell if (L1!=0) { if ((L1-Bid<2) && (L1-Bid>0)) { if (((Hour()*60)+Minute())!=T) { tries = 0; while (tries < 3) { ticket = OrderSend(Symbol(),OP_SELL,Lots,Bid,1,Bid+MaximumStop*Point,Bid-MainTP*Point,"Sell Order",Magic,0,Red); T=(Hour()*60)+Minute(); if(ticket<0) { tries++; } else { L1=0; H1=0; ObjectCreate(TimeToStr(TimeCurrent()), OBJ_VLINE, 0, TimeCurrent(), 0); //Comment(" >>> Sell Order <<< ","\nTicket= ",ticket,"\nL1= ",L1,"\nH1= ",H1); tries = 3; Sleep(60000); } } } } } ////////////////////// Comment(" Low= ",L1,"\nHigh= ",H1,"\nTicket= ",ticket,"\nT= ",T); return(0); }