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.

Ranger

Profitable Neural Network Strategy

Recommended Posts

The purpose of this posting is as follows:

 

a) demonstrate our use of Chaos Hunter as we apply it to an intra-day scalping strategy for the ES;

 

b) generate interest and possibly gain support from other forum members;

 

c) collaboration with the objective of designing a better predictive algorithms; better money management & risk rules.

 

 

Notes:

 

d) BEFORE YOU LOAD THE ELD files, please view the screen shots for the ELD Files. If you have Functions with the same names, importing the file may lead to over-writing.

 

e) Before you try to demo the strategy, please open the Strategy txt file and read our notes.

 

f) We encourage forum members to trade this strategy only in simulation mode.

 

 

Loading instructions:

 

g) Import functions. The Locked function is the Haar Wavelet and it will expire on 12/25/10 rendering itself and the strategy unusable. {If we collaborate, we're happy to extend this time frame or we may elect to give you the indicator.}

 

h) Cut and Paste the strategy into a new strategy. Please use NWA_ES_R3.(Thanks)

 

i) From the screen shots, please follow the setup with particular attention to the DATE RANGE for the data set. The date range is important because variables are initialized in the strategy by a start bar. First bar = 09/26/2010 18:05 EST.

 

We hope you enjoy the strategy; we'll endeavor to post more in the future.

 

We would appreciate your comments and questions.

 

RANGER & ZACHARYDW00

NWA_ES_R3.zip

5aa71038177a2_5_yrEquityCurve.thumb.jpg.04aa563e624a52893063a497cd4fd1ef.jpg

5aa710381de0f_ShortTermEquityCurve.thumb.jpg.601d50d03a3448434daf0dc890ea662a.jpg

Chart1.thumb.jpg.13f2cb32b77bd5187370a57422e8cd9e.jpg

Share this post


Link to post
Share on other sites

We neglected to put full credits in our code for the contributions of unknown authors for their code snippets; indicators and functions. The new revision attached here contains those credits.

 

We also removed the daily/profit and loss because it's unnecessary for testing purposes. We will add that functionality after the risk management question is better addressed.

 

Fairly good past 2 weeks sim trading 1 x ES; today was an impossible day or so it seemed but we still finished up.

 

Any questions or comments are appreciated.

 

RANGER

NWA_ES_R3a.zip

PR_1001.thumb.jpg.e5bbac5773805c6c71e8a19bd0f7bf60.jpg

Share this post


Link to post
Share on other sites

Hi

I followed your instructions and wanted to try out your system

 

When I compile your strategy i get an error when I get to this place in the strategy

//////START CALCULATION FOR SCALED HAAR

_HWT = (HaarWT(jtHMA(Close,3),4,2,FALSE)/10);

_HWT3 = (HaarWT(jtHMA(Close,3),4,3,FALSE)/10);

 

I get this error:

------ Compiled with error(s): ------

Invalid number of parameters. 0 parameter(s) expected

errLine 136, errColumn 10, errLineEnd 136, errColumnEnd 10

causal study: (Function)

 

All the functions is imported and compiled without any errors

 

pls advice

 

rgds

mengelbrecht

Share this post


Link to post
Share on other sites

Can you tell me which Platform you're using.

 

The strategy runs fine in TS, but while attempting to load the strategy in MC we got a "sqrt" function error. We checked the related functions and they appear correct. We need to sort this issue with MC tomorrow.

 

Pertaining to your error it's likely related to the JtHMA. Can you kindly check to see if you have this function and advise. For whatever reason, it did not export from TS, and TS doesn't permit users to see exported functions like MC. Ooops.

 

Anyway, we'll sort both of these issues shortly and repost.

 

Thanks for your posting!!!!!

 

RANGER

 

 

 

Hi

I followed your instructions and wanted to try out your system

 

When I compile your strategy i get an error when I get to this place in the strategy

//////START CALCULATION FOR SCALED HAAR

_HWT = (HaarWT(jtHMA(Close,3),4,2,FALSE)/10);

