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.


  • Topics

  • Posts

    • CENX Century Aluminum stock top of range breakout watch above 18.31, https://stockconsultant.com/?CENX
    • QBTS D-Wave Quantum stock reversal attempt at the 1.4 support area, https://stockconsultant.com/?QBTS
    • PLTR Palantir Technologies stock bullish stats, https://stockconsultant.com/?PLTR
    • GTLB Gitlab stock back to 53.04 support area, https://stockconsultant.com/?GTLB
    • Date: 14th May 2024. Market News – May 14. Economic Indicators & Central Banks:   Asian stocks and European futures kept to small ranges as focus turned to upcoming US inflation reports. JGB yields surged to their highest levels in over a decade amid growing speculation that the BOJ might raise interest rates soon. Former central bank executive Momma stated that the BOJ might opt to deduct its planned bond purchases next month in an effort to revive a bond market that has been largely impaired by its ongoing substantial purchases. BOJ Governor Kazuo Ueda emphasized the importance of the market determining long-term yields independently rather than relying solely on the central bank’s actions. UK wage growth remained solid amid a slowdown in the job market, providing further arguments for the BOE’s monetary policy hawks to await more concrete signs of easing inflationary pressures before considering interest rate cuts. Eyes today are on producer price data in the US, followed by consumer price data the next day, which will provide insights into whether the Fed will consider interest rate cuts later in the year or postpone them until 2025. Financial Markets Performance:   The USDIndex is steady at 105 lows. The Yen extended losses for an 8th day against the Greenback to a 2-week low. Currently USDJPY is at 156.45. EURUSD rebounded slightly to 1.0785, however overall holds within a downwards channel with key resistance at 1.0850. USOIL held steady ahead of the release of an OPEC market outlook, with traders eagerly awaiting signals regarding the extension of supply curbs. Despite a decline since April, oil prices have remained relatively high this year due to ongoing supply restrictions by OPEC and its allies, with expectations that these curbs will be prolonged into the second half of the year. Currently USOIL is at $77.78. Gold (-0.93%) declined further to $2338 per ounce. Copper rose at +2.46% and Platinum +0.54%. Market Trends:   The 10-year JGB yield to a 6-month high of 0.965%. The 2-year JGB yield, which closely reflects policy expectations, rose to 0.340%, its highest since June 2009. The 20-year and 30-year JGB yields also surged to their highest levels in 11 years and since July 2011, respectively. FTSE100 stands by record highs, the S&P500 is close to topping March’s record high. The Nasdaq rose by 0.3%, with four of the Magnificent Seven stocks rising. The Hang Seng has added 20% in a rally that is entering a fourth week. Alibaba and Tencent report earnings later today. Always trade with strict risk management. Your capital is the single most important aspect of your trading business. Please note that times displayed based on local time zone and are from time of writing this report. Click HERE to access the full HFM Economic calendar. Want to learn to trade and analyse the markets? Join our webinars and get analysis and trading ideas combined with better understanding on how markets work. Click HERE to register for FREE! Click HERE to READ more Market news. Andria Pichidi Market Analyst HFMarkets Disclaimer: This material is provided as a general marketing communication for information purposes only and does not constitute an independent investment research. Nothing in this communication contains, or should be considered as containing, an investment advice or an investment recommendation or a solicitation for the purpose of buying or selling of any financial instrument. All information provided is gathered from reputable sources and any information containing an indication of past performance is not a guarantee or reliable indicator of future performance. Users acknowledge that any investment in FX and CFDs products is characterized by a certain degree of uncertainty and that any investment of this nature involves a high level of risk for which the users are solely responsible and liable. We assume no liability for any loss arising from any investment made based on the information provided in this communication. This communication must not be reproduced or further distributed without our prior written permission.
×
×
  • Create New...

Important Information

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