OmniTrader Professional Forum OmniTrader Professional Forum
forums calendars search
today this week
 
register logon control panel Forum Rules
You are currently browsing as a guest.
You should logon to access more features
A Self-Moderated Community - ALL MEMBERS, PLEASE READ!
Vote for Members who contribute the most to your trading, and help us moderate content within the Forums.


Only Forum Moderators, Administrators, and the owner of this message may delete it.

 
Jim Dean

Sage
2000100010010010010025
Posts: 3433

Joined: 3/13/2006
Location: L'ville, GA

User Profile
 
Subject : RE: ATM and ARM5
Posted : 2/13/2018 7:59 PM
Post #29840 - In reply to #29839

Hi Mark - as a followup to our phone conversation, here is an alternative approach that I’ve used before - it’s not as sophisticated as what I’ve done in OLang (as a part of various tools), but it is as close as I can come in a relatively simple OScript formula to implementing the same idea.

The concept is fairly simple:
If a big adverse jump occurs, then that unsettles the market. The magnitude of the jump logically would influence how long that unsettled situation exists. So, I believe it’s not only wise to exit any existing trade when the jump occurs, but also to block any new entries in the original direction for a period of time proportional to the size of the jump.

The formula below is for a long trade basis - use C-L instead of H-C for shorts. It evaluates the size of an adverse jump from the high of one bar to the close of the next bar as a multiple of the atr just prior to that jump. The ratio (in this example) is presumed to be one “blocked reentry” bar per atr-multiple … the 1,2,3… on the rhs of the clauses could be smaller for more conservative, or larger for more aggressive flavors. I arbitrarily built it to deal with jumps that occurred up to 8 bars ago … it could be cut back or extended for more aggressive or conservative flavors, but in my experience 8 is a reasonable window.

Note that it also deals with more than one successive jump, to a degree. A better form (OLang or very messy OScript) would also consider successive jumps as somewhat additive - but my testing has shown it’s not strict addition, so I suggest just living with this simplified approach.

This formulation can be used in a number of ways:
1. While true, any extant long Trade should be exited.
2. While true, any new Long trades should be blocked.
3. If used in a Scan, symbols delegated for Long trades should be blocked from the Focus List while this is true.
4. Same as #3, but used in a filter block
5. It can be used to define a color chart to ID the blocked zones

Unfortunately ATM does not provide for separate Scans for each State - I’ve suggested this to N but apparently it’s too messy to do. So, #4 rather than #3 is the only way to apply this in an ATM which has some states for long and others for short, unless you radically change the structure of every active strategy to have two separate parallel paths for long and short (beyond the scope of this discussion).

I hope you find this helpful. I have not seen this concept publicized elsewhere, btw … it’s a “TradeTight technique”. :-)

(H[2]-C[1])/atr(14)[2] > 1
Or
(H[3]-C[2])/atr(14)[3] > 2
Or
(H[4]-C[3])/atr(14)[4] > 3
Or
(H[5]-C[4])/atr(14)[5] > 4
Or
(H[6]-C[5])/atr(14)[6] > 5
Or
(H[7]-C[6])/atr(14)[7] > 6
Or
(H[8]-C[7])/atr(14)[8] > 7
Or
(H[9]-C[8])/atr(14)[9] > 8


[Edited by Jim Dean on 2/13/2018 8:06 PM]

Deleting message 29840 : RE: ATM and ARM5


Nirvana Systems
For any problems or issues please contact our Webmaster at webmaster@nirvsys.com.