Indicators Used
0
Views
0
Downloads
0
Favorites
vr---multi-timeframe-ma
#property copyright "Copyright 2013, www.trading-go.ru Project."
#property link "http://www.trading-go.ru"
#property description "Èíäèêàòîð îòîáðàæàåò ïîëîæåíèå òåêóùåé öåíû îòíîñèòåëüíî ìóâèíãîâ ðàçíûõ ïåðèîäîâ"
#property strict
#property indicator_chart_window
input int Right=0;
input int Down =0;
input color UP=clrLightBlue;
input color EQ=clrLightGreen;
input color DW=clrLightPink;
input int time_1 =1;
input int Period_1_1=528;
input int Period_1_2=1440;
input int Period_1_3=10080;
input int time_2 =5;
input int Period_2_1=462;
input int Period_2_2=1260;
input int Period_2_3=8820;
input int time_3 =15;
input int Period_3_1=264;
input int Period_3_2=720;
input int Period_3_3=5040;
input int time_4 =30;
input int Period_4_1=132;
input int Period_4_2=360;
input int Period_4_3=2520;
input int time_5 =60;
input int Period_5_1=66;
input int Period_5_2=180;
input int Period_5_3=1260;
input int time_6 =240;
input int Period_6_1=16;
input int Period_6_2=45;
input int Period_6_3=315;
input int time_7 =1440;
input int Period_7_1=3;
input int Period_7_2=7;
input int Period_7_3=52;
input int time_8 =10080;
input int Period_8_1=3;
input int Period_8_2=7;
input int Period_8_3=52;
input int time_9 =43200;
input int Period_9_1=3;
input int Period_9_2=7;
input int Period_9_3=52;
//-------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int m1=-2,m2=-2,m3=-2;string tx1="",tx2="",tx3="";
//+------------------------------------------------------------------+
//| 678 |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
const int prev_calculated,
const datetime &time[],
const double &open[],
const double &high[],
const double &low[],
const double &close[],
const long &tick_volume[],
const long &volume[],
const int &spread[])
{
color col1=clrBlack,col2=clrBlack,col3=clrBlack;
for(int i=0; i<9; i++)
{
rez(i,m1,m2,m3,tx1,tx2,tx3);
button("time"+(string)i,Right+3,Down+30+18*i,tim(i),30,15,clrLightGreen);
if(m1==1)col1=UP;
if(m1==0)col1=EQ;
if(m1==-1)col1=DW;
if(m2==1)col2=UP;
if(m2==0)col2=EQ;
if(m2==-1)col2=DW;
if(m3==1)col3=UP;
if(m3==0)col3=EQ;
if(m3==-1)col3=DW;
button("Metka1"+(string)i,Right+40 ,Down+30+18*i,tx1,40,15,col1);
button("Metka2"+(string)i,Right+85 ,Down+30+18*i,tx2,40,15,col2);
button("Metka3"+(string)i,Right+130,Down+30+18*i,tx3,40,15,col3);
}
return(rates_total);
}
//+------------------------------------------------------------------+
string tim(int typ)
{
string txt="";
switch(typ)
{
case 0: txt="M1";break;
case 1: txt="M5";break;
case 2: txt="M15";break;
case 3: txt="M30";break;
case 4: txt="H1";break;
case 5: txt="H4";break;
case 6: txt="D1";break;
case 7: txt="W1";break;
case 8: txt="Mn";break;
}
return txt;
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
bool button(string name,int x,int y,string text,int widch,int heigt,color colbg=C'230,230,230',color coltx=C'80,80,80',int cor=0)
{
string txt1=StringConcatenate(name);
if(ObjectFind(txt1)==-1)
{
ObjectCreate(0,txt1,OBJ_BUTTON,0,0,0);
ObjectSetInteger(0,txt1,OBJPROP_STATE,false);
}
ObjectSetInteger(0,txt1,OBJPROP_CORNER,cor);
ObjectSetInteger(0,txt1,OBJPROP_XDISTANCE,x);
ObjectSetInteger(0,txt1,OBJPROP_YDISTANCE,y);
ObjectSetInteger(0,txt1,OBJPROP_XSIZE,widch);
ObjectSetInteger(0,txt1,OBJPROP_YSIZE,heigt);
ObjectSetString(0,txt1,OBJPROP_FONT,"Arial");
ObjectSetString(0,txt1,OBJPROP_TEXT,text);
ObjectSetInteger(0,txt1,OBJPROP_COLOR,coltx);
ObjectSetInteger(0,txt1,OBJPROP_BGCOLOR,colbg);
ObjectSetInteger(0,txt1,OBJPROP_BORDER_COLOR,C'80,80,80');
ChartRedraw();
return true;
}
//+------------------------------------------------------------------+
void rez(const int typ,int &ma1,int &ma2,int &ma3, string &txt1,string &txt2,string &txt3)
{
int itog=-1;
double price=(Ask+Bid)/2;
switch(typ)
{
case 0:
if(price>iMA(_Symbol,time_1,Period_1_1,0,1,0,0))ma1=1;
if(price==iMA(_Symbol,time_1,Period_1_1,0,1,0,0))ma1=0;
if(price<iMA(_Symbol,time_1,Period_1_1,0,1,0,0))ma1=-1;
if(price>iMA(_Symbol,time_1,Period_1_2,0,1,0,0))ma2=1;
if(price==iMA(_Symbol,time_1,Period_1_2,0,1,0,0))ma2=0;
if(price<iMA(_Symbol,time_1,Period_1_2,0,1,0,0))ma2=-1;
if(price>iMA(_Symbol,time_1,Period_1_3,0,1,0,0))ma3=1;
if(price==iMA(_Symbol,time_1,Period_1_3,0,1,0,0))ma3=0;
if(price<iMA(_Symbol,time_1,Period_1_3,0,1,0,0))ma3=-1;
txt1=(string)Period_1_1;
txt2=(string)Period_1_2;
txt3=(string)Period_1_3;
break;
case 1:
if(price>iMA(_Symbol,time_2,Period_2_1,0,1,0,0))ma1=1;
if(price==iMA(_Symbol,time_2,Period_2_1,0,1,0,0))ma1=0;
if(price<iMA(_Symbol,time_2,Period_2_1,0,1,0,0))ma1=-1;
if(price>iMA(_Symbol,time_2,Period_2_2,0,1,0,0))ma2=1;
if(price==iMA(_Symbol,time_2,Period_2_2,0,1,0,0))ma2=0;
if(price<iMA(_Symbol,time_2,Period_2_2,0,1,0,0))ma2=-1;
if(price>iMA(_Symbol,time_2,Period_2_3,0,1,0,0))ma3=1;
if(price==iMA(_Symbol,time_2,Period_2_3,0,1,0,0))ma3=0;
if(price<iMA(_Symbol,time_2,Period_2_3,0,1,0,0))ma3=-1;
txt1=(string)Period_2_1;
txt2=(string)Period_2_2;
txt3=(string)Period_2_3;
break;
case 2:
if(price>iMA(_Symbol,time_3,Period_3_1,0,1,0,0))ma1=1;
if(price==iMA(_Symbol,time_3,Period_3_1,0,1,0,0))ma1=0;
if(price<iMA(_Symbol,time_3,Period_3_1,0,1,0,0))ma1=-1;
if(price>iMA(_Symbol,time_3,Period_3_2,0,1,0,0))ma2=1;
if(price==iMA(_Symbol,time_3,Period_3_2,0,1,0,0))ma2=0;
if(price<iMA(_Symbol,time_3,Period_3_2,0,1,0,0))ma2=-1;
if(price>iMA(_Symbol,time_3,Period_3_3,0,1,0,0))ma3=1;
if(price==iMA(_Symbol,time_3,Period_3_3,0,1,0,0))ma3=0;
if(price<iMA(_Symbol,time_3,Period_3_3,0,1,0,0))ma3=-1;
txt1=(string)Period_3_1;
txt2=(string)Period_3_2;
txt3=(string)Period_3_3;
break;
case 3:
if(price>iMA(_Symbol,time_4,Period_4_1,0,1,0,0))ma1=1;
if(price==iMA(_Symbol,time_4,Period_4_1,0,1,0,0))ma1=0;
if(price<iMA(_Symbol,time_4,Period_4_1,0,1,0,0))ma1=-1;
if(price>iMA(_Symbol,time_4,Period_4_2,0,1,0,0))ma2=1;
if(price==iMA(_Symbol,time_4,Period_4_2,0,1,0,0))ma2=0;
if(price<iMA(_Symbol,time_4,Period_4_2,0,1,0,0))ma2=-1;
if(price>iMA(_Symbol,time_4,Period_4_3,0,1,0,0))ma3=1;
if(price==iMA(_Symbol,time_4,Period_4_3,0,1,0,0))ma3=0;
if(price<iMA(_Symbol,time_4,Period_4_3,0,1,0,0))ma3=-1;
txt1=(string)Period_4_1;
txt2=(string)Period_4_2;
txt3=(string)Period_4_3;;
break;
case 4:
if(price>iMA(_Symbol,time_5,Period_5_1,0,1,0,0))ma1=1;
if(price==iMA(_Symbol,time_5,Period_5_1,0,1,0,0))ma1=0;
if(price<iMA(_Symbol,time_5,Period_5_1,0,1,0,0))ma1=-1;
if(price>iMA(_Symbol,time_5,Period_5_2,0,1,0,0))ma2=1;
if(price==iMA(_Symbol,time_5,Period_5_2,0,1,0,0))ma2=0;
if(price<iMA(_Symbol,time_5,Period_5_2,0,1,0,0))ma2=-1;
if(price>iMA(_Symbol,time_5,Period_5_3,0,1,0,0))ma3=1;
if(price==iMA(_Symbol,time_5,Period_5_3,0,1,0,0))ma3=0;
if(price<iMA(_Symbol,time_5,Period_5_3,0,1,0,0))ma3=-1;
txt1=(string)Period_5_1;
txt2=(string)Period_5_2;
txt3=(string)Period_5_3;
break;
case 5:
if(price>iMA(_Symbol,time_6,Period_6_1,0,1,0,0))ma1=1;
if(price==iMA(_Symbol,time_6,Period_6_1,0,1,0,0))ma1=0;
if(price<iMA(_Symbol,time_6,Period_6_1,0,1,0,0))ma1=-1;
if(price>iMA(_Symbol,time_6,Period_6_2,0,1,0,0))ma2=1;
if(price==iMA(_Symbol,time_6,Period_6_2,0,1,0,0))ma2=0;
if(price<iMA(_Symbol,time_6,Period_6_2,0,1,0,0))ma2=-1;
if(price>iMA(_Symbol,time_6,Period_6_3,0,1,0,0))ma3=1;
if(price==iMA(_Symbol,time_6,Period_6_3,0,1,0,0))ma3=0;
if(price<iMA(_Symbol,time_6,Period_6_3,0,1,0,0))ma3=-1;
txt1=(string)Period_6_1;
txt2=(string)Period_6_2;
txt3=(string)Period_6_3;
break;
case 6:
if(price>iMA(_Symbol,time_7,Period_7_1,0,1,0,0))ma1=1;
if(price==iMA(_Symbol,time_7,Period_7_1,0,1,0,0))ma1=0;
if(price<iMA(_Symbol,time_7,Period_7_1,0,1,0,0))ma1=-1;
if(price>iMA(_Symbol,time_7,Period_7_2,0,1,0,0))ma2=1;
if(price==iMA(_Symbol,time_7,Period_7_2,0,1,0,0))ma2=0;
if(price<iMA(_Symbol,time_7,Period_7_2,0,1,0,0))ma2=-1;
if(price>iMA(_Symbol,time_7,Period_7_3,0,1,0,0))ma3=1;
if(price==iMA(_Symbol,time_7,Period_7_3,0,1,0,0))ma3=0;
if(price<iMA(_Symbol,time_7,Period_7_3,0,1,0,0))ma3=-1;
txt1=(string)Period_7_1;
txt2=(string)Period_7_2;
txt3=(string)Period_7_3;
break;
case 7:
if(price>iMA(_Symbol,time_8,Period_8_1,0,1,0,0))ma1=1;
if(price==iMA(_Symbol,time_8,Period_8_1,0,1,0,0))ma1=0;
if(price<iMA(_Symbol,time_8,Period_8_1,0,1,0,0))ma1=-1;
if(price>iMA(_Symbol,time_8,Period_8_2,0,1,0,0))ma2=1;
if(price==iMA(_Symbol,time_8,Period_8_2,0,1,0,0))ma2=0;
if(price<iMA(_Symbol,time_8,Period_8_2,0,1,0,0))ma2=-1;
if(price>iMA(_Symbol,time_8,Period_8_3,0,1,0,0))ma3=1;
if(price==iMA(_Symbol,time_8,Period_8_3,0,1,0,0))ma3=0;
if(price<iMA(_Symbol,time_8,Period_8_3,0,1,0,0))ma3=-1;
txt1=(string)Period_8_1;
txt2=(string)Period_8_2;
txt3=(string)Period_8_3;
break;
case 8:
if(price>iMA(_Symbol,time_9,Period_9_1,0,1,0,0))ma1=1;
if(price==iMA(_Symbol,time_9,Period_9_1,0,1,0,0))ma1=0;
if(price<iMA(_Symbol,time_9,Period_9_1,0,1,0,0))ma1=-1;
if(price>iMA(_Symbol,time_9,Period_9_2,0,1,0,0))ma2=1;
if(price==iMA(_Symbol,time_9,Period_9_2,0,1,0,0))ma2=0;
if(price<iMA(_Symbol,time_9,Period_9_2,0,1,0,0))ma2=-1;
if(price>iMA(_Symbol,time_9,Period_9_3,0,1,0,0))ma3=1;
if(price==iMA(_Symbol,time_9,Period_9_3,0,1,0,0))ma3=0;
if(price<iMA(_Symbol,time_9,Period_9_3,0,1,0,0))ma3=-1;
txt1=(string)Period_9_1;
txt2=(string)Period_9_2;
txt3=(string)Period_9_3;
break;
}
}
//+------------------------------------------------------------------+
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
---