針對有些交易訊號

可能交易者認為 訊號有些"可測性"或者"趨勢性"

例如 以前作者的朋友曾參加過一個課程好像是政府跟民間公司合辦

選擇權跟期貨教學的


某天 作者朋友找作者玩起一個遊戲 就是擲骰子賭大小

如果連錯九把則第十把加倍下注

然後說裡面的講師說過 經過他們的精密偵測後發現

這樣的下注方法 可以讓前面輸的一次贏回來

其教學的精神跟意義主要是在表達加碼以及資金分配的重要性 blabla....的


在這樣的情況下 MC裡面有一種簡易的方式可以偵測

那麼 如果想要這樣做回測 語法該怎樣寫呢?

作者簡單提供一種寫法 喜歡的可以拿去參考更改看看

以下是程式碼


inputs:z(1);

vars:NShare(1);

if z=1 then condition1=positionprofit(1)<0;

if z=2 then condition1=positionprofit(1)>0;

if z=3 then condition1=positionprofit(1)<0 and positionprofit(2)<0;

if z=4 then condition1=positionprofit(1)>0 and positionprofit(2)>0;

if z=5 then condition1=positionprofit(1)<0 and positionprofit(2)>0;

if z=6 then condition1=positionprofit(1)>0 and positionprofit(2)<0;

if z=7 then condition1=positionprofit(1)>0 and positionprofit(2)>0 and positionprofit(3)>0;

if z=8 then condition1=positionprofit(1)<0 and positionprofit(2)<0 and positionprofit(3)<0;

if z=9 then condition1=positionprofit(1)>0 and positionprofit(2)>0 and positionprofit(3)<0;

if z=10 then condition1=positionprofit(1)<0 and positionprofit(2)>0 and positionprofit(3)>0;

if z=11 then condition1=positionprofit(1)>0 and positionprofit(2)<0 and positionprofit(3)<0;

if z=12 then condition1=positionprofit(1)<0 and positionprofit(2)<0 and positionprofit(3)>0;

if z=13 then condition1=positionprofit(1)<0 and positionprofit(2)>0 and positionprofit(3)<0;

if z=14 then condition1=positionprofit(1)>0 and positionprofit(2)<0 and positionprofit(3)>0;

if condition1 then Nshare=2 else Nshare=1;


這段語法的意思其實很簡單

總共有14組可能性(當然使用者還可以增加更多可能性)

例如參數z=1的時候代表前一筆交易是賠錢的

例如參數z=7的時候代表前三比交易都是賺錢的

例如參數z=13的時候 代表前三筆交易裡面第二筆是賺錢其餘一三筆是賠錢

假設以上其中一種的狀況是這樣的話 那麼Nshare等於2 否則等於1


而到時候要怎樣編寫

其實很簡單 以下舉個簡易程式碼方範例

input:z(1);

vars:NShare(1);

if z=1 then condition1=positionprofit(1)<0;

if z=2 then condition1=positionprofit(1)>0;

if z=3 then condition1=positionprofit(1)<0 and positionprofit(2)<0;

if z=4 then condition1=positionprofit(1)>0 and positionprofit(2)>0;

if z=5 then condition1=positionprofit(1)<0 and positionprofit(2)>0;

if z=6 then condition1=positionprofit(1)>0 and positionprofit(2)<0;

if z=7 then condition1=positionprofit(1)>0 and positionprofit(2)>0 and positionprofit(3)>0;

if z=8 then condition1=positionprofit(1)<0 and positionprofit(2)<0 and positionprofit(3)<0;

if z=9 then condition1=positionprofit(1)>0 and positionprofit(2)>0 and positionprofit(3)<0;

if z=10 then condition1=positionprofit(1)<0 and positionprofit(2)>0 and positionprofit(3)>0;

if z=11 then condition1=positionprofit(1)>0 and positionprofit(2)<0 and positionprofit(3)<0;

if z=12 then condition1=positionprofit(1)<0 and positionprofit(2)<0 and positionprofit(3)>0;

if z=13 then condition1=positionprofit(1)<0 and positionprofit(2)>0 and positionprofit(3)<0;

if z=14 then condition1=positionprofit(1)>0 and positionprofit(2)<0 and positionprofit(3)>0;

if condition1 then Nshare=2 else Nshare=1;

buy NShare contracts next bar at HighestFC(h,50)+1 stop ;

sell next bar at Lowest(l,50)-1 stop;

這樣寫就可以

之後就可以利用MC的最佳化處理來看看是否存在該現象

理論上來說 假設有該現象存在的話

那麼該訊號的最佳化結果通常風報比都會提升


以上

拍手 拍手
好文章需要你的鼓勵
拍手 拍手
追蹤

推薦文章

您需要 後才能開始留言
還沒有人討論誒,快來搶沙發...
聲音節目
沒有描述
--:--
--:--
1.0x
播放速度
2.0x
1.75x
1.5x
1.25x
1.0x
0.75x
收藏節目
播放清單
沒有播放清單
沒有待播放的清單
返回播放器
接著播放
清除全部
沒有待播放的清單