站內廣告

績效曲線指標化:新高新低標示

阿政

過去寫過一篇介紹如何把策略的績效曲線化成指標放在K線圖下方以觀察盤勢的形態對照自己策略當時績效的表現:http://www.yctseng.net/2011/01/blog-post_7061.html。後來我進一步把這個績效曲線畫圖的功能加上”創新高”與”創新低”的功能,一方面算是鼓勵自己也給自己警惕。程式碼如下:

Var:新高(False),新低(False)

Value1=I_OpenEquity
Value2=I_ClosedEquity

Value10= Highest(Value2,BarNumber);   Value11= Lowest(Value2,BarNumber); 

新高= Value1>=Value10
新低= Value1<=Value11

if 新高 then
  Value3=Yellow
elseif 新低 then
  Value3=Blue 
elseif T>134000 then
  Value3=Red
else
  Value3=White
end if  

Draw1(Value1,"未平",Value3,0,iff(T>134400,8,4))


這個程式碼可以得到這樣的效果,黃點表示未平倉績效比過去的已平倉績效都高,就是創新高啦,如果呈現的是藍點的話,皮要繃緊一點囉>"<:


0

 


但是上面的程式碼其實...滿笨的,因為那會在每一根K棒都要往前去計算從圖面上第一根K棒到每一個當下K棒的最高最低值,當我們只把圖面拉進三五百根K棒的時候可能沒有什麼感覺,如果拉進來五千、一萬根K棒的話,我想你一定會以為 STS 壞掉了 XD,因為它算得很辛苦啦~

後來我改用這個方式:

Var:新高(False),新低(False)

Value1=I_OpenEquity
Value2=I_ClosedEquity

Value10= iff(Value2>Value10,Value2,Value10); Value11=iff(Value2<Value11,Value2,Value11); 
新高= Value1>=Value10
新低= Value1<=Value11

if 新高 then
  Value3=Yellow
elseif 新低 then
  Value3=Blue 
elseif T>134000 then
  Value3=Red
else
  Value3=White
end if  

Draw1(Value1,"未平",Value3,0,iff(T>134400,8,4))

 

兩種程式碼在圖線上的有著一樣的效果,但是運作起來效率完全不一樣!如果有興趣的話,可以自己想想看這兩種方式其中的差異,這算是"演算法"的差異了吧~ 

 

本文內容僅供參考,無任何買賣建議,投資人應謹慎評估,風險自負。

精選文章

更多
每個月自動扣款的那些服務,有幾個你真的離不開?
指數大震盪!聯電、日月光強彈,資金避風港營建興富發&電信遠傳強攻,下周盤勢重點。
川普停火費半暴漲、台股跳空收漲1019點!下周升息、三巫日、富時全撞端午變盤?!
生技展行情啟動,這兩個月勝率飆八成,神隆、長佳智能轉機浮現!
人形機器人卡關三大瓶頸!上銀、直得回測季線,機器人電池-新普、中碳成資金避風港!
活動最後一天:把這兩個月的成績單交給你看