StockFetcher Forums · Filter Exchange · Trend Trader Strategy | << >>Post Follow-up |
txraddoc 1 posts msg #158384 - Ignore txraddoc modified |
1/11/2022 2:31:22 PM I've searched a bit through the forums and have not been able to find anything like this. I'm wondering how difficult it would be to code this for Stock Fetcher. It's called Trend Trader Strategy from Andrew Abraham in 1988. https://c.mql5.com/forextsd/forum/89/trading_the_trend_-_andrew_abraham.pdf Based on my VERY limited knowledge of Stockfetcher coding, I threw together this. If someone could turn this into working Stochfetcher code I would be eternally grateful. set{todayrange, high - low} set{highclose, high - close yesterday} set{todaylow, low - close yesterday } set{tts, highest of the three above} set{ttsavg, (ema(21) of the ttsavg variable) * 3 } plot tts avg I've looked at an implementation of this on TradingView and it looks much more complicated than this. Not sure if its possible here. |
Mactheriverrat 3,153 posts msg #158385 - Ignore Mactheriverrat modified |
1/11/2022 5:30:58 PM I know this isn't what your looking for but it may be a start. SPY and NGL . NGL is what I'm in right now. Submit |
nibor100 1,031 posts msg #158392 - Ignore nibor100 |
1/13/2022 11:50:00 AM @txraddoc, I think the filter below gets you close to what you want. Ed S. |
push5280 201 posts msg #158446 - Ignore push5280 modified |
1/23/2022 6:51:37 PM I think I have the IF, ELSEIF,ELSE part figured out but I'm at what I think is the last line and it breaks. I think my logic is correct in the IF, ELSEIF, ELSE parts but I need some help from SF coders who are better than me. Any help is appreciated! /*1)avrTR = weightedaverage[Length](AverageTrueRange[1](close)) 2)highestC = highest[Length](high) 3)lowestC = lowest[Length](low) 4)hiLimit = highestC[1]-(avrTR[1]*Multiplier) 5)lolimit = lowestC[1]+(avrTR[1]*Multiplier) 6)if(close > hiLimit AND close > loLimit) THEN 7) ret = hiLimit 8)ELSIF (close < loLimit AND close < hiLimit) THEN 9) ret = loLimit 10)ELSE 11) ret = ret[1] 12)ENDIF 13)RETURN ret coloured(238,238,0) as "Trend Trader"*/ Fetcher[ /*avrTR = weightedaverage[Length](AverageTrueRange[1](close))*/ set{avrTR_multiplier, Weighted ATR(21) 1 day ago * 3} draw avrTR_multiplier /* highestC = highest[Length](high) */ set{highestC, close 21 day high} draw highestC /* lowestC = lowest[Length](low) */ set{lowestC, close 21 day low} draw lowestC /* hiLimit = highestC[1]-(avrTR[1]*Multiplier)*/ set{hiLimit, close 21 day high 1 day ago - avrTR_multiplier} draw hiLimit /*lolimit = lowestC[1]+(avrTR[1]*Multiplier) */ set{loLimit, close 21 day low 1 day ago + avrTR_multiplier} draw loLimit /* if(close > hiLimit AND close > loLimit) */ /* we need to find if this condition is satisfied */ set{if_1, count(close > hiLimit, 1)} set{if_2, count(close > loLimit, 1)} set{if_3, if_1 + if_2} set{if_3_count, count(if_3 > 1, 1)} draw if_3_count /*ELSIF (close < loLimit AND close < hiLimit) */ /* we need to find if this condition is satisfied */ set{elseif_1, count(close < loLimit, 1)} set{elseif_2, count(close < hiLimit, 1)} set{elseif_3, elseif_1 + elseif_2} set{elseif_3_count, count(elseif_3 > 1,1)} draw elseif_3_count /*ELSE */ /* we need to find if this condition is satisfied */ set{else_1, if_3_count + elseif_3_count} set{else_1_count, count(else_1 < 1, 1)} draw else_1_count /* set the values for TrendTrader Indicator calculations */ set{hiLimit_val, hiLimit * if_3_count} set{loLimit_val, loLimit * elseif_3_count} draw hiLimit_val draw loLimit_val set{lolimit_1, loLimit_val 1 day ago} draw lolimit_1 on plot loLimit /*set{hilimit_1, hiLimit_val 1 day ago} draw hilimit_1 on plot hiLimit */ set{HandL_val, hilimit_1 + lolimit_1 } add column HandL_val draw HandL_val set{handl_1, HandL_val 1 day ago} draw handl_1 set{return_val, else_1_count * handl_1} draw return_val close > 1 ] |
nibor100 1,031 posts msg #158456 - Ignore nibor100 |
1/24/2022 12:37:07 PM @push5280, Below is the most of your filter that I get to work before it runs into a SF too complex to run issue at the line "add column handl_val 1 day ago " due to more levels of set variable nesting that SF will allow for a filter to run. Normally to get around this one combines statements or actions where possible to reduce the number of set statements relying on a prior set variable. However, offhand I don't see any easy changes to make it work.... Ed S. PS. if you want to have your posted filters be clickable in SF you have to get rid of all of the bracket symbols i.e. " [ "," ] " in your comment lines as those symbols are reserved for the SF clickable command ' |
push5280 201 posts msg #158809 - Ignore push5280 |
3/13/2022 11:36:01 PM Nibor100, "Below is the most of your filter that I get to work before it runs into a SF too complex to run issue at the line "add column handl_val 1 day ago " due to more levels of set variable nesting that SF will allow for a filter to run. " ********************************************************************************************************* I have an Advanced Subscription, I thought that was supposed to eliminate these nesting issues? What is Advanced Filter Support? In short, Advanced Filter Support is related to the number of nested set{} statements or custom variables used within a StockFetcher filter. Once StockFetcher determines that a filter has reached this complexity, Advanced Filter Support is required to complete the filter. There is not a specified number of custom variables that flags a filter as "advanced". StockFetcher takes into consideration the complexity of the underlying measures, in addition to the number of variables. At the standard subscription level, StockFetcher filters can certainly take advantage of custom variables; however, if your filter exceeds the complexity level required for an "advanced" filter, you will see a message indicating that the filter could not complete. For nearly all filters, Advanced Filter Support is not required. Additionally, if you do experience this issue as a basic subscriber, typically there are work-arounds. If you are unable to find a work-around, you can upgrade your subscription at anytime to support the advanced filters. Still need help? |
nibor100 1,031 posts msg #158814 - Ignore nibor100 |
3/14/2022 11:16:17 AM Advanced subscription allows us to run some filters that are too complex for basic subscription level but SF puts further complexity limits that advanced level can’t run. Very annoying, Ed S |
StockFetcher Forums · Filter Exchange · Trend Trader Strategy | << >>Post Follow-up |
Copyright 2022 - Vestyl Software L.L.C.•Terms of Service | License | Questions or comments? Contact Us
EOD Data sources: DDFPlus & CSI Data
Quotes delayed during active market hours. Delay times are at least 15 mins for NASDAQ, 20 mins for NYSE and Amex. Delayed intraday data provided by DDFPlus