Author: 2015, A.Voronin
syminfo
Indicators Used
Moving average indicator
0 Views
0 Downloads
0 Favorites
syminfo
//+------------------------------------------------------------------+
//| SymInfo.mq4                      ver1.0            by A.Voronin  |
//+------------------------------------------------------------------+
#property copyright   "2015, A.Voronin"
#property link        "giskoats@gmail.com"
#property description "SymbolInfo v1.0"
#property indicator_chart_window
//---
extern string note3="Èíäèêàòîð òðåíäà";
extern int ShiftMA1=9; //19
extern int ShiftMA2 = 26; //55
extern int ShiftMA3 = 55; //89
extern string MAMode= "MODE_EMA";
extern string PriceMode="PRICE_CLOSE";
//---
extern string note5 = "Óãîë îòîáðàæåíèÿ èíäèêàòîðà";
extern string note6 = "Âåðõ ëåâûé=0; Âåðõ ïðàâûé=1";
extern string note7 = "Íèæíèé ëåâûé=2; Íèæíèé ïðàâûé=3";
extern int    ThisCorner=0;
double MA1,MA2,MA3;
int scaleX=20,
scaleY=20,
offsetX=35,
offsetY=20,
fontSize=20,
symbolCodeBuy=241,
symbolCodeSell=242,
symbolCodeNoSignal=240;
//---
color signalBuyColor=Gold,
signalSellColor=MediumPurple,
noSignalColor=WhiteSmoke,
textColor=Gold;
//---
string SymbolName[]={"USD","GBP","NZD","AUD","EUR"},
//--- ñîçäàåì åùå îäèí ìàññèâ ñ íàçâàíèÿìè èíäèêàòîðîâ
CrossSymbol[]={"RUB","CHF","CAD","USD","JPY"};
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void Info()
  {
   for(int x=0;x<5;x++)
      for(int y=0;y<5;y++)
        {
         //--- ñèãíàë íà ïîêóïêó
         if(SymbolTrend(x,y)>0)
            ObjectSetText("symsignal"+x+y,CharToStr(symbolCodeBuy),fontSize,"Wingdings",signalBuyColor);
         //--- ñèãíàë íà ïðîäàæó   
         if(SymbolTrend(x,y)<0)
            ObjectSetText("symsignal"+x+y,CharToStr(symbolCodeSell),fontSize,"Wingdings",signalSellColor);
         //--- íåò ñèãíàëà
         if(SymbolTrend(x,y)==0)
            ObjectSetText("symsignal"+x+y,CharToStr(symbolCodeNoSignal),fontSize,"Wingdings",noSignalColor);
        }
//---
   return;
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int init()
  {
   for(int x=0;x<5;x++)
      for(int y=0;y<5;y++)
        {
         ObjectCreate("symsignal"+x+y,OBJ_LABEL,0,0,0,0,0);
         //--- èçìåíÿåì óãîë ïðèâÿçêè
         ObjectSet("symsignal"+x+y,OBJPROP_CORNER,ThisCorner);
         ObjectSet("symsignal"+x+y,OBJPROP_XDISTANCE,x*scaleX+offsetX);
         ObjectSet("symsignal"+x+y,OBJPROP_YDISTANCE,y*scaleY+20);
         ObjectSetText("symsignal"+x+y,CharToStr(symbolCodeNoSignal),
                       fontSize,"Wingdings",noSignalColor);
        }
//--- íàçâàíèÿ òàéìôðåéìîâ    
   for(x=0;x<5;x++)
     {
      ObjectCreate("sn"+x,OBJ_LABEL,0,0,0,0,0);
      //--- èçìåíÿåì óãîë ïðèâÿçêè      
      ObjectSet("sn"+x,OBJPROP_CORNER,ThisCorner);
      ObjectSet("sn"+x,OBJPROP_XDISTANCE,x*scaleX+offsetX);
      ObjectSet("sn"+x,OBJPROP_YDISTANCE,offsetY-10);
      ObjectSetText("sn"+x,SymbolName[x],8,"Tahoma",textColor);
     }
//--- íàçâàíèÿ èíäèêàòîðîâ 
   for(y=0;y<5;y++)
     {
      ObjectCreate("cs"+y,OBJ_LABEL,0,0,0,0,0);
      //--- èçìåíÿåì óãîë ïðèâÿçêè      
      ObjectSet("cs"+y,OBJPROP_CORNER,ThisCorner);
      ObjectSet("cs"+y,OBJPROP_XDISTANCE,offsetX-25);
      ObjectSet("cs"+y,OBJPROP_YDISTANCE,y*(scaleY)+offsetY+8);
      ObjectSetText("cs"+y,CrossSymbol[y],8,"Tahoma",textColor);
     }
//---
   return(0);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void IndClear()
  {
   for(int x=0;x<5;x++)
      for(int y=0;y<5;y++)
        {
         ObjectDelete("symsignal"+x+y);

        }
//--- íàçâàíèÿ òàéìôðåéìîâ    
   for(x=0;x<5;x++)
     {
      ObjectDelete("sn"+x);
     }
//--- íàçâàíèÿ èíäèêàòîðîâ 
   for(y=0;y<5;y++)
     {
      ObjectDelete("cs"+y);
     }
   return;
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int deinit()
  {
//---
   IndClear();
   return(0);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int SymbolTrend(int &x,int &y)
  {
   RefreshRates();
   string sym=SymbolName[x]+CrossSymbol[y];
   MA1=iMA(sym,0,ShiftMA1,8,MAMode,PriceMode,0);
   MA2=iMA(sym,0,ShiftMA2,8,MAMode,PriceMode,0);
   MA3=iMA(sym,0,ShiftMA3,8,MAMode,PriceMode,0);
//---
   if((MA1>MA2)&&(MA2>MA3)) return(1);
   if((MA1<=MA2)&&(MA2>=MA3)) return(0);
   if((MA1>=MA2)&&(MA2<=MA3)) return(0);
   if((MA1<MA2)&&(MA2<MA3)) return(-1);
   return(0);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int start()
  {
//---
   Info();
//---
   return(0);
  }
//+------------------------------------------------------------------+

Comments

Markdown supported. Formatting help

Markdown Formatting Guide

Element Markdown Syntax
Heading # H1
## H2
### H3
Bold **bold text**
Italic *italicized text*
Link [title](https://www.example.com)
Image ![alt text](image.jpg)
Code `code`
Code Block ```
code block
```
Quote > blockquote
Unordered List - Item 1
- Item 2
Ordered List 1. First item
2. Second item
Horizontal Rule ---