Programmera en trendindikator

Analysprogrammet ProRealTime som jag testat har gett mig tillfället att programmera Onsdagsfondens trendindikator på ett mer modernt sätt. Det ger mig också möjligheten att dela med mig av koden i språket ProBuilder, förhoppningsvis till nytta och inspiration för någon.

programmera_kod

Som tidigare gäller att en indikator som man baserar sina köp- och säljbeslut på inte är värd särskilt mycket i sig. Det viktiga är din kompletta placeringsstrategi som ska styra hur mycket du satsar och riskerar, och framför allt hur du hanterar utfallet av dina köp- eller säljbeslut, oavsett om indikatorn visat ”rätt” eller slagit fel. Onsdagsfondens trendindikator har som alla andra trendindikatorer en genomsnittlig träffsäkerhet på runt 40-50%. Min egen erfarenhet säger att träffsäkerheten och nyttan av trendindikatorer blir klart högre i mer långsiktiga perspektiv, som veckodiagram.

OMX STOCKHOLM 30

För mer information om trendindikatorn, som är baserad på Daryl Guppys Multiple Moving Average, besök www.guppytraders.com.

 

Kod i ProBuilder

//Check if GMMA Investors are positive or negative
ConditionGMMAInvestorsUp = ExponentialAverage[30](close)> ExponentialAverage[30](close[1]) and ExponentialAverage[35](close)> ExponentialAverage[35](close[1]) and ExponentialAverage[40](close)> ExponentialAverage[40](close[1]) and ExponentialAverage[45](close)> ExponentialAverage[45](close[1]) and ExponentialAverage[50](close)> ExponentialAverage[65](close[1]) and ExponentialAverage[60](close)> ExponentialAverage[60](close[1])

ConditionGMMAInvestorsDown = ExponentialAverage[30](close)< ExponentialAverage[30](close[1]) and ExponentialAverage[35](close)< ExponentialAverage[35](close[1]) and ExponentialAverage[40](close)< ExponentialAverage[40](close[1]) and ExponentialAverage[45](close)< ExponentialAverage[45](close[1]) and ExponentialAverage[50](close)< ExponentialAverage[65](close[1]) and ExponentialAverage[60](close)< ExponentialAverage[60](close[1])

//Calculate the lowest investor MA value
Temp1=MIN(ExponentialAverage[30](close),ExponentialAverage[35](close))
Temp2=MIN(ExponentialAverage[40](close),ExponentialAverage[45](close))
Temp3=MIN(ExponentialAverage[50](close),ExponentialAverage[60](close))
Temp4=MIN(Temp1,Temp2)
LowestInvestorMA=MIN(Temp4,Temp3)

//Calculate the highest investor MA value
Temp1=MAX(ExponentialAverage[30](close),ExponentialAverage[35](close))
Temp2=MAX(ExponentialAverage[40](close),ExponentialAverage[45](close))
Temp3=MAX(ExponentialAverage[50](close),ExponentialAverage[60](close))
Temp4=Max(Temp1,Temp2)
HighestInvestorMA=Max(Temp4,Temp3)

//Calculate the lowest trader MA value
Temp1=MIN(ExponentialAverage[3](close),ExponentialAverage[5](close))
Temp2=MIN(ExponentialAverage[8](close),ExponentialAverage[10](close))
Temp3=MIN(ExponentialAverage[12](close),ExponentialAverage[15](close))
Temp4=MIN(Temp1,Temp2)
LowestTraderMA=MIN(Temp4,Temp3)

//Calculate the highest trader MA value
Temp1=MAX(ExponentialAverage[3](close),ExponentialAverage[5](close))
Temp2=MAX(ExponentialAverage[8](close),ExponentialAverage[10](close))
Temp3=MAX(ExponentialAverage[12](close),ExponentialAverage[15](close))
Temp4=Max(Temp1,Temp2)
HighestTraderMA=Max(Temp4,Temp3)

//Are GMMA Trader MA values above GMMA Investors
ConditionGMMATradersAboveGMMAInvestors=LowestTraderMA>HighestInvestorMA

//Are GMMA Trader MA values below GMMA Investors
ConditionGMMATradersBelowGMMAInvestors=HighestTraderMA<LowestInvestorMA

//If less than 60 bars, do not show
IF BarIndex < 60 THEN
GMMATrend = Undefined
ELSE
//if GMMA Investor MAs are up and GMMA Trader MAs all above GMMA Investor, we have up trend
IF ConditionGMMAInvestorsUp and ConditionGMMATradersAboveGMMAInvestors then
GMMATrend=1
//if GMMA Investor MAs are down and GMMA Trader MAs all below GMMA Investor, we have down trend
ELSIF ConditionGMMAInvestorsDown and ConditionGMMATradersBelowGMMAInvestors then
GMMATrend=-1
//If not up nor down trend, trend is neutral
else
GMMATrend=0
endif
Endif
//Show the indicator in diagram window
Return GMMATrend

Kommentera

Fyll i dina uppgifter nedan eller klicka på en ikon för att logga in:

WordPress.com Logo

Du kommenterar med ditt WordPress.com-konto. Logga ut / Ändra )

Twitter-bild

Du kommenterar med ditt Twitter-konto. Logga ut / Ändra )

Facebook-foto

Du kommenterar med ditt Facebook-konto. Logga ut / Ändra )

Google+ photo

Du kommenterar med ditt Google+-konto. Logga ut / Ändra )

Ansluter till %s