Forum Discussion

arupnag's avatar
arupnag
New Member
4 years ago

convert MT4 indicator to Tradingview (Pinescript). can anyone help please?

#property copyright "Copyright © 2021, Arup Nag"
#property link ""

#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 Lime
#property indicator_width1 1

extern int VIX_Period = 22;

double VixBuffer[];


int init() {
string short_name;
IndicatorBuffers(1);
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,VixBuffer);
//SetIndexBuffer(1,TempBuffer);
short_name="Ultimate Divergence ("+VIX_Period+")";
IndicatorShortName(short_name);
SetIndexLabel(0,short_name);

SetIndexDrawBegin(0,VIX_Period);

return(0);
}

int deinit()
{
return(0);
}

int start()
{
int i, counted_bars=IndicatorCounted();

if(Bars<=VIX_Period) return(0);

if(counted_bars<1) {
for(i=1;i<=VIX_Period;i++) {
VixBuffer[Bars-i]=0.0;
}
}

int limit=Bars-counted_bars;
if (counted_bars>0) limit++;
for(i=0; i<limit; i++)
VixBuffer[i]=VIX(i);

return(0);
}
//+------------------------------------------------------------------+

double VIX(int shift) {
double highClose1, vix1;
highClose1 = Close[iHighest(NULL,0,MODE_CLOSE,VIX_Period,shift)];
vix1 = (Low[shift] - highClose1) / highClose1 * 100;
double highClose2, vix2;
highClose2 = Close[iLowest(NULL,0,MODE_CLOSE,VIX_Period,shift)];
vix2 = (High[shift] - highClose2) / highClose2 * 100;
return (vix1+vix2);

1 Reply

  • Anonymous's avatar
    Anonymous
    Not applicable

    Hi arupnag 

    This forum is dedicated to discussions related to data shaping, modeling, and report building in the Power BI Desktop app.

     

    Best Regard

    Community Support Team _ Ailsa Tao