當策略很多的時候,通常都會把策略合併當投資組合

可惜券商版沒有提供Portfolio Trader,

所以我們要透過ADE++來合併投資組合績效。

方法一、把每個策略的”績效”合併起來,然後用指標顯示合併後績效。

第一步、在圖表1設定A策略績效:

VPS.SetGlobalVariable("A", netprofit);

第二步、在圖表2設定B策略績效:

VPS.SetGlobalVariable("B", netprofit);

第三步、在圖表3設定C策略績效:

VPS.SetGlobalVariable("C", netprofit);

第四步、在圖表4新增指標,然後讀取ABC策略設定的績效:

var A = VPS.GetGlobalVariable("A");
var B = VPS.GetGlobalVariable("B");
var C = VPS.GetGlobalVariable("C");

第五步、將合併後的績效顯示在圖表上,如果要合併MDD請使用第二種方法。

Plot1(A+B+C);

方法二、把每個策略的”部位”合併起來,然後透過訊號計算完總部位再下單。

第一步、在圖表1設定A策略部位:

VPS.SetGlobalVariable("A", marketposition * currentcontracts);

第二步、在圖表2設定B策略部位:

VPS.SetGlobalVariable("B", marketposition * currentcontracts);

第三步、在圖表3設定C策略部位:

VPS.SetGlobalVariable("C", marketposition * currentcontracts);

第四步、在圖表4新增訊號,然後讀取ABC策略設定的部位:

var A = VPS.GetGlobalVariable("A");
var B = VPS.GetGlobalVariable("B");
var C = VPS.GetGlobalVariable("C");

第五步、在圖表4的訊號中計算總部位:

var MP = A+B+C;

第六步、當總部位為多單,買進時指定多單口數:

if MP > 0 then buy absvalue(MP) contracts next bar market;

第七步、當總部位為空單,賣出時指定空單口數:

if MP < 0 then sellshort absvalue(MP) contracts next bar market;
  • 測試影片:

工商服務時間:

我們的加值套件支援 券商版 跟 專業版,購買後只要續租雲端主機就能一直使用。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *