//+------------------------------------------------------------------+ //| signalTable.mq4 | //| Antonuk Oleg | //| antonukoleg@gmail.com | //+------------------------------------------------------------------+ #property copyright "Antonuk Oleg" #property link "antonukoleg@gmail.com" //---- #property indicator_chart_window extern int scaleX=20, scaleY=20, offsetX=35, offsetY=20, fontSize=20, corner=2, symbolCodeBuy=67, symbolCodeSell=68, symbolCodeNoSignal=73; extern color signalBuyColor=Gold, signalSellColor=MediumPurple, noSignalColor=WhiteSmoke, textColor=Gold; int period[]={1,5,15,30,60,240,1440,10080,43200}; string periodString[]={"M1","M5","M15","M30","H1","H4","D1","W1","MN1"}, // ñîçäàåì åùå îäèí ìàññèâ ñ íàçâàíèÿìè èíäèêàòîðîâ signalNameString[]={"MA","WPR","SAR"}; //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ int init() { // òàáëèöà ñèãíàëîâ for(int x=0;x<9;x++) for(int y=0;y<3;y++) { ObjectCreate("signal"+x+y,OBJ_LABEL,0,0,0,0,0); // èçìåíÿåì óãîë ïðèâÿçêè ObjectSet("signal"+x+y,OBJPROP_CORNER,corner); ObjectSet("signal"+x+y,OBJPROP_XDISTANCE,x*scaleX+offsetX); ObjectSet("signal"+x+y,OBJPROP_YDISTANCE,y*scaleY+20); ObjectSetText("signal"+x+y,CharToStr(symbolCodeNoSignal), fontSize,"Wingdings",noSignalColor); } // íàçâàíèÿ òàéìôðåéìîâ for(x=0;x<9;x++) { ObjectCreate("textPeriod"+x,OBJ_LABEL,0,0,0,0,0); // èçìåíÿåì óãîë ïðèâÿçêè ObjectSet("textPeriod"+x,OBJPROP_CORNER,corner); ObjectSet("textPeriod"+x,OBJPROP_XDISTANCE,x*scaleX+offsetX); ObjectSet("textPeriod"+x,OBJPROP_YDISTANCE,offsetY-10); ObjectSetText("textPeriod"+x,periodString[x],8,"Tahoma",textColor); } // íàçâàíèÿ èíäèêàòîðîâ for(y=0;y<3;y++) { ObjectCreate("textSignal"+y,OBJ_LABEL,0,0,0,0,0); // èçìåíÿåì óãîë ïðèâÿçêè ObjectSet("textSignal"+y,OBJPROP_CORNER,corner); ObjectSet("textSignal"+y,OBJPROP_XDISTANCE,offsetX-25); ObjectSet("textSignal"+y,OBJPROP_YDISTANCE,y*(scaleY)+offsetY+8); ObjectSetText("textSignal"+y,signalNameString[y],8,"Tahoma",textColor); } return(0); } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ int start() { for(int x=0;x<9;x++) { // ñèãíàë íà ïîêóïêó if(iMA(Symbol(),period[x],13,0,0,0,0)>iMA(Symbol(),period[x],24,0,0,0,0)) ObjectSetText("signal"+x+"0",CharToStr(symbolCodeBuy),fontSize,"Wingdings",signalBuyColor); // ñèãíàë íà ïðîäàæó else ObjectSetText("signal"+x+"0",CharToStr(symbolCodeSell),fontSize,"Wingdings",signalSellColor); } for(x=0;x<9;x++) { // ñèãíàë íà ïîêóïêó if(MathAbs(iWPR(Symbol(),period[x],13,0))<20.0) ObjectSetText("signal"+x+"1",CharToStr(symbolCodeBuy),fontSize,"Wingdings",signalBuyColor); // ñèãíàë íà ïðîäàæó else if(MathAbs(iWPR(Symbol(),period[x],13,0))>80.0) ObjectSetText("signal"+x+"1",CharToStr(symbolCodeSell),fontSize,"Wingdings",signalSellColor); // íåò ñèãíàëà else ObjectSetText("signal"+x+"1",CharToStr(symbolCodeNoSignal),fontSize,"Wingdings",noSignalColor); } for(x=0;x<9;x++) { // ñèãíàë íà ïîêóïêó if(iSAR(Symbol(),period[x],0.02,0.2,0)<Close[0]) ObjectSetText("signal"+x+"2",CharToStr(symbolCodeBuy),fontSize,"Wingdings",signalBuyColor); // ñèãíàë íà ïðîäàæó else ObjectSetText("signal"+x+"2",CharToStr(symbolCodeSell),fontSize,"Wingdings",signalSellColor); } return(0); } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ int deinit() { // ïðè óäàëåíèè íàøåãî èíäèêàòîðà íóæíî óäàëèòü âñå îáúåêòû, // êîòîðûå ìû óæå ñîçäàëè ObjectsDeleteAll(); return(0); } //+------------------------------------------------------------------+
Sample
Analysis
Market Information Used:
Series array that contains close prices for each bar
Indicator Curves created:
Indicators Used:
Moving average indicator
Larry William percent range indicator
Parabolic Stop and Reverse system
Custom Indicators Used:
Order Management characteristics:
Other Features: