PureBytes Links
Trading Reference Links
|
Ton,
The intent appears to be to split the BP[1] values into peaks and valleys such that the two averages can be calculated independent of the other.
Mike
--- In amibroker@xxxxxxxxxxxxxxx, "Ton Sieverding" <ton.sieverding@xxx> wrote:
>
> Hi John. It's not that I cannot translate lines 29 thru 36 in AFL. My problem is that I do not understand the code :
>
> 29. if BP[1] > BP and BP[1] > BP[2] then
> 30. Peak = BP[1]
> 31. else if BP[1] < BP and BP[1] < BP[2] then
> 32. Valley = BP[1] ;
>
> What's the difference between Peak and Valley in the above code ? For me they always have the same value because whatever happens this value is BP[1] ...
>
> BTW BP is an array and AFL handles this with the double if.( Iff( BP<Ref(BP,-1) etc. ) ...
>
> Regards, Ton.
>
>
> ----- Original Message -----
> From: bbands
> To: amibroker@xxxxxxxxxxxxxxx
> Sent: Wednesday, March 03, 2010 5:01 PM
> Subject: [amibroker] Re: Empirical Mode Decomposition
>
>
>
> I've included the TradeStation code below. It is lines 29 through 36 that I am having trouble realizing in AB.
>
> TIA,
>
> John
>
> 1. Indicator: EmpiricalMode
> 2. inputs:
> 3. Price( 0.5 * ( High + Low ) ),
> 4. Period( 20 ),
> 5. Delta1( 0.5 ),
> 6. Fraction( 0.1 ) ;
>
> 7. variables:
> 8. Beta1( 0 ),
> 9. Gamma1( 0 ),
> 10. Alpha( 0 ),
> 11. HalfAlphaDiff( 0 ),
> 12. Beta1OnePlusAlpha( 0 ),
> 13. BP( 0 ),
> 14. Trend( 0 ),
> 15. Peak( 0 ),
> 16. Valley( 0 ),
> 17. AvgPeak( 0 ),
> 18. FracAvgPeak( 0 ),
> 19. AvgValley( 0 ),
> 20. FracAvgValley( 0 ) ;
>
> 21. Beta1 = Cosine( 360 / Period ) ;
> 22. Gamma1 = 1 / Cosine( 720 * Delta1 / Period ) ;
> 23. Alpha = Gamma1 - SquareRoot( Square( Gamma1 ) - 1 ) ;
> 24. HalfAlphaDiff = 0.5 * ( 1 - Alpha ) ;
> 25. Beta1OnePlusAlpha = Beta1 * ( 1 + Alpha ) ;
> 26. BP = HalfAlphaDiff * ( Price - Price[2] ) +
> 27. Beta1OnePlusAlpha * BP[1] - Alpha * BP[2] ;
> 28. Trend = Average( BP, 2 * Period ) ;
>
> 29. if BP[1] > BP and BP[1] > BP[2] then
> 30. Peak = BP[1]
> 31. else if BP[1] < BP and BP[1] < BP[2] then
> 32. Valley = BP[1] ;
>
> 33. AvgPeak = Average( Peak, 50 ) ;
> 34. FracAvgPeak = Fraction * AvgPeak ;
> 35. AvgValley = Average( Valley, 50 ) ;
> 36. FracAvgValley = Fraction * AvgValley ;
>
> 37. Plot1( Trend, "Trend" ) ;
> 38. Plot2( FracAvgPeak, "AvgPeak" ) ;
> 39. Plot3( FracAvgValley, "AvgValley" ) ;
>
------------------------------------
**** IMPORTANT PLEASE READ ****
This group is for the discussion between users only.
This is *NOT* technical support channel.
TO GET TECHNICAL SUPPORT send an e-mail directly to
SUPPORT {at} amibroker.com
TO SUBMIT SUGGESTIONS please use FEEDBACK CENTER at
http://www.amibroker.com/feedback/
(submissions sent via other channels won't be considered)
For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG:
http://www.amibroker.com/devlog/
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/amibroker/
<*> Your email settings:
Individual Email | Traditional
<*> To change settings online go to:
http://groups.yahoo.com/group/amibroker/join
(Yahoo! ID required)
<*> To change settings via email:
amibroker-digest@xxxxxxxxxxxxxxx
amibroker-fullfeatured@xxxxxxxxxxxxxxx
<*> To unsubscribe from this group, send an email to:
amibroker-unsubscribe@xxxxxxxxxxxxxxx
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
|