_HWT3 = (HaarWT(jtHMA(Close,3),4,3,FALSE)/10);

 

I get this error:

------ Compiled with error(s): ------

Invalid number of parameters. 0 parameter(s) expected

errLine 136, errColumn 10, errLineEnd 136, errColumnEnd 10

causal study: (Function)

 

All the functions is imported and compiled without any errors

 

pls advice

 

rgds

mengelbrecht

Share this post


Link to post
Share on other sites

Hi ranger

I am using MC 6.1

 

As for jtHMA i have it both as a function and an indicator. Below is code for the jtHMA function. I assume it is the same in TS.

 

 

{jtHMA - Hull Moving Average Function}

 

Inputs: price(NumericSeries), length(NumericSimple);

Vars: halvedLength(0), sqrRootLength(0);

 

if ((ceiling(length / 2) - (length / 2)) <= 0.5) then

halvedLength = ceiling(length / 2)

else

halvedLength = floor(length / 2);

 

if ((ceiling(SquareRoot(length)) - SquareRoot(length)) <= 0.5) then

sqrRootLength = ceiling(SquareRoot(length))

else

sqrRootLength = floor(SquareRoot(length));

 

Value1 = 2 * WAverage(price, halvedLength);

Value2 = WAverage(price, length);

Value3 = WAverage((Value1 - Value2), sqrRootLength);

 

jtHMA = Value3;

 

I hope this helps

 

rgds

mengelbrecht

Share this post


Link to post
Share on other sites

Hi Ranger

I actually posted my reply earlier. I don't know why it didn't show up ??

 

I am Using MC 6.1. I have jtHMA both as a function and an indicator. Below is the code for the jtHMA.function. I assume it is the same function that is used in TS

 

rgds

mengelbrecht

 

{jtHMA - Hull Moving Average Function}

{Author: Atavachron}

{May 2005}

 

Inputs: price(NumericSeries), length(NumericSimple);

Vars: halvedLength(0), sqrRootLength(0);

 

 

if ((ceiling(length / 2) - (length / 2)) <= 0.5) then

halvedLength = ceiling(length / 2)

else

halvedLength = floor(length / 2);

 

if ((ceiling(SquareRoot(length)) - SquareRoot(length)) <= 0.5) then

sqrRootLength = ceiling(SquareRoot(length))

else

sqrRootLength = floor(SquareRoot(length));

 

Value1 = 2 * WAverage(price, halvedLength);

Value2 = WAverage(price, length);

Value3 = WAverage((Value1 - Value2), sqrRootLength);

 

jtHMA = Value3;

Share this post


Link to post
Share on other sites

Hi Ranger

 

I downloaded your file and tried to import in MC but doesn't work , Power Language Editor shows anything when I try to import both protected that unprotected .ELD .files

Share this post


Link to post
Share on other sites

Hi Shrike

 

Sorry!!!

 

The strategy was built in TS. When we put it into MC and compiled the strategy, it checked.

 

We just learned yesterday that it was erroring on a function "sqrt". We need to sort this with MC on Monday. Also, mengelbrecht mentioned a failure on a function likely related to JtHMA that TS didn't include in the export ELD and we failed to verify.

 

Anyway, sorry for the problems. We'll sort the issue with MC; recompile the entire package and repost.

 

Happy to see your interest.

 

RANGER

Share this post


Link to post
Share on other sites

We never made a live system trade using our own money but today, we elected to go live with an Entry.

 

Within seconds the strategy jumped short at 1158.25. Having never used strategy generated orders, I wanted to understand the functionality. So, I disabled the strategy after it entered and verified that TS accepted our working stop. After confirmation, I cancelled the stop and placed a bracket order so I could watch the strategy.

 

I bailed at 1155/3.25 and the strategy bailed at 1153/5.25pts.

 

Some limited testing but it was fun to watch a computer make a trade.

 

RANGER

LiveSystemTrade.jpg.f66cd22a84ad1eb98d8a899b99b3224a.jpg

StrategyPerformanceReport_1.thumb.jpg.b8490409883c5c2c462123b93c8e7c4c.jpg

StrategyPerformanceReport_2.thumb.jpg.70bca3ff7962a7274783ecbb452addca.jpg

Share this post


Link to post
Share on other sites

We pulled together this simple multi-model neural strategy so we could further demonstrate our work. Unlike our previous posting, it's all open source and we verified functionality in MC and TS; there are two separate files.

 

Please note the initialization instructions in the notes section of the strategy. The ChaosVars on 9/26/10 @ 1805. From within MC you can set the start date 9/26/10 and from within TS 9/27/10.

 

Over the long haul this strategy looks ugly but you'll notice that it also has good periods. So, how can we turn an ugly strategy into a working strategy? Here's a few ideas if anyone is interested:

 

a) Because the strategy consists of 2 models, it has 4 x 2 threshold conditions. We could optimize for the best entry/exit combination by toggling the inputs between 0 and 1. For example, model 1 may give the best LE whereas model 2 may only harm the strategy - you get the idea. If you find a good combination, make sure you edit the Entry/Exit flag conditions. You can probably just set them to <=1 before you start; remember there are (4) and after optimization if you find two model conditions work best, you change Entry or Exit flag to take that into account = 2.

 

b) We could optimize for a stop/profit target in connection with (a) or after we identify the Entry/Exit combinations. Maybe the model will eliminate this requirement.

 

So, if you have a spare I7 sitting around and some free time, perhaps you can give it a try.

 

If we botched anything let us know and we'll do our best to correct it.

 

RANGER

08OCT10_RUN4_5.ELD

08Oct10_Run4_5.pla

1Yr_Equity_Curve.thumb.jpg.91d2255fa781aca0f70a5fdf31cc3ac8.jpg

Equity_Curve_From_Initialization.thumb.jpg.52ff3276f16b3bd536a53101d5c78100.jpg

Strategy_Performance_Report.thumb.jpg.108b92aca9aa56390367ba38269084cd.jpg

Strategy_Performance_Report_Using_Intialization.thumb.jpg.e1705c88fc65f8b6ac4f449880726cb9.jpg

Share this post


Link to post
Share on other sites

Hi Ranger,

 

Thanks for your contributions to the community! I was actually starting work on a scalping strategy when I came across your post.

 

Would you be interested in a port to NinjaTrader? Let me know if so, I'd certainly be interested in taking that on.

 

Jeremy

Share this post


Link to post
Share on other sites

Hi Forum Members

 

MC has been unable to resolve the issue with our last strategy. They worked on my computer for a couple of hours ... reported that they understood the issue but as of yesterday, they said they had nothing new to report. All posted strategies work in TS 8.

 

We pulled together this simple strategy for use in TS and MC. We also included txt files with code for functions etc, so those of you that may want to recode the strategy in another platform can do it.

 

We give credit to those who provided functions; indicators and other code fragments which helped us complete this strategy.

 

Note:

 

a) Employ on 5Min ES Chart.

 

b) 5 yr back testing doesn't look particularly hot but short term duration optimization makes this little strategy hot.

 

Give it shot, don't be afraid to backtest and optimize and improve. The TRIX values have been optimize these past two weeks on Fast13/Slow21 and you can see the performance. It's hit rate is awesome and it makes money and allot of trades. Exciting to watch.

 

This strategy is free to forum members; we are not advertising or marketing or selling anything. Use at your own discretion.

 

RANGER

NN_TRIX.zip

NN_TRIX(CheckThis).thumb.jpg.914f9eb6d7b587606fa6d21c9620326c.jpg

NN_TRIX011.thumb.jpg.eec9fe93098031a23850058e46e826ec.jpg

NN_TRIX010.thumb.jpg.fda4125fcd3bc3dfa36405937a5515df.jpg

NN_TRIX009.thumb.jpg.ea52aebb20b13af1ce8873bf4196ccaa.jpg

NN_TRIX008.thumb.jpg.3ba24383987da83d7135c56eeef137df.jpg

NN_TRIX007.thumb.jpg.9a986d76c319d511bf19934c886675a8.jpg

