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.

clbradley

Need Help with Hull MA Crossover Strategy

Recommended Posts

If I wanted to use the Hull Moving Average (jtHMA) for a crossover strategy instead of a simple or exponential moving average crossover strategy, how would it be coded in Easy Langurage for a fast length jtHMA(10) and a slow length jtHMA (20) with parameters that if fast avg jtHMA crosses above slow avg jtHMA then BuyLong 100 shares next bar at market, and SellShort if reverse, and would like to be able to displace the jtHMAs + or -1, 2, or 3, and will be using this on a 30 or 60 min. timeframe?

 

Also, is it possible, or even necessary, to put within the strategy a buy/sellshort order with a pre-set stoploss? Possibly something like:

 

If conditions are met for fast jtHMAavg crosses slow jtHMAavg, then begin;

buy/sellshort 100 shares next bar at market;

SetProfitTarget(1000);

SetStopLoss( 100);

end;

 

This is going to be my first time using a strategy, and want to backtest it, haven't tried that and not sure how to figure it in for possible flaws and slippage for backtesting in Tradestation. I'm going to use it on a 2x or 3x Proshares or Direxion index fund, and the position will reverse immediately when the jtHMAs cross on the next bar after the cross, from long to sellshort, or vice-versa. Not sure if that brings more problems, the instant reversal.

 

 

Thanks for any help.

 

Curtis

Share this post


Link to post
Share on other sites
If I wanted to use the Hull Moving Average (jtHMA) for a crossover strategy instead of a simple or exponential moving average crossover strategy, how would it be coded in Easy Langurage for a fast length jtHMA(10) and a slow length jtHMA (20) with parameters that if fast avg jtHMA crosses above slow avg jtHMA then BuyLong 100 shares next bar at market, and SellShort if reverse, and would like to be able to displace the jtHMAs + or -1, 2, or 3, and will be using this on a 30 or 60 min. timeframe?

 

Also, is it possible, or even necessary, to put within the strategy a buy/sellshort order with a pre-set stoploss? Possibly something like:

 

If conditions are met for fast jtHMAavg crosses slow jtHMAavg, then begin;

buy/sellshort 100 shares next bar at market;

SetProfitTarget(1000);

SetStopLoss( 100);

end;

 

This is going to be my first time using a strategy, and want to backtest it, haven't tried that and not sure how to figure it in for possible flaws and slippage for backtesting in Tradestation. I'm going to use it on a 2x or 3x Proshares or Direxion index fund, and the position will reverse immediately when the jtHMAs cross on the next bar after the cross, from long to sellshort, or vice-versa. Not sure if that brings more problems, the instant reversal.

 

 

Thanks for any help.

 

Curtis

 

 

Curtis

 

 

You mention you would like to displace 1,2 or 3...... the displace feature is only affected on where to plot the lines..... the actual real time values are the same, all the displace feature does is move the lines back x amount of bars.

 

With regards to your strategy, here's a code that should get you started...

 

Inputs:

FastLength(10), SlowLength(20);

 

Vars:

FastAvg(0),SlowAvg(0);

 

FastAvg = jTHMA(Close,FastLength);

SlowAvg = jTHMA(Close,SlowLength);

 

 

If FastAvg crosses above SlowAvg then

buy 100 shares next bar at market;

 

If FastAvg crosses below SlowAvg then

sellshort 100 shares next bar at market;

 

 

SetProfitTarget(1000);

SetStopLoss( 100);

 

 

Hope this helps

 

Blu-Ray

Share this post


Link to post
Share on other sites

Thanks again, Blu-Ray. Do I need to put in anything to state if I want this to repeat buy/sellshort order on a daily timeframe or 60 minute timeframe? No need to use (end;) at the end? Thanks for any more info, especially on the time issue.

 

Curtis

Share this post


