Price Data Components
0
Views
0
Downloads
0
Favorites
breath_of_currency_V-8.1en
//+------------------------------------------------------------------+
//| Äûõàíèå âàëþòû V-8.1.mq4 |
//| ÒÎËÜÊÎ ÄËß ÒÅÑÒÈÐÎÂÀÍÈß óíè÷òîæàåò ObjectsDeleteAll();
//| Ïðè òåñòèðîâàíèè ïîñòàâòå "ãàëî÷êó" â ñâîéñòâàõ ãðàôèêà = ãðàôèê ñâåðõó
//| î÷åðåäíàÿ ïîïûòêà îïðåäåëèòü áóäóùèé äèàïàçîí
//+------------------------------------------------------------------+
////Nikita-Kiev 12.08.2009 http://forum.alpari-idc.ru/post1474281-3278.html
#property indicator_chart_window
extern int ilimit= 2222;
extern bool open_above\under_Trendline = false ; // ðàáîòàåò òîëüêî íà ïåðèîäàõ îò Í1 è âûøå
extern bool expected_weekly_range = false ; //false true
extern bool calculated_day_range = true ; //false true
double nPoint = 0;
int deinit(){
ObjectsDeleteAll();
}
//----
int start(){
nPoint = GetPoint(Symbol());
int counted_bars = IndicatorCounted();
if(counted_bars > 0)
counted_bars--;
int limit = Bars - counted_bars;
limit = ilimit;
//----
for(int i = limit; i >= 0 ; i--){
//----
// &&&&&&&&&&&&&&&&&&&&&&&&&&&&&7???????????????????????????????????????????????????????????????
//===========================================================================================
if (Open[i]-Open[i+1]<= 2*nPoint && Open[i]-Open[i+1]>= -2*nPoint)
ObjectCreate("TwoOpenTogether"+ DoubleToStr(Time[i],0), OBJ_ARROW, 0, Time[i],Open[i]);//
ObjectSet("TwoOpenTogether"+ DoubleToStr(Time[i],0), OBJPROP_ARROWCODE,4);//
ObjectSet("TwoOpenTogether"+ DoubleToStr(Time[i],0), OBJPROP_COLOR, Red);//
//----
// &&&&&&&&&&&&&&&&&&&&&&&&&&&&&7???????????????????????????????????????????????????????????????
if (open_above\under_Trendline) if (High[i+1]< High[i+2] && Open[i]>= High [i+1 ]-(High [i+2 ]-High [i+1]) ) // //
ObjectCreate("OpenAboveTrendline!" + DoubleToStr(Time[i],0), OBJ_ARROW, 0, Time[i],Open[i] );
ObjectSet("OpenAboveTrendline!" + DoubleToStr(Time[i],0), OBJPROP_ARROWCODE,115);
ObjectSet("OpenAboveTrendline!" + DoubleToStr(Time[i],0), OBJPROP_COLOR, White);
//========
//---- open_above\under_Trendline ðàáîòàåò òîëüêî íà ïåðèîäàõ îò Í1 è âûøå
if (open_above\under_Trendline) if (Low [i+1]>Low [i+2] && Open[i] < Low [i+1]+(Low [i+1]-Low [i+2]) ) //
ObjectCreate("OpenBelowTrendline"+ DoubleToStr(Time[i],0), OBJ_ARROW, 0, Time[i],Open[i]);//
ObjectSet("OpenBelowTrendline"+ DoubleToStr(Time[i],0), OBJPROP_ARROWCODE,115);
ObjectSet("OpenBelowTrendline"+ DoubleToStr(Time[i],0), OBJPROP_COLOR, Red);
//----
//===========================================================================================================================================
// ???????????????????????????????????????????????????????????????????????????????????????
double W1_H = iHigh(NULL,PERIOD_W1,i+1)-(iHigh(NULL,PERIOD_W1,i+2)-iHigh(NULL,PERIOD_W1,i+1));
double W1_L = iLow(NULL,PERIOD_W1,i+1) +(iLow(NULL,PERIOD_W1,i+2) -iLow(NULL,PERIOD_W1,i+1 ));
if (expected_weekly_range) ObjectCreate("ExpectedThisWeekRange"+ DoubleToStr(Time[i],0),OBJ_RECTANGLE,0,
iTime(NULL,PERIOD_W1,i)+86400 ,W1_H,iTime(NULL,PERIOD_W1,i)+86400*7,W1_L);
ObjectSet("ExpectedThisWeekRange"+ DoubleToStr(Time[i],0),OBJPROP_BACK,false ); //false true
ObjectSet("ExpectedThisWeekRange"+ DoubleToStr(Time[i],0),OBJPROP_STYLE,0);
ObjectSet("ExpectedThisWeekRange"+ DoubleToStr(Time[i],0),OBJPROP_COLOR,Red);
//----
// ???????????????????????????????????????????????????????????????????????????????????????
double W1_H11 = iHigh(NULL,PERIOD_W1,i+1)-(iHigh(NULL,PERIOD_W1,i+1)-iHigh(NULL,PERIOD_W1,i+1));
double W1_L11 = iLow(NULL,PERIOD_W1,i+1) +(iLow(NULL,PERIOD_W1,i+1) -iLow(NULL,PERIOD_W1,i+2 ));
if (expected_weekly_range) ObjectCreate("Expected WeekRange"+ DoubleToStr(Time[i],0),OBJ_RECTANGLE,0,
iTime(NULL,PERIOD_W1,i)+86400 ,W1_H11,iTime(NULL,PERIOD_W1,i)+86400*7,W1_L11);
ObjectSet("Expected WeekRange"+ DoubleToStr(Time[i],0),OBJPROP_BACK,false ); //false true
ObjectSet("Expected WeekRange"+ DoubleToStr(Time[i],0),OBJPROP_STYLE,0);
ObjectSet("Expected WeekRange"+ DoubleToStr(Time[i],0),OBJPROP_COLOR,SlateGray);
//----
// ???????????????????????????????????????????????????????????????????????????????????????
double W1_H1 = iHigh(NULL,PERIOD_W1,i)-(iHigh(NULL,PERIOD_W1,i+1)-iHigh(NULL,PERIOD_W1,i));
double W1_L1 = iLow(NULL,PERIOD_W1,i) +(iLow(NULL,PERIOD_W1,i+1) -iLow(NULL,PERIOD_W1,i ));
if (expected_weekly_range) ObjectCreate("ExpectedNextWeekRange"+ DoubleToStr(Time[i],0),OBJ_RECTANGLE,0,
iTime(NULL,PERIOD_W1,i)+86400 ,W1_H1,iTime(NULL,PERIOD_W1,i)+86400*7,W1_L1);
ObjectSet("ExpectedNextWeekRange"+ DoubleToStr(Time[i],0),OBJPROP_BACK,false );
ObjectSet("ExpectedNextWeekRange"+ DoubleToStr(Time[i],0),OBJPROP_STYLE,0);
ObjectSet("ExpectedNextWeekRange"+ DoubleToStr(Time[i],0),OBJPROP_COLOR,Blue);
//----
// ???????????????????????????????????????????????????????????????????????????????????????
double D1_H = iHigh(NULL,PERIOD_D1,i)-(iHigh(NULL,PERIOD_D1,i+1)-iHigh(NULL,PERIOD_D1,i));
double D1_L = iLow(NULL,PERIOD_D1,i+1) +(iLow(NULL,PERIOD_D1,i+1) -iLow(NULL,PERIOD_D1,i+2 ));
if (calculated_day_range) ObjectCreate("Expected Day Range"+ DoubleToStr(Time[i],0),OBJ_RECTANGLE,0,
iTime(NULL,PERIOD_D1,i),D1_H,iTime(NULL,PERIOD_D1,i)+82800,D1_L);
ObjectSet("Expected Day Range"+ DoubleToStr(Time[i],0),OBJPROP_BACK,false);
ObjectSet("Expected Day Range"+ DoubleToStr(Time[i],0),OBJPROP_STYLE,0);
ObjectSet("Expected Day Range"+ DoubleToStr(Time[i],0),OBJPROP_COLOR,DarkGray);
// ???????????????????????????????????????????????????????????????????????????????????????
}
return(0);
}
//+------------------------------------------------------------------+
double GetPoint(string vSymbol)
{
int vres = StringFind(vSymbol,"JPY");
if (vres == -1) return(0.0001);
return(0.01);
}
//+-----------------------------------------------+
//+------------------------------------------------------------------+
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
---