Indicators Used
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 Formatting Guide
# H1
## H2
### H3
**bold text**
*italicized text*
[title](https://www.example.com)

`code`
```
code block
```
> blockquote
- Item 1
- Item 2
1. First item
2. Second item
---