Miscellaneous
0
Views
0
Downloads
0
Favorites
HedgeTest_v1
/*-----------------------------+
| |
| Shared by www.Aptrafx.com |
| |
+------------------------------*/
//+------------------------------------------------------------------+
//| TimeZone Pivots.mq4 |
//| Copyright © 2005,|
//+------------------------------------------------------------------+
#property copyright "Copyright © 2005"
#property link ""
#property indicator_chart_window
#property indicator_buffers 8
#property indicator_color1 DarkOrange
#property indicator_color2 Khaki
#property indicator_color3 Khaki
#property indicator_color4 Khaki
#property indicator_color5 Khaki
#property indicator_color6 DarkViolet
#property indicator_color7 Blue
#property indicator_color8 Red
//#property indicator_color4 Gray
//---- input parameters
extern int Offset=14; // Number of pips above/below days open price
extern int TimeZoneOfData=0; // by default if time zone of data is at GMT 0
//---- buffers
double PivotArray[];
double R1Array[];
double S1Array[];
double R2Array[];
double S2Array[];
double R3Array[];
double S3Array[];
double TodayOpenBuffer[];
double YesterdayCloseBuffer[];
double YesterdayHighBuffer[];
double YesterdayLowBuffer[];
//---- variables
int indexbegin = 0;
double todayopen = 0;
double yesterdayclose = 0;
double barhigh = 0;
double dayhigh = 0;
double yesterdayhigh = 0;
double barlow = 0;
double daylow = 0;
double yesterdaylow = 0;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
// Pivot
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,PivotArray);
IndicatorShortName("TDPivot");
SetIndexLabel(0,"Pivot");
SetIndexEmptyValue(0, 0.0);
// Resistance 1
SetIndexStyle(1,DRAW_LINE);
SetIndexBuffer(1,R1Array);
SetIndexLabel(1,"R1");
SetIndexEmptyValue(1, 0.0);
// Support 1
SetIndexStyle(2,DRAW_LINE);
SetIndexBuffer(2,S1Array);
SetIndexLabel(2,"R1");
SetIndexEmptyValue(2, 0.0);
// Resistance 2
SetIndexStyle(3,DRAW_LINE);
SetIndexBuffer(3,R2Array);
SetIndexLabel(3,"R2");
SetIndexEmptyValue(3, 0.0);
// Support 2
SetIndexStyle(4,DRAW_LINE);
SetIndexBuffer(4,S2Array);
SetIndexLabel(4,"S2");
SetIndexEmptyValue(4, 0.0);
// You may also display the previous day close - high - low
//Daily Close
SetIndexStyle(5, DRAW_LINE);
SetIndexBuffer(5, YesterdayCloseBuffer);
SetIndexLabel(5, "Yesterday Close");
SetIndexEmptyValue(5, 0.0);
// Daily High
SetIndexStyle(6, DRAW_LINE);
SetIndexBuffer(6, YesterdayHighBuffer);
SetIndexLabel(6, "Low Target");
SetIndexEmptyValue(6, 0.0);
// Daily Low
SetIndexStyle(7, DRAW_LINE);
SetIndexBuffer(7, YesterdayLowBuffer);
SetIndexLabel(7, "High Target");
SetIndexEmptyValue(7, 0.0);
//----
indexbegin = Bars - 20;
if (indexbegin < 0)
indexbegin = 0;
return(0);
}
//+------------------------------------------------------------------+
//| Custor indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int i;
int counted_bars = IndicatorCounted();
double Pivot;
double R1;
double S1;
double R2;
double S2;
//---- check for possible errors
if (counted_bars < 0) counted_bars = 0;
//---- last counted bar will be recounted
if (counted_bars > 0) counted_bars--;
if (counted_bars > indexbegin) counted_bars = indexbegin;
for (i = indexbegin-counted_bars; i >= 0; i--)
{
if ( i == indexbegin-counted_bars)
{
dayhigh = High[i];
daylow = Low[i];
}
barlow = Low[i];
barhigh = High[i];
if ( barhigh >= dayhigh)
dayhigh = barhigh;
if ( barlow <= daylow)
daylow = barlow;
//Cycle through all the bars and fill the indicator bars with the Pivot point values
if ((TimeMinute(Time[i]) == 00) && (TimeHour(Time[i]) - TimeZoneOfData == 00))
{todayopen = Open[i];
yesterdayclose = Close[i+1];
yesterdaylow = daylow;
daylow = Low [i]; // input new day value
yesterdayhigh = dayhigh;
dayhigh = High [i]; // input new day value
Pivot = (yesterdayhigh + yesterdaylow + yesterdayclose)/3;
R1 = (2*Pivot)-yesterdaylow;
S1 = (2*Pivot)-yesterdayhigh;
}
//These can be used for any calculations
TodayOpenBuffer[i] = todayopen;
YesterdayHighBuffer[i] = yesterdayclose-(Offset*Point);
YesterdayLowBuffer[i] = yesterdayclose+(Offset*Point);
}
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
---