//+------------------------------------------------------------------+ //| Strategy of Regularities of Exchange Rates.mq4 | //| Copyright © 2008, Þðèé, yuriy@fortrader.ru | //| http://www.ForTrader.ru, Àíàëèòè÷åñêèé æóðíàë äëÿ òðåéäåðîâ. | //+------------------------------------------------------------------+ #property copyright "Copyright © 2008, Þðèé, yuriy@fortrader.ru" #property link "http://www.ForTrader.ru, Àíàëèòè÷åñêèé æóðíàë äëÿ òðåéäåðîâ." extern int optime=9; //âðåìÿ extern int cltime=2; //âðåìÿ extern int point=20;//ðàññòîÿíèå extern double Lots=0.1;//ðàññòîÿíèå extern int TakeProfit=20;//ðàññòîÿíèå extern int StopLoss=500;//ðàññòîÿíèå //Ïðîôèòíûé ñîâåòíèê äëÿ ðàáîòû íà ÷àñîâèêàõ int bars; int start() { Comment("FORTRADER.RU - âåðñèÿ äëÿ òåñòèðîâàíèÿ"); if(IsDemo()==FALSE && IsTesting()==FALSE){Print("FORTRADER.RU -version only testing");return(0);} PosManager(); //åñëè ïåðèîä áîëüøå ÷àñîâèêà òî âûõîäèì if(Period()>60){Print("Period must be < hour");return(0);} if(bars!=Bars) {bars=Bars; TimePattern(); } return(0); } int TimePattern() { if(Hour() ==optime) { //åñëè öåíà áîëüøå âåðõíåé ëèíèè òî óäàëÿåì ïðåäûäóùèé îðäåð è ñòàâèì íîâûé OrderSend(Symbol(),OP_SELLSTOP,Lots,NormalizeDouble(Ask-point*Point,Digits),3,NormalizeDouble(Ask+StopLoss*Point,Digits),0,"FORTRADER.RU",0,0,Red); OrderSend(Symbol(),OP_BUYSTOP,Lots,NormalizeDouble(Bid+point*Point,Digits),3,NormalizeDouble(Bid-StopLoss*Point,Digits),0,"FORTRADER.RU",0,0,Red); } return(0); } int deletebstop() { for( int i=1; i<=OrdersTotal(); i++) { if(OrderSelect(i-1,SELECT_BY_POS)==true) { if(OrderType()==OP_BUYSTOP && OrderSymbol()==Symbol()) { OrderDelete(OrderTicket()); }//if }//if } return(0); } int deletesstop() { for( int i=1; i<=OrdersTotal(); i++) { if(OrderSelect(i-1,SELECT_BY_POS)==true) { if(OrderType()==OP_SELLSTOP && OrderSymbol()==Symbol()) { OrderDelete(OrderTicket()); }//if }//if } return(0); } int PosManager() {int i,z; if(Hour() ==cltime){deletebstop();deletesstop();} for( i=1; i<=OrdersTotal(); i++) { if(OrderSelect(i-1,SELECT_BY_POS)==true) { if(OrderType()==OP_SELL && ((OrderOpenPrice()-Ask)>=(TakeProfit)*Point || Hour()==cltime)) { OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet); }//if }//if } for(i=1; i<=OrdersTotal(); i++) { if(OrderSelect(i-1,SELECT_BY_POS)==true) { if(OrderType()==OP_BUY && ((Bid-OrderOpenPrice())>=(TakeProfit)*Point || Hour()==cltime)) {OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet); }//if }//if } return(0); }
Sample
Analysis
Market Information Used:
Indicator Curves created:
Indicators Used:
Custom Indicators Used:
Order Management characteristics:
It automatically opens orders when conditions are reached
Checks for the total of open orders
It Closes Orders by itself
Other Features: