2009年3月22日 星期日

P = M * V

前幾天在書店翻書,寰宇的某一本書。書名忘了。

有一段內容還挺有趣的。

把高中物理課本內的公式用上了。

P = M * V 動量 = 質量 * 速度 ...

嗯嗯... 不知道我有沒有記錯,還是我在做夢。

反正就是前幾天腦袋突然出現這個動量的公式。


然後做了一個奇怪的發想。假設 ~

K線的價位變化,代表該K線的速度變化。

K線成交量,代表K線質量。


所以,在TS中,弄出了這樣的變數

Value1 = iff( (H-L) > 0 , (H-L) , 1 ) / iff( V > 0 , V , 1 )

Value1 就是 K線的高低差除以那一根K線的成交量。

為什麼要相除而不是相乘?? 主要是因為相乘數字太大了

不好處理,所以就很直覺得相除 ~

利用 iff 這函數,是要避免 High = Low 和 Volume = 0的情況。

以免分子或是分母等於 0

相除後的 Value1 值應該很小。而且每一根K線顯示的值都不一樣。


現在把 Value1 套用在策略中,架構大概這樣。

if XXX then begin

if close cross over A + B * Value1 then buy next bar at market;
if close cross under A' + B' * Value1 then sell next bar at market;

end;

上述中的 XXX

通常是限制時間,像是在中午以前...

或是在某漲跌幅之內,以免漲停時作多,或是跌停時放空。

不過XXX這條件是非必要得玩意,可以不寫。


而 A + B * Value1

這就隨意了~

EX:

A = A' = Closed(1)

B = Highd(1)

B' = Lowd(1)

這樣的話,上面的策略就變成

K線收盤 突破 昨日收盤 加上 昨日最高點乘以Value1 ,下一根K線作多

K線收盤 跌破 昨日收盤 減掉 昨日最低點乘以Value1 ,下一根K線作空

其實就是K線收盤 突破跌破 突破點就進場的策略 ~

乘上Value1,只是想讓突破點一直有變化。

突破點一直變化不見得是好事。

但是,有變化就會有驚奇。應該吧~ 哈哈~


利用上述想法,生一個簡單的策略


Value1 = iff( (H-L) > 0 , (H-L) , 1) / iff( V > 0 , V , 1 ) ;

if time > = 1000 and 1200 > = time then begin

if close cross over closed(1) + highd(1) * Value1 then buy next bar at market;
if close cross under closed(1) - lowd(1) * Value1 then sell next bar at market;

end;


回測成本2000,2001-2008,15K



馬馬虎虎啦 ~

不過別亂用。有些進場點會把你嘎到瘋掉的~

而且交易時段是作過最佳化的

所以看看就好。
HEMiDEMi Technorati Del.icio.us MyShare?犖?貊惜 Yahoo