Jump to content

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.

pitrader

Paint Bar

Recommended Posts

I was hoping that somebody could help me with some coding. I want to create a paint bar study that utilizes 3 MA,s ( 2 simple, and 1 hull avg. ) The Hull avg will be displaced forward 1 place and the 2 simple MA,s will be realtime. I would like the bars to turn blue when at least 2 of the 3 MA,s are > [1] and turn red when at least 2 of the 3 MA,s are < [1]. This would be in TS code. Any help would be appreciated. The code for the hull ave is below.

 

 

variables:

avg1( 0 ) ;

 

Variables:

Length(13),

DisplaceIntoFuture( 1) ;

// Bars to displace into the future

 

avg1 = jthma((high+low)/1, Length);

 

// Allow the plot to be displaced so many bars into the future

Plot1[-DisplaceIntoFuture](avg1, "Hull ");

Share this post


Link to post
Share on other sites
I was hoping that somebody could help me with some coding. I want to create a paint bar study that utilizes 3 MA,s ( 2 simple, and 1 hull avg. )

 

Hi PitTrader,

 

Firstly, the code you give above is not the code for the Hull Moving Average. It's just code to call that function. But that's not an issue here . . .

 

Because of the way that the HMA is calculated you might want to try using a square number (9 or 16?) for the length setting - not quite hocus pocus in so much as there is a mathematical reason for doing so, but not necessarliy bound to make any improvement to your indicator.

 

I'm confused by (high+low)/1 . . . There's no point dividing by one as this won't change the parenthisized value. If you're after the "midprice" of the bar, then you need to divide by two. In the code below, you can do this by replacing the "Close" for the Price input with (H+L)/2.

 

I'm confused by the whole displacement issue as well. For now, let's ignore this and try and get some basic code for you to play with:

 

Inputs: length(9), length2(12), length3(20), price(close);
Vars: HMA(0), avg2(0), avg3(0);

HMA=jthma(price,length);
avg2=average(price,length2);
avg3=average(price,length3);

If (HMA>HMA[1] and avg2>avg2[1]) or (HMA>HMA[1] and avg3>avg3[1]) or (avg2>avg2[1] and avg3>avg3[1]) or (HMA>HMA[1] and avg2>avg2[1] and avg3>avg3[1]) then
Plotpb(H,L,O,C,"Buy",Blue);

If (HMA<HMA[1] and avg2<avg2[1]) or (HMA<HMA[1] and avg3<avg3[1]) or (avg2<avg2[1] and avg3<avg3[1]) or (HMA<HMA[1] and avg2<avg2[1] and avg3<avg3[1]) then
Plotpb(H,L,O,C,"Sell",Red);

 

Have a look at that and compare with what you see visually with your indicators alongside. Let me know if we're in the right ballpark and then we can try and tweak the displacement thing.

 

Kind regards,

 

BlueHorseshoe

Share this post


Link to post
Share on other sites

Thanx for the code BH however the code will not verify. It keeps coming up with an error message saying ( this plot has been defined using a different name) referring to the word "SELL" .

 

Thanks Again

 

Pi

Share this post


Link to post
Share on other sites
Thanx for the code BH however the code will not verify. It keeps coming up with an error message saying ( this plot has been defined using a different name) referring to the word "SELL" .

 

Thanks Again

 

Pi

 

Hi,

 

Sorry - I'm writing this on a machine on which I don't have TS installed, so I can't check the code. Plus I haven't written a PB study in ages, so I'm doing it from memory . . .

 

Try removing everything from within the quotation marks for both buy and seel signals, so that they just look like this:

 

 Plotpb(H,L,O,C,"",Red);

 

Any good?

 

BlueHorseshoe

Share this post


Link to post
Share on other sites
Thanx for the code BH however the code will not verify. It keeps coming up with an error message saying ( this plot has been defined using a different name) referring to the word "SELL" .

 

Thanks Again

 

Pi

 

Hi,

 

I have now checked, and this verfies fine with the amendment I suggested above.

 

At a glance, it certainly looks like it could form the basis of an interesting strategy . . .

 

Kind regards,

 

BlueHorseshoe

Share this post


Link to post
Share on other sites

Thank you BH that solves the verifying problem. However I will still need to have the Hull avg displaced. Does this throw a monkey wrench into the works?

 

Thankx

 

Pi

Share this post


Link to post
Share on other sites
Thank you BH that solves the verifying problem. However I will still need to have the Hull avg displaced. Does this throw a monkey wrench into the works?

 

Thankx

 

Pi

 

Hi,

 

Apologies for the delayed response.

 

Based on my understanding of displacement from your description above, I think that the following code should do what you want. Please take a look at it alongside the indicators on the chart, and see if the signals match with what you expect.

 

Inputs: length(9), length2(12), length3(20), price(close);
Vars: HMA(0), avg2(0), avg3(0);

HMA=jthma(price,length);
avg2=average(price,length2);
avg3=average(price,length3);

If (HMA[1]>HMA[2] and avg2>avg2[1]) or (HMA[1]>HMA[2] and avg3>avg3[1]) or (avg2>avg2[1] and avg3>avg3[1]) or (HMA[1]>HMA[2] and avg2>avg2[1] and avg3>avg3[1]) then
Plotpb(H,L,O,C,"Buy",Blue);

If (HMA[1]<HMA[2] and avg2<avg2[1]) or (HMA[1]<HMA[2] and avg3<avg3[1]) or (avg2<avg2[1] and avg3<avg3[1]) or (HMA[1]<HMA[2] and avg2<avg2[1] and avg3<avg3[1]) then
Plotpb(H,L,O,C,"Sell",Red);

 

Kind regards,

 

BlueHorseshoe

Share this post


Link to post
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

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


×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.