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

阿政

過去寫過一篇介紹如何把策略的績效曲線化成指標放在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))

 

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

 

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

精選文章

更多
大盤尾盤13點25急拉收過10均,最後一盤卻刻意不拉到47100,背後藏什麼用意
美國期中選舉的台股規律,選前較穩、選後易震盪,今年變數比2018年更複雜
驅動 IC 也能卡位 AI 夢:頎邦封裝老本業跨界光通訊,景氣循環股破局之道?
台積電、友達ADR走穩,費半急殺、伊朗轉緩、韓國GDP報喜:台股連休四天有驚無險
五萬點臨門一腳翻船,想起 1989 日本失落三十年惡夢⋯⋯2026 台股不一樣?
台股失守季線,日月光、欣興反彈無力,穎崴腰斬、台泥、中鋼逆勢走高,下周盤勢重點