Welcome to the new Traders Laboratory! Please bear with us as we finish the migration over the next few days. If you find any issues, want to leave feedback, get in touch with us, or offer suggestions please post to the Support forum here.

• ## Welcome Guests

Welcome. You are currently viewing the forum as a guest which does not give you access to all the great features at Traders Laboratory such as interacting with members, access to all forums, downloading attachments, and eligibility to win free giveaways. Registration is fast, simple and absolutely free. Create a FREE Traders Laboratory account here.

# Random Walk Index by E. Michael Poulos

## Recommended Posts

Greetings All,

This is my first post here. And would like to gain some knowledge on a classic which was developed by E. Michael Poulos about 30 years back that were published in these TASC articles.

I use Amibroker as my Charting and TA tool. Like most of the other charting applications it too provides ready-made functions for the same:
1. RWIHi
2. RWILo
3. RWI

Adding the functions onto one section:

```_SECTION_BEGIN( "Random Walk Index" );
minperiods = Param( "Min Periods", 9, 1, 200, 1 );
maxperiods = Param( "Max Periods", 40, 1, 200, 1 );
Plot( RwIHi( minperiods, maxperiods), "RwIHi", colorGreen, ParamStyle("Style") );
Plot( RwILO( minperiods, maxperiods), "RwILO", colorRed, ParamStyle("Style") );
Plot( RwI( minperiods, maxperiods), "RwI", colorWhite, ParamStyle("Style") );
_SECTION_END();```

Objective is to replicate the inbuilt functions, by coding them raw from scratch for better understanding of the concept proposed by Poulos as Random Walk Index. I am unable to discern the use of two periods - minperiods, maxperiods - here. Well below is what I have so far managed to code "Random Walk Index of Highs" in Amibroker but the results do not match with the inbuilt ones. And need your kind help in this regard!

```_SECTION_BEGIN( "Unveil RwIHi" );
mthd = ParamList( "Select Method", "Method 1|Method 2|Method 3", 1 );
pMin = Param( "Min Periods", 9, 1, 200, 1 );
pMax = Param( "Max Periods", 40, 1, 200, 1 );

switch( mthd )
{
case "Method 1":
RWH = 0;
for( i = pMin; i <= pMax; i++ )
{
RWH = IIf( i == pMin, ( H - L[ i ] ) / ( ATR( i ) * sqrt( i ) ), Max( ( H - L[ i ] ) / ( ATR( i ) * sqrt( i ) ), RWH ) );
}
break;
case "Method 2":
// https://www.mail-archive.com/amibroker@yahoogroups.com/msg30080.html
RWHmin = ( H - Ref( L, -pMin ) ) / ( Max( ATR( 1 ), ATR( pMin ) ) * sqrt( pMin ) );
RWHmax = ( H - Ref( L, -pMax ) ) / ( Max( ATR( 1 ), ATR( pMax ) ) * sqrt( pMax ) );
RWH = Max( RWHmin, RWHmax );
break;
case "Method 3":
// http://www.amibroker.com/members/library/detail.php?id=924&hilite=RWIHi
VarMaxHi = 0;
for( i = 5; i <= BarCount - 1; i++ )
{
VarMaxHi[ i ] = Max( ( H[ i ] - L[ i - 1 ] ) / ( ( H[ i ] - L[ i ] ) * sqrt( i - 4 ) ), ( H[ i ] - L[ i - 2 ] ) / ( ( H[ i ] - L[ i ] ) * sqrt( i - 3 ) ) );
RWH[ i ] = Max( VarMaxHi[ i ], VarMaxHi[ i - 1 ] );
}
break;
}

Title = "RWH: " + RWH;
Plot( RWH, "RWH", ParamColor( "Color", colorCycle ), ParamStyle("Style") );
_SECTION_END();```

Any suggestions?

## Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

×   Pasted as rich text.   Paste as plain text instead

Only 75 emoji are allowed.

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×

• 85
• 0
• 0
• 1
• 2