NN_TRIX006.thumb.jpg.c92e86d51dc281a2f0da6a001f5745e2.jpg

NN_TRIX005.thumb.jpg.4cf7ea35378788eaa717c1c214b0e43e.jpg

Share this post


Link to post
Share on other sites

In this thread we mentioned the importance of inputs to the quality of the output of neural networks and other intelligent agents.

 

Our experience is that inputs based on Haar, Fourier or other wave/cycle transforms are less than optimal as such inputs are at their worst when the trend is the strongest.

 

For those that would like an unlocked Haar eld, it is attached.

 

 

cheers

 

UB

20037465928_GHW.ELD

Share this post


Link to post
Share on other sites

Hi UB

 

Thanks for sharing the Haar ELD, that was nice of you and thanks for your valuable insight.

We locked our Haar file to constrain our strategy. In our posting, it's clear that we want other contibutors to join our team with the objective of producing good trading strategies because without a good trading strategy, traders are doomed to failure.

 

We have shared a couple strategies that can be easily modified; optimized and further used in conjunction with the trader's other methods or for educational purposes. The code is open source and simple. That's our contribution - strategies.

 

Can you help the forum by sharing a strategy that you developed?

 

Regards,

 

RANGER

Share this post


Link to post
Share on other sites
Hi UB Thanks for sharing the Haar ELD, that was nice of you and thanks for your valuable insight. We locked our Haar file to constrain our strategy. In our posting, it's clear that we want other contibutors to join our team with the objective of producing good trading strategies because without a good trading strategy, traders are doomed to failure.We have shared a couple strategies that can be easily modified; optimized and further used in conjunction with the trader's other methods or for educational purposes. The code is open source and simple. That's our contribution - strategies. Can you help the forum by sharing a strategy that you developed?Regards, RANGER

 

Ranger,

 

Thank you for the kind words.

 

While we do indeed do a lot of work with strategies, automated systems and intelligent agents and I am happy to help with some of the basics of these protocols and technologies - certain commitments keep me from posting code.

 

From what I can read here I would suggest that much more attention be paid to input selection and input preprocessing.

 

Also neural networks by themselves, for us, don't make a complete strategy - you need to test NN output against regression splines such as MARS and then when you have evaluated which is best the outputs need to be optimized via genetic survival of the fittest routines and then actual buy/sell signals developed using decision trees, bayesian networks and or rules generators.

 

The tease of NN's is that all you have to do is throw some data at them and they will learn enough to provide answers - far from true and the training and operation of a NN is, in our experience, less than 5% of what it takes to build a functioning, profitable, automated, intelligent trading strategy.

 

cheers

 

UB

Edited by UrmaBlume

Share this post


Link to post
Share on other sites

Hi UB

 

It’s always an honor to have you comment on my post.

 

After reading your posts, it’s clear that our modeling techniques are different than yours, respectfully note:

 

We do pay particular attention to our input selection; perhaps different from your technique, our preprocessing consists of selecting representative data for our model(s). We do filter data, hence our use of the Haar Wavelet but we consistently strive for selecting a balanced diet for our children.

 

We think it’s unnecessary to compare the model outputs to any form of linear regression using our modeling techniques. We understand your technical basis but because our strategy formation and are optimization techniques are different, we see this as unnecessary.

 

In connection with optimization and strategy development, note:

 

Sometimes, we build a model using several or many inputs. We then re-run this model with varying initialization values because we want to generalize it, then we:

 

 

a) form a model committee; each committee member has the right to vote on Entry/Exit - Consensus polling or;

 

b) we average the optimized output values and then optimize for Entry/Exit and;

 

c) Sometimes, we make model contests – i.e. if longs are even with shorts we remain flat, go consensus voting;

 

d) We also create ideal input groups based on factors consistent with their strengths, then form model committees; contests.

 

We agree that the task of modeling can be complex but the task of understand strength and weakness is equally challenging and it’s well within the technical grasps of our forum members.

 

Thank for contributing to this posting UB.

 

RANGER

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.