extern int Period_MA_Long = 100;// Ïåðèîä ñðåäíåé, íåîáõîäèìîé äëÿ îïðåäåëåíèÿ òðåíäà extern int Period_BB = 25; // Ïåðèîä ñðåäíåé áîëèíäæåðà extern double reserve=50; extern double deviation = 1.5; extern double Lots = 0.1; // Âåëè÷èíà ëîòà int tmp, tc, st, et, dtmp; //----------------------------------------------------------------------------------------------------------// int start() { double MA_1_Long,MA_2_Long,BB_MA,BB_n_MA,BB_Up,BB_Low,ATR; int cnt, total; //------------------------------------------Çàùèòà îò îøèáîê è êîñÿêîâ--------------------------------------// if(Bars<Period_MA_Long || Bars<Period_BB) // Åñëè êîëè÷åñòâî ñâå÷åé ìåíåå 100 { Print("Êîëè÷åñòâî áàðîâ ñëèøêîì ìàëî"); return(0); } if (Volume[0] < 1.0) // Åñëè òîðãè èäóò çíà÷èò îáüåì áîëåå 0 { Comment("Òîðãîâ íåò.. Æäåì íîâûé áàð.."); return(0); } if (AccountFreeMargin()<(1000*Lots)) { Comment("Íåäîñòàòî÷íî äåíåã. Óðîâåíü ìàðæè ìåíåå ..."); return(0); } //-----------------------------------------Êîíåö çàùèòû îò êîñÿêîâ-----------------------------------------// MA_1_Long=iMA(NULL,PERIOD_D1,Period_MA_Long,0,MODE_SMA,PRICE_CLOSE,1); MA_2_Long=iMA(NULL,PERIOD_D1,Period_MA_Long,0,MODE_SMA,PRICE_CLOSE,4); BB_MA=iCustom(NULL,0,"Bands",Period_BB,0,deviation,0,1); BB_n_MA=iCustom(NULL,0,"Bands",Period_BB,0,deviation,0,4); BB_Up=iCustom(NULL,0,"Bands",Period_BB,0,deviation,1,1); BB_Low=iCustom(NULL,0,"Bands",Period_BB,0,deviation,2,1); total=OrdersTotal(); //-------------------------------------------Çàêðûòèå ïîçèöèé------------------------------------------ for(cnt=0;cnt<total;cnt++) { OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES); if(OrderType()<=OP_SELL && OrderSymbol()==Symbol()) { if(OrderType()==OP_BUY) { if (Close[1]<BB_MA) { OrderClose(OrderTicket(),OrderLots(),Bid,50,Violet); return(0); } } if(OrderType()==OP_SELL) { if (Close[1]>BB_MA) { OrderClose(OrderTicket(),OrderLots(),Ask,50,Violet); return(0); } } } } //-----------------------------------------------Êîíåö çàêðûòèÿ ïîçèöèè------------------------------------ if(total==0) // åñëè íåò ïîçèöèé { // îòêðûòèå äëèííîé ïîçèöèè if(Close[2]<BB_Up && Close[1]>BB_Up && MA_1_Long>MA_2_Long) { OrderSend(Symbol(),OP_BUY,Lots,Ask,50,BB_Low-reserve*Point,0,"Äëèííàÿ ïîçèöèÿ",16384,0,Green); return(0); } // îòêðûòèå êîðîòêîé ïîçèöèè if(Close[2]>BB_Low && Close[1]<BB_Low && MA_1_Long<MA_2_Long) { OrderSend(Symbol(),OP_SELL,Lots,Bid,50,BB_Up+reserve*Point,0,"Êîðîòêàÿ ïîçèöèÿ",16384,0,Red); return(0); } } return(0); }
Sample
Analysis
Market Information Used:
Series array that contains tick volumes of each bar
Series array that contains close prices for each bar
Indicator Curves created:
Indicators Used:
Moving average indicator
Custom Indicators Used:
Bands
Order Management characteristics:
Checks for the total of open orders
It Closes Orders by itself
It automatically opens orders when conditions are reached
Other Features: