//ææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææ // Ãðààëü_3.mq4. // Èñïîëüçóåòñÿ â êà÷åñòâå ïðèìåðà â ñòàòüå "Ìîé ïåðâûé Ãðààëü". // Ñåðãåé Êîâàë¸â, Äíåïðîïåòðîâñê, sk@mail.dnepr.net, ICQ 64015987, http://autograf.dp.ua/. //ææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææ // // //ææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææ extern int MA1 = 11; // Ïåðèîä 1-é ÌÀ extern int MA2 = 23; // Ïåðèîä 2-é ÌÀ extern double TP = 50; // ÒýéêÏðîôèò îðäåðà extern double SL = 15; // ÑòîïËîññ îðäåðà extern double Prots= 0; // Ïðîöåíò îò ñâîáîäíûõ ñðåäñòâ //-------------------------------------------------------------------------------------------- int ret, // Íàïðàâëåíèå ïåðåñå÷åíèÿ total; // Êðëè÷åñòâî îòêðûòûõ îðäåðîâ //-------------------------------------------------------------------------------------------- double Lot, // Êîëè÷åñòâî ëîòîâ Pred, // Ïðåäûäóùåå çíà÷åíèå 1-é ÌÀ (ðîçîâ) Tek, // Òåêóùåå çíà÷åíèå 1-é ÌÀ (ðîçîâ) Golub; // Òåêóùåå çíà÷åíèå 2-é ÌÀ(ãîëóáàÿ) //ææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææ int init() { //============================================================================================ SL = SL*Point; // ÑòîïËîññ â ïóíêòàõ TP = TP*Point; // ÒýéêÏðîôèò â ïóíêòàõ return; //============================================================================================ } //ææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææ int start() { //============================================================================================ total=OrdersTotal(); // Îáùåå êîëè÷åñòâî îðäåðîâ if (total==2)return; // Óæå îòêðûòû îáà îðäåðà //-------------------------------------------------------------------------------------------- Tek =iMA(NULL,0, MA1, 0,MODE_LWMA, PRICE_TYPICAL, 0);// Òåêóùåå çíà÷åíèå 1-é ÌÀ Pred =iMA(NULL,0, MA1, 0,MODE_LWMA, PRICE_TYPICAL, 1);// Ïðåäûäóùåå çíà÷åíèå 2-é ÌÀ Golub=iMA(NULL,0, MA2, 0,MODE_LWMA, PRICE_TYPICAL, 0);// Òåêóùåå çíà÷åíèå 2-é ÌÀ //-------------------------------------------------------------------------------------------- if (Peresechenie()==1) Open_Buy(); // Äâèæåíèå ñíèçó ââåðõ = îòêð. Buy if (Peresechenie()==2) Open_Sell(); // Äâèæåíèå ñâåðõó âíèç = îòêð. Sell return; //============================================================================================ } //ææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææ int Peresechenie() // Ôóíêöèÿ îïðåäåëåíèÿ ïåðåñå÷åíèÿ { //============================================================================================ if ((Pred<=Golub && Tek> Golub) || (Pred< Golub && Tek>=Golub) ) ret=1; // Ïåðåñå÷åíèå ñíèçó ââåðõ //-------------------------------------------------------------------------------------------- if ((Pred>=Golub && Tek< Golub) || (Pred> Golub && Tek<=Golub) ) ret=2; // Ïåðåñå÷åíèå ñâåðõó âíèç //============================================================================================ return(ret); // Âîçâðàùàåì íàïðàâëåíèå ïåðåñå÷åí. } //ææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææ int Open_Buy() // Ôóíêöèÿ îòêðûòèÿ Buy { //============================================================================================ if (total==1) // Åñëè îðäåð âñåãî îäèí.. { // .. çíà÷èò ìîæíî îòêðûòü äðóãîé OrderSelect(0, SELECT_BY_POS); // Âûäåëèì îðäåð if (OrderType()==0)return; // Åñëè îí buy, òî íå îòêðûâàåìñÿ } OrderSend(Symbol(),0, Lots(), Ask, 0, Ask-SL, Ask+TP, "", 0, 0, Blue);// Îòêðûâàåìñÿ //============================================================================================ return; } //ææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææ int Open_Sell() // Ôóíêöèÿ îòêðûòèÿ Sell { //============================================================================================ if (total==1) // Åñëè îðäåð âñåãî îäèí.. { // .. çíà÷èò ìîæíî îòêðûòü äðóãîé OrderSelect(0, SELECT_BY_POS); // Âûäåëèì îðäåð if (OrderType()==1)return; // Åñëè îí sell, òî íå îòêðûâàåìñÿ } OrderSend(Symbol(),1, Lots(), Bid, 0, Bid+SL, Bid-TP, "", 0, 0, Red);// Îòêðûâàåìñÿ //============================================================================================ return; } //ææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææ double Lots() // Âû÷èñëåíèå ëîòîâ { //============================================================================================ Lot=NormalizeDouble(AccountEquity()*Prots/100/1000,1);// Âû÷èñëÿåì êîëè÷. ëîòîâ double Min_Lot = MarketInfo(Symbol(), MODE_MINLOT); // Ìèíèìàëüíî äîïóñòèìàÿ ñòîèì. ëîòîâ if (Lot == 0 ) Lot = Min_Lot; // Äëÿ òåñòà íà ïîñòîÿí. ìèíèì. ëîòàõ //============================================================================================ return(Lot); } //ææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææ //
Sample
Analysis
Market Information Used:
Indicator Curves created:
Indicators Used:
Moving average indicator
Custom Indicators Used:
Order Management characteristics:
Checks for the total of open orders
It automatically opens orders when conditions are reached
Other Features: