Hello, the ATR uses Wilders smoothing while you used simple smoothing. Here is the code that matches the build-in calculation.
TrueRange = Max( H - L, Max( abs( H - Ref( C, -1 ) ), abs( L - Ref( C, -1 ) ) ) ); myATR = Wilders(TrueRange, 3); Plot(myATR, "myATR", colorBlue, 1); Thomas www.PatternExplorer.com From: [email protected] [mailto:[EMAIL PROTECTED] On Behalf Of tomeklutel Sent: Friday, December 05, 2008 10:01 PM To: [email protected] Subject: [amibroker] ATR formula in AmiBroker Hi, I'm trying to write my own ATR to work exactly like AmiBroker ATR (for further implementation of weights). I attempted to apply formula from here , unfortunately it returns different results and performs worse than AmiBroker implementation in BackTester. Could you help me with that ? This is what I have so far: amiATR=ATR(3); myATR = ( Ref(Max(H-L,Max(abs(H-Ref(C,-1)),abs(L-Ref(C,-1)))),0) + Ref(Max(H-L,Max(abs(H-Ref(C,-1)),abs(L-Ref(C,-1)))),-1) + Ref(Max(H-L,Max(abs(H-Ref(C,-1)),abs(L-Ref(C,-1)))),-2) ) / 3; Plot(amiATR,"AmiBroker ATR",colorBlack); Plot(myATR ,"my ATR",colorRed) Regards, Tomek
