As far as I know, the PET-D indicator is not very well known publically. After all, ‘someone’ (the creator) is hyping it to shreads and selling it for few hundred dollars. EDIT: Apparently $2,995.
I looked it up a few months ago, and someone said that the PET-D behaves very similar to a comparing price to a simple exponential average of 15 periods (http://www.protraderstrategies.com/steven-primo-dyamic-duo/). Not exactly of course, but close enough. If you combine that with whether the bar is red/green and it’s body/range ratio, then maybe you can create something similar.
I googled it and it seems like the MT4 code for PET-D could be found in the file for this strategy. It would need to be converted for PRT: https://www.forexstrategiesresources.com/scalping-system-iv/452-pet-d-scalping-system/
EDIT: Took a look at the code. Apparently this is what you get for that price:
//------------------------------------------------------------------
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Lime
#property indicator_color2 Red
//
//
//
//
//
//extern int Length = 8;
//extern int Price = PRICE_CLOSE;
//
//
//
//
//
double bartu[];
double bartd[];
double trend[];
double vel[];
//-------------------------------------------------------------------
//
//-------------------------------------------------------------------
//
//
//
//
//
int init()
{
IndicatorBuffers(4);
SetIndexBuffer(0,bartu); SetIndexStyle(0,DRAW_HISTOGRAM);
SetIndexBuffer(1,bartd); SetIndexStyle(1,DRAW_HISTOGRAM);
SetIndexBuffer(2,vel);
SetIndexBuffer(3,trend);
return(0);
}
int deinit() { return(0); }
//-------------------------------------------------------------------
//
//-------------------------------------------------------------------
//
//
//
//
//
int start()
{
int counted_bars=IndicatorCounted();
if(counted_bars<0) return(-1);
if(counted_bars>0) counted_bars--;
int limit = MathMin(Bars-counted_bars,Bars-1);
//
//
//
//
//
for(int i=limit; i>=0; i--)
{
//vel[i] = iVelocity(iMA(NULL,0,1,0,MODE_SMA,Price,i),Length,i);
vel[i] = iMA(NULL,0,8,0,MODE_EMA,0,i);
bartu[i] = EMPTY_VALUE;
bartd[i] = EMPTY_VALUE;
if (iClose(NULL,0,i )> vel[i]) trend[i] = 1;
if (iClose(NULL,0,i) < vel[i]) trend[i] = -1;
if (trend[i]== 1) { bartu[i] = High[i]; bartd[i] = Low[i]; }
if (trend[i]==-1) { bartd[i] = High[i]; bartu[i] = Low[i]; }
}
return(0);
}
//-------------------------------------------------------------------
//
//-------------------------------------------------------------------
//
//
//
//
//
//------------------------------------------------------------------
//
//------------------------------------------------------------------
//
//
//
//
//