//+------------------------------------------------------------------+ //| Pipsover.mq4 | //| Copyright © 2006, Yury V. Reshetov. | //| http://betaexpert.narod.ru | //+------------------------------------------------------------------+ #property copyright "Copyright © 2006, Yury V. Reshetov. ICQ: 282715499" #property link "http://betaexpert.narod.ru" //---- input parameters // Îáúåìû extern double lots = 0.1; // óáûòêè extern double stoploss = 70; // Ïðèáûëü extern double takeprofit = 140; // Ïðåäåëüíûé óðîâåíü çíà÷åíèÿ èíäèêàòîðà ×àéêèíà äëÿ îòêðûòèÿ ïîçèöèè extern double openlevel = 55; // Ïðåäåëüíûé óðîâåíü çíà÷åíèÿ èíäèêàòîðà ×àéêèíà äëÿ ëîêèðîâàíèÿ ïîçèöèè extern double closelevel = 90; // Âðåìÿ ïîñëåäíåãî áàðà static int prevtime = 0; //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ int start() { // Æäåì, êîãäà ñôîðìèðóåòñÿ íîâûé áàð if (Time[0] == prevtime) return(0); prevtime = Time[0]; //---- // 20 ïåðèîäíûé ìóâèíã double ma = iMA(NULL, 0, 20, 0, MODE_SMA, PRICE_CLOSE, 0); // Ïðåäûäóùåå çíà÷åíèå èíäèêàòîðà ×àéêèíà double ch = iCustom(NULL, 0, "Chaikin", 0, 0, 1); // Íåò îòêðûòûõ ïîçèöèé if (OrdersTotal() < 1) { int res = 0; // Åñëè çíà÷åíèå èíäèêàòîðà ×àéêèíà çàøêàëèëî è íà÷àëñÿ ïîòåíöèàëüíûé ðàçâîðîò // Ñâîåãî ðîäà ïåðåïðîäàííîñòü // Ïîêóïàåì if (Close[1] > Open[1] && Low[1] < ma && ch < -openlevel) { res=OrderSend(Symbol(), OP_BUY, lots ,Ask, 3, Ask - stoploss * Point, Bid + takeprofit * Point, "Pipsover", 888, 0, Blue); return(0); } // Åñëè çíà÷åíèå èíäèêàòîðà ×àéêèíà çàøêàëèëî è íà÷àëñÿ ïîòåíöèàëüíûé ðàçâîðîò // Ñâîåãî ðîäà ïåðåêóïëåííîñòü // Ïðîäàåì if (Close[1] < Open[1] && High[1] > ma && ch > openlevel) { res=OrderSend(Symbol(), OP_SELL, lots ,Bid, 3, Bid + stoploss * Point, Ask - takeprofit * Point, "Pipsover", 888, 0, Red); return(0); } } else { // Åñòü îòêðûòûå ïîçèöèè. Ìîæåò áûòü ïîðà ïîäñòðàõîâàòüñÿ? // Åñëè îòêðûòà âñåãî îäíà ïîçèöèÿ if (OrdersTotal() > 1) return(0); OrderSelect(0, SELECT_BY_POS, MODE_TRADES); // Ïîõîæå íà îòêàò, çàëîêèðóåì äëèííóþ ïîçèöèþ if (OrderType() == OP_BUY && Close[1] < Open[1] && High[1] > ma && ch > closelevel) { res=OrderSend(Symbol(), OP_SELL, lots ,Bid, 3, Bid + stoploss * Point, Ask - takeprofit * Point, "Pipsover", 888, 0, Red); return(0); } // Ïîõîæå íà îòêàò, çàëîêèðóåì êîðîòêó ïîçèöèþ if (OrderType() == OP_SELL && Close[1] > Open[1] && Low[1] < ma && ch < -closelevel) { res=OrderSend(Symbol(), OP_BUY, lots ,Ask, 3, Ask - stoploss * Point, Bid + takeprofit * Point, "Pipsover", 888, 0, Blue); return(0); } } //---- âîò è ñêàçêå çâèçäåö return(0); } //+------------------------------------------------------------------+
Sample
Analysis
Market Information Used:
Series array that contains open time of each bar
Series array that contains close prices for each bar
Series array that contains the lowest prices of each bar
Series array that contains open prices of each bar
Series array that contains the highest prices of each bar
Indicator Curves created:
Indicators Used:
Moving average indicator
Custom Indicators Used:
Chaikin
Order Management characteristics:
Checks for the total of open orders
It automatically opens orders when conditions are reached
Other Features: