Stock Portfolio Organizer
The ultimate porfolio management solution.
WiseTrader Toolbox
#1 Selling Amibroker Plugin featuring:
Trading The Trend 2 for eSignal (EFS)
This efs plots the indicator developed by Andrew Abraham in the Trading the Trend article of TASC September 1998
You can read more about it here
Indicator / Formula
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 | /********************************************************* Alexis C. Montenegro © April 2005 Use and/or modify this code freely. If you redistribute it please include this and/or any other comment blocks and a description of any changes you make. **********************************************************/ //This efs plots the indicator developed by Andrew Abraham //in the Trading the Trend article of TASC September 1998 var fpArray = new Array(); function preMain(){ setPriceStudy( true ); setStudyTitle( "Trend Trader" ); setCursorLabelName( "Limit" ) setDefaultBarFgColor(Color.red,0); setColorPriceBars( true ); setDefaultPriceBarColor(Color.black); var x=0; fpArray[x] = new FunctionParameter( "Length" , FunctionParameter.NUMBER); with (fpArray[x++]){ setLowerLimit(1); setDefault(21); } fpArray[x] = new FunctionParameter( "Multiplier" , FunctionParameter.NUMBER); with (fpArray[x++]){ setLowerLimit(0.01); setDefault(3); } fpArray[x] = new FunctionParameter( "Interval" , FunctionParameter.STRING); with (fpArray[x++]){ setDefault(); } fpArray[x] = new FunctionParameter( "Params" , FunctionParameter.BOOLEAN); with (fpArray[x++]){ setName( "Show Parameters" ); setDefault( false ); } } var bInit = false ; var xInterval = null var avgTR = null ; var highestC = null ; var lowestC = null ; var xClose= null ; var Signal1 = null ; function main(Length,Multiplier,Interval,Params){ if (bInit== false ){ if (Interval== null ) Interval = getInterval(); xInterval = Interval+ "" ; avgTR = wma(Length,atr(1,inv(xInterval))); highestC = upperDonchian(Length,close(inv(xInterval))); lowestC = lowerDonchian(Length,close(inv(xInterval))); xClose = close(inv(xInterval)); setShowTitleParameters(eval(Params)); bInit= true ; } var Close1 = xClose.getValue(-1); var highestC1 = highestC.getValue(-1); var lowestC1 = lowestC.getValue(-1); var avgTR1 = avgTR.getValue(-1); if (Close1 == null || highestC1 == null || lowestC1 == null || avgTR1 == null ) return ; if (getBarStateInterval(xInterval)==BARSTATE_NEWBAR){ var hiLimit1 = highestC1-(avgTR1*Multiplier); var loLimit1 = lowestC1+(avgTR1*Multiplier); if (Close1 > hiLimit1 && Close1 > loLimit1) Signal1 = hiLimit1; if (Close1 < loLimit1 && Close1 < hiLimit1) Signal1 = loLimit1; } if (Signal1 == null ) return ; if (Close1 > Signal1) setPriceBarColor(Color.blue); if (Close1 < Signal1) setPriceBarColor(Color.red); return Signal1; } |
0 comments
Leave Comment
Please login here to leave a comment.
Back