Link to post
Share on other sites
Thanks again, Blu-Ray. Do I need to put in anything to state if I want this to repeat buy/sellshort order on a daily timeframe or 60 minute timeframe? No need to use (end;) at the end? Thanks for any more info, especially on the time issue.

 

Curtis

 

Hi Curtis

 

The code will work on any timeframe, just insert the strategy onto the relevant chart and it will work.

 

There's no need to use the word "end" on that code, you only use the word end if the true/ false condition is to specify more than one outcome and then you would have to use the word "begin" as well.

 

Here's an example.....

 

This is to specify only one outcome.... to plot something

 

If FastAvg crosses above SlowAvg then

Plot1(High,"Long");

_______________________________________________

 

This is to specify two outcomes... to plot & also to alert.

 

If FastAvg crosses above SlowAvg then begin

Plot1(High,"Long");

Alert("CrossOver Long");

end;

 

Hope this helps

 

Blu-Ray

Share this post


Link to post
Share on other sites

Thanks again so much Blu-Ray, they've been working me to death this week, and haven't had any time off. I don't know why I thought that you had to specify if it was on a 15, 30, 60 minute, or daily basis in the code. If I wanted to have the trade for just during the session 9:30-4 Eastern Standard Time and end at the end of day each day instead of holding overnight, what would be required? I have a couple others that look good, one with a simple moving average crossover, and the other with an exponential crossover, so should I just replace

FastAvg = jTHMA(Close,FastLength);

SlowAvg = jTHMA(Close,SlowLength);

with SMA or EMA, instead of jtHMA?

 

Thanks again for all your help.

 

Curtis

Share this post


Link to post
Share on other sites
Thanks again so much Blu-Ray, they've been working me to death this week, and haven't had any time off. I don't know why I thought that you had to specify if it was on a 15, 30, 60 minute, or daily basis in the code. If I wanted to have the trade for just during the session 9:30-4 Eastern Standard Time and end at the end of day each day instead of holding overnight, what would be required? I have a couple others that look good, one with a simple moving average crossover, and the other with an exponential crossover, so should I just replace

FastAvg = jTHMA(Close,FastLength);

SlowAvg = jTHMA(Close,SlowLength);

with SMA or EMA, instead of jtHMA?

 

Thanks again for all your help.

 

Curtis

 

Hi Curtis

 

You just need to insert a start & endtime to the code.... so it would like this....

 

Inputs:

FastLength(10), SlowLength(20), StartTime(0930),EndTime( 1600 );

 

Vars:

FastAvg(0),SlowAvg(0);

 

FastAvg = jTHMA(Close,FastLength);

SlowAvg = jTHMA(Close,SlowLength);

 

If Time > StartTime and Time < EndTime then begin

 

If FastAvg crosses above SlowAvg then

buy 100 shares next bar at market;

 

If FastAvg crosses below SlowAvg then

sellshort 100 shares next bar at market;

 

end;

 

 

SetProfitTarget(1000);

SetStopLoss( 100);

 

SetExitOnClose;

 

 

With regards to changing the type of moving average, yes just replace the jTHMA with xaverage for EMA or average for SMA.

 

Hope this helps

 

Blu-Ray

Share this post


Link to post
Share on other sites

I tried adding these 2 lines to Blu-ray's last code above:

 

If FastAvg is above SlowAvg at open then buy 100 shares next bar at market;

 

If FastAvg is below SlowAvg at open then sellshort 100 shares next bar at market;

 

and thought they would work above the crossover rules, but when I tried to verify, it said "arithmetic cannot be converted to true/false".

 

Isn't there a way to mesh these rules so that on days after the moving averages have crossed, the strategy can still get in at or near the open to obtain gains on those days when the fast MA remains above or below the slow MA all day or week, and still change upon a cross and exit end of day?

 

