I'll preface this with I have done OOP all my professional and amateur career (save for the one semester of BASIC I took in high school) and I'm still having issues understanding macros and the best way to use them.
That said, I'm writing a library to use for technical analysis on stocks/forex/futures/etc and am getting to the
Aroon indicator. Basically the calculation is the same except for looking for a high for one part and then the low for the other part. Below is my naive first pass at solving the problem:
def aroon_up(prices) do number_of_periods = prices |> Enum.count corrected_prices = prices |> Enum.reverse high_period = calc_high(prices, 0, 0) (number_of_periods - high_period) / (number_of_periods * 100) end defp calc_high(prices, high, count) do case prices do [hd | tl] when hd > high -> calc_high(tl, hd, count + 1) [hd | tl] -> calc_high(tl, high, count + 1) [hd] when hd > high -> count _ -> count end end def aroon_down(prices) do number_of_periods = prices |> Enum.count corrected_prices = prices |> Enum.reverse low_period = calc_low(prices, nil, 0) (number_of_periods - low_period) / (number_of_periods * 100) end defp calc_low(prices, low, count) do case prices do [hd | tl] when low == nil -> calc_low(tl, hd, count + 1) [hd | tl] when hd < low -> calc_low(tl, hd, count + 1) [hd | tl] -> calc_low(tl, low, count + 1) [hd] when low == nil -> count [hd] when hd < low -> count _ -> count end end
You'll notice there is a lot of repeating code. I'd love to be able to generate the base of the code from a macro but I'm stumped on how to do this without basically writing a bunch of case statements. Is this a valid use case for macros here or am I just over thinking the problem?
submitted by The Aroon indicator was d eveloped by Tushar Chande in 1995, and is an indicator based trading system that determines whether a trading instrument is trending or not and how strong the trend is.As conceived by the creator, Aroon had to determine points for entering trades before other indicators and inform traders about this. The Aroon Indicator Strategy – How to Use the Aroon Indicator in Forex Trading This is the second article in our Aroon Indicator series. If you haven’t already we suggest that you check out the first article about the Aroon Indicator . Forex Aroon Indicator. Forex Aroon Indicator is great for reading trends, watch as the “Up Line” (Default color:Yellow) reaches 100 means a strong up trend, and watch for the “Down Line” (Default color:Dodger Blue) reaches 100 means a strong down trend. AROON Indicator watchs also as they crosses each other. It’s great for signaling. If Aroon Up intersects the Aroon Down line from top to bottom, this is a signal to exit the purchase (Forex trading). On the contrary, intersection of the Aroon Up line by the Aroon Down line from top to bottom indicates the emergence and possible development of a down trend and the possibility of opening a sell position. Aroon Indicator: The Aroon indicator is a technical indicator used for identifying trends in an underlying security and the likelihood that the trends will reverse. It is made up of two lines: one ...
This lesson describes the Aroon indicator, and three chart examples are used to show how it works.. Learn to trade Like a Pro - Join the StockGoodies Communi... Aroon roughly translates to "Dawn's Early Light," which tells you everything you need to know about the purpose of this indicator. Learn why it was created and how it can function in your trading ... This Aroon indicator trading strategy for forex, stocks and e-minis contradicts traditional teachings, but can get you better results. http://www.topdogtradi... Click here to apply to become an Apiary Fund trader: https://start.apiaryfund.com/application-yt/ Start Trading with The Aroon Indicator Today we look at an ... Hi Guys this is a new strategy I found and it works great. This is not an investment advice and this video is only to impact on your knowledge. Please try fi...