lahahaha 發表於 15-7-16 00:21

語法請教, 謝謝

請教各位大大, 如果程式碼結構如下:

input xx
var xx

if xx then begin
buy 1 share xx
end;

if mp>0 then sell xx
end;

if yy then begin
buy 1 share yy
end;

if mp>0 then sell yy
end;

出現這種結構是因為我把幾個不同的策略combine成一個, 但做不了backtesting, 我想應該是出場那裡分辨不到是幫哪個部位出場, 請問這種情況要怎樣解決


TrendRover 發表於 15-7-16 04:41

mc90 可以記住order ID

easytrader788 發表於 15-7-16 15:39

input xx
var xx

{進場給與名稱 B1 }
if xx then buy ( "B1") 1 share next bar at xx stop ;

{出場指定名稱出場 }
if mp>0 then sell from entry ("B1") 1 share next bar at xx stop ;


if yy then buy 1 share ("B2") 1 share next bar at yy stop ;

if mp>0 then sell from entry ("B2") 1 share next bar at yy stop ;
end;

easytrader788 發表於 15-7-16 15:42

另外 ,原來的寫法 在出場的程式碼 end 沒有 begin 對應 ,編譯應該不會過

pcking2008 發表於 15-7-16 17:07

我的作法是將個別能獨立買賣的寫成一個策略, 再最佳化, 得到滿意的曲線
然後去 portfolio 一個圖表只放一個策略, 有幾個策略就有幾個圖表
這樣可以組合看績效 (不知道是不是正確方法)
以前沒人教, 我開一個圖放所有的策略, 結果進出會互相干擾, 所以完全沒在用portfolio
後來因為有不同市場, 一定是開不同圖
我才想到原來同一個市場多策略也應該開獨立的圖
經過檢查後總績效的確是所有策略累加後的數據

如果你只有一個策略
可以將最佳化所列出來的參數組合表, 選幾個不同的
然後去 portfolio 看相關性, 雖然可能不會太低 (0.6 以上)
夠低的話留下來湊一桌 {:7_420:}

lahahaha 發表於 15-7-16 22:52

pcking2008 發表於 15-7-16 17:07 static/image/common/back.gif
我的作法是將個別能獨立買賣的寫成一個策略, 再最佳化, 得到滿意的曲線
然後去 portfolio 一個圖表只放一個 ...

我一直想做最佳化, 但需要在最佳化setting裡面填寫input, 但由於我的策略都沒有input, 只有var, 所以卡在這裡做不到最佳化....

lahahaha 發表於 15-7-16 22:53

easytrader788 發表於 15-7-16 15:39 static/image/common/back.gif
input xx
var xx



明白了, 立即試試, 謝謝

pcking2008 發表於 15-7-16 23:07

lahahaha 發表於 15-7-16 22:52 static/image/common/back.gif
我一直想做最佳化, 但需要在最佳化setting裡面填寫input, 但由於我的策略都沒有input, 只有var, 所以卡在 ...

以我的程度我想像不到如何能完全不需要 input

我需要 input 的緣故是, 我並不知道什麼值適合, 所以乾脆最佳化後再來觀察

還是您的 var 值都是程式自己適應市場後產生出來的? 那可是很厲害喔 {:7_465:}
頁: [1]
查看完整版本: 語法請教, 謝謝