Thanks for any help.

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

    • Why not to simply connect you account to myfxbook which will collect all this data automatically for you? The process you described looks tedious and a bit obsolete but may work for you though.
    • The big breakthrough with AI right now is “natural language computing.”   Meaning, you can speak in natural language to a computer and it can go through huge data sets, make sense out of them, and speak back to you in natural language.   That alone is a huge breakthrough.   The next leg? AI agents. Where they don’t just speak back to you.   They take action. Here’s the definition I like best: an AI agent is an autonomous system that uses tools, memory, and context to accomplish goals that require multiple steps.   Everything from simple tasks (analyzing web traffic) to more complex goals (building executive briefings or optimizing websites).   They can:   > Reason across multiple steps.   >Use tools like a real assistant (Excel spreadsheets, budgeting apps, search engines, etc.)   > Remember things.   And AI agents are not islands. They talk to other agents.   They can collaborate. Specialized agents that excel at narrow tasks can communicate and amplify one another’s strengths—whether it’s reasoning, data processing, or real-time monitoring.   What it Looks Like You wake up one morning, drink your coffee, and tell your AI agent, “I need to save $500 a month.”   It gets to work.   First, it finds all your recurring subscriptions. Turns out you’re paying $8.99 for a streaming service you forgot you had.   It cancels it. Then it calls your internet provider, negotiates a lower bill, and saves you another $40. Finally, it finds you car insurance that’s $200 cheaper per year.   What used to take you hours—digging through statements, talking to customer service reps on hold for an hour, comparing plans—is done while you’re scrolling Twitter.   Another example: one agent tracks your home maintenance needs and gets information from a local weather-monitoring agent. Result: "Rain forecast next week - should we schedule gutter cleaning now?"   Another: an AI agent will plan your vacations (“Book me a week in Italy for under $2,000”), find the cheapest flights, and sort out hotels with a view.   It’ll remind you to pay bills, schedule doctor’s appointments, and track expenses so you’re not wondering where your paycheck went every month.   The old world gave you tools—Excel spreadsheets, search engines, budgeting apps. The new world gives you agents who do the work for you.   Don’t Get Too Scared (or Excited) Yet William Gibson famously said: "The future is already here – it's just not evenly distributed."   AI agents will distribute it. For decades, the tools that billionaires and corporations used to get ahead—personal assistants, financial advisors, lawyers—were out of reach for regular people.   AI agents could change that.   BUT, remember…   We’re in inning one.   AI agents have a ways to go.   They’re imperfect. They mess up. They need more defenses to get ready for prime time.   To be sure, AI is powerful, but it’s not a miracle worker. It’s great at helping humans solve problems, but it’s not going to replace all jobs overnight.   Instead of fearing AI, think of it as a tool to A.] save you time on boring stuff and B.] amplify what you’re already good at. Right now is the BEST time to start experimenting. It’s also the best time to find investments that will “make AI work for you”. Author: Chris Campbell (AltucherConfidential)   Profits from free accurate cryptos signals: https://www.predictmag.com/     
    • What a wild year.   AI seems to be appearing everywhere you look, Paris hosted a weird Olympics, unrest continues in the Middle East, the US endured a crazy-heated election, and the largest rocket ever to fly successfully landed in a giant pair of robot arms.   Okay, but what about the $money stuff?   Well, this year we've seen a load of uncertainty - inflation is still biting and many businesses have gone down.   Property has been very fractured, with developments becoming prohibitively expensive, while other markets have boomed.   It hasn't been an easy ride, that's for sure.   However, the stock market has had some outstanding results, and for those who know how to trade, some have done VERY well for themselves.   Some have replaced their incomes. Some have set themselves up for the rest of their days on this planet.   How about you? How did you go? Author: Louise Bedford    Profits from free accurate cryptos signals: https://www.predictmag.com/  
    • U Unity Software stock watch, attempting to move higher off the 22.4 triple+ support area at https://stockconsultant.com/?U  
    • TSSI TSS stock, watch for an ascending triangle breakout above 11.49, target 15 area at https://stockconsultant.com/?TSSI
×
×
  • Create New...

Important Information

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