Login Page - Create Account

Support Board


Date/Time: Wed, 27 Nov 2024 02:44:53 +0000



Post From: Is there a study that represents the Toby Crabel Breakout Channel

[2016-11-04 04:29:09]
The Pipe - Posts: 16
I have the code for the mt4 version of the indicator and I have a spreadsheet that you can manually enter the OHLC details and manually plot the levels.

Here is the code for the mt4 version but it does not plot the targets like from the spreadsheet. It actually just plots the channel with two lines.

#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Green
#property indicator_color2 Red
#property indicator_width1 2
#property indicator_width2 2
#property indicator_style1 STYLE_SOLID
#property indicator_style2 STYLE_SOLID

//-- External variables
extern int StPeriod = 10;

//-- Buffers
double FextMapBuffer1[];
double FextMapBuffer2[];

//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//|------------------------------------------------------------------|
int init()
{
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0, FextMapBuffer1);
SetIndexStyle(1,DRAW_LINE);
SetIndexBuffer(1,FextMapBuffer2);
IndicatorShortName("Stretch Breakout Channel ("+ StPeriod +")");
return(0);
}

//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
return(0);
}

//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
// Start, limit, etc..
int start = 0;
int limit;
int counted_bars = IndicatorCounted();

// nothing else to do?
if(counted_bars < 0)
return(-1);

// do not check repeated bars
limit = Bars - 1 - counted_bars;

// Iteration
for(int pos = limit; pos >= start; pos--)
{
int dshift = iBarShift(Symbol(), PERIOD_D1, Time[pos], false);
double stretch = iCustom(Symbol(), PERIOD_D1, "Stretch", StPeriod, 0, dshift+1);
double OPEN = iOpen(Symbol(), PERIOD_D1, dshift);
FextMapBuffer1[pos] = OPEN + stretch;
FextMapBuffer2[pos] = OPEN - stretch;
}
return(0);
Private File
Attachment Deleted.