一覽眾山小 發表於 10-10-19 21:20

好厲害...真長的程式碼
聽說站上還有3000行的高手

我忍不住想算算自己的程式碼
TNND...竟然只有74行

無無明 發表於 10-10-20 10:25

if time>=TheEnd and DayTrade=1 then begin
   if CurrentContracts > 0 then begin
      //exitlong("end1") all contracts next bar at market;
      sell("end1") all contracts next bar at market;
      PP=Close;
   end;
   if CurrentContracts < 0 then begin
      //exitshort("end2") all contracts next bar at market;
      buytocover("end2") all contracts next bar at market;
      PP=Close;
   end;
end;   

修改-----------------
if Date=1101020 or Date=1101117 or Date=1101215 then//Last Trading Day
   TheEnd=1325else TheEnd=1340;

if time>=TheEnd and DayTrade=1 then begin
   if marketposition > 0 then begin
      //exitlong("end1") all contracts next bar at market;
      sell("end1") all contracts next bar at market;
      PP=Close;
   end;
   if marketposition < 0 then begin
      //exitshort("end2") all contracts next bar at market;
      buytocover("end2") all contracts next bar at market;
      PP=Close;
   end;
end;   

CurrentContracts ----改成 MarketPosition

無無明 發表於 10-10-20 11:04

這是 測試中的 MC 圖形
同樣的程式,參數略微不同

我還在測試 MC 執行上的 穩定度

還在測試中,所以不用問我。

austin_lee 發表於 10-10-20 17:18

好厲害...真長的程式碼
聽說站上還有3000行的高手

我忍不住想算算自己的程式碼
TNND...竟然只有74行 ...
一覽眾山小 發表於 10-10-19 09:20 PM http://coco-in.net/images/common/back.gif

據說
程式碼越精簡越好
不要把所有東西通通寫在一支程式裡

請問各位這樣的說法正確嘛?

無無明 發表於 10-10-21 12:34

EntryTime(0)=time---->(EntryTime(0)=time and EntryDate(0)=date)

EntryTime(0)<time ---->((EntryTime(0)<time and EntryDate(0)=date) or EntryDate(0)<date)

這樣 非當沖 才會正常進行停損 追蹤停利

無無明 發表於 10-10-27 10:26

MC 下單指令, 使用 This Bar On Close
不要使用 Next Bar On Open 或 Next Bar At Market

Next Bar XXXX Stop 可以 用

這樣 倉位函數 才會 即時反映出當時狀況

STOP 單, 發生當根,就會 調整 倉位 函數 MarketPosition CurrentContract
Next Bar Market 必須等到 信號出現的 下一根 才會調整 倉位函數
所以 改用This Bar On Close 於 收盤時 出現 信號,下一根棒 調整 倉位函數

無無明 發表於 10-10-29 19:51

回測 今年以來 的 小台 當沖 結果

沒加上交易成本,因為 總交易次數=平均一天2.6次而已,所以 交易成本 影響不大

停損 20點,只有幾次 產生 超過20點的狀況,這是因為 有掛 STOP單。

由於資料是 TICK BY TICK,所以 回測的可信度 比較好。

盤中DDE 有漏掉 TICK,情形不算嚴重,經過實際2週的比對,不至於影響交易信號太多。
除改用 API 報價外,亦有 技巧使用,縮小與實際值的差異。

以上報告完畢,我任務完成。
答應人家的事情,是一定要做到地。

tokukawa01 發表於 10-10-31 11:13

回復 22# trading144
如果考慮滑價等交易成本加計來回6點的話,回測的結果不是都變負數了嗎。
而且Stop單的下單方式印象中免費的下單機幾乎都沒有實做支援Multichart或是TS8的部分

無無明 發表於 10-10-31 13:24

Stop 單 是 MC 裡面的 語法,不是 下單機
而且,以盤中實際觀察發現,實際成交價 會比 MC 抓取的成本價還好
因此,所謂 滑價 是 正面 而非反面

你的 問題,顯示 不是 很清晰 MC 程式控制 與 下單機 的 配合 技巧。

TrendRover 發表於 10-11-1 11:28

回復 24# trading144


    你用元大還是touchance or 大華 ?還好嗎 ? stoploss 單 touchance可以嗎 ?

無無明 發表於 10-11-1 12:16

我用 MC 語法 寫 STOP單,對應 下單大師 下單機的 萬用 API

DDE 數據源,採用 多種數據源 合併,如:王子下單的 RDATA

下單機,滑價設定,故意 採用 負數。
實際下單價, 比 MC 送出參考價 往後退。而不是 一般的 往前推。

pipi1122 發表於 10-11-23 17:38

真多ㄝ!!
謝謝各位大大

folkchen 發表於 10-11-23 20:56

這隻程式會不會太怪了點用432t
而且還不加成本
我的資料回測起來也是負的(不加成本)

而且上面說的負成本也有點誇張
看不太懂

無無明 發表於 10-11-24 13:47

負成本 就是 在 下單機 設定上 讓價 使用 負數來設定
一般讓價 採用 正數

信號出現時機往往是提早,或者 信號出現後 會有回測動作
是以 下單機 接到 建單價格時,實際 掛價 採用 更低 的 買價更高的賣價 去實際掛單

smallkosa 發表於 11-5-29 01:21

大大不好意在編譯的時候出現錯誤請問要如何處理謝謝

------ 建置已開始: ------
公式: "HTSTrade" (訊號)
請稍候 ....
------ 編譯時產生錯誤: ------
Capital MultiCharts does not allow using the following reserved words: DefineDLLFunc, External, External Method, Print, FileAppend, FileDelete.
errLine 0, errColumn 0, errLineEnd 0, errColumnEnd 0
編譯錯誤:(函數)
Keyword "Plot**" can't been used in this type of study
errLine 0, errColumn 0, errLineEnd 0, errColumnEnd 0
編譯錯誤:(函數)
頁: 1 [2] 3 4
查看完整版本: MultiCharts 停損追蹤守線交易程式