2015年9月1日 星期二

期貨RPT歷史回測

    歷史回測是完善交易策略的一種常用的方法, 掌握先機提供期貨RPT歷史回測工具, 幫大家完善自己的交易策略.


1.首先要有掌握先機軟體並有認證權限. 下載掌握先機Windows版本. 免費註冊掌握先機. 手機認證後全功能免費使用一個月.
 
2.進入 客戶端自定義開發->期貨RPT歷史回測範例
 
 
 
3.選擇你要回測的資料日期區間. (2000~2015的期貨RPT資料回測, 大概需要五六個小時, 我都馬是睡覺前給他放下去, 一覺醒來看到回測績效龍心大悅啊~)
 
4.選擇回測策略, 內定提供的策略有KD, 步林通道兩種. 你可以自己編寫策略 (有提供程式碼, 往下拖就可以看到~)
 
5.登入SDK, 然後按 歷史回測, 左下角開始跑進度. (歷史回測按鈕文字變成停止, 點擊可停止歷史回測)
 
 
 
6.抽根菸, 泡個茶... 再回來看回測結果.
 
    噹噹噹, 作歷史回測就是這麼簡單~~ (才怪, 自己的策略咧...)
   
    接下來就是公佈程式碼核心策略區塊囉~~~ 千萬千萬千萬不要眨眼~~
 
    InitDialog.cpp第1114行, 就是策略程式碼的位置, 各位高手可以自己在這邊增加新策略或改動舊策略.
 
switch(SDKEX6_the->m_iMode)
   {
   case 0://策略1
    GetKxDx3(9, fOldKx, fOldDx, &fKx, &fDx);//得到9KD
    //Buy handle
    if( (fOldKx <= fOldDx) && (fKx > fDx) && (fDx < 20) )//Kx往上突破Dx, 且Dx小於20
    {
     SaleHandle(&rptdata, fLimitMaxCost, &fTempCost, &fMaxCost, &tmpshtinfo, &count);
    }
    //Sale handle
    if( (fOldKx >= fOldDx) && (fKx < fDx) && (fDx > 80) )//Kx往下突破Dx, 且Dx大於80
    {
     BuyHandle(&rptdata, fLimitMaxCost, &fTempCost, &fMaxCost, &tmpshtinfo, &count);
    }
    fOldKx = fKx;
    fOldDx = fDx;
    break;
   case 1://策略2
    f20MA = GetMA3(20);//得到20MA
    d20SD = GetSD3(20);//得到標準差
    if( (f20MA > 0) && (d20SD > 0) )
    {
     //Buy handle
     if( rptdata.fPrice <= (f20MA-2*d20SD) )//價格突破步林通道下緣
     {
      BuyHandle(&rptdata, fLimitMaxCost, &fTempCost, &fMaxCost, &tmpshtinfo, &count);
     }
     //Sale handle
     if( rptdata.fPrice >= (f20MA+2*d20SD) )//價格突破步林通道上緣
     {
      SaleHandle(&rptdata, fLimitMaxCost, &fTempCost, &fMaxCost, &tmpshtinfo, &count);
     }
    }
    break;
   }

 
    要下載程式碼, 點擊 下載本範例程式 即可.(VS2010, win32開發)(程式碼整個目錄須放在掌握先機安裝目錄下)
 
    什麼, 沒有期貨RPT檔案!!! 請進入 傳送門 下載期貨RPT歷史資料 (傳送門後是混沌世界, 出現任何情況本台概不負責)
    什麼, 不會寫程式!! 之後會完成巨集功能, 就是簡單的程式, 可用巨集寫歷史回測策略. 什麼, 還是不行!!! 你的症狀挺難醫的, 信得過我就留言我幫你寫策略回測~ 信不過就沒法度囉...
 
    接下來會速度完成 期貨RPT歷史回測的K線圖, 績效圖, 成交量圖, 以及選擇權RPT歷史回測範例.  祝大家早日找到自己的勝利策略~~

    期貨RPT歷史回測 完整功能說明:

n期貨RPT壓縮檔案須放在DDE1Log目錄下, 可直接處理壓縮檔.


n登入SDK->須先登入SDK且是認證會員以上才可以使用期貨RPT歷史回測功能.


n產品名稱->產品編號塞選條件, 為傳入RPT檔案內的產品代號字串, ”TX”表台指期.


n到期月份->到期月份塞選條件, 輸入到期月份如”1”, “2”, 輸入“0”表近月.


n開始日期->開始日期塞選條件, 只有大於等於開始日期的RPT檔案才會被回測.

n結束日期->結束日期塞選條件, 只有小於等於結束日期的RPT檔案才會被回測.

n開始時間->最小時間塞選條件, 只有大於等於開始時間的資料才符合條件.

n結束時間->最大時間塞選條件, 只有小於等於結束時間的資料才符合條件. 00:00:00表不塞選.

n開始價格->最小成交價格塞選條件, 只有大於等於最小成交價格的資料才符合條件. 0表不塞選

n結束價格->最大成交價格塞選條件, 只有小於等於最大成交價格的資料才符合條件. 0表不塞選.

n開始單量->最小成交數量塞選條件, 只有大於等於最小成交量數的資料才符合條件.

n結束單量->最大成交數量塞選條件, 只有小於等於最大成交量數的資料才符合條件. 0表不塞選.

n停利點數: 買進或賣出後, 設定多少滿足點自動停利.

n停損點數: 買進或賣出後, 設定多少虧損點自動停損.

n稅與手續費轉成點數: 交易稅與手續費轉換成點數, 每筆買進或賣出會扣除一次, 可輸入小數點.

n回測策略: 依照選定策略作歷史回測, 目前有KD和布林通道兩個策略, 可在程式內自行開發專屬策略作歷史回測.

n歷史回測->依據塞選條件及設定, 塞選DDE1Log下所有期貨RPT檔案, 並依設定做歷史回測, 歷史回測買賣結果會列到列表內.

n列表選擇位置/列表總共筆數.

n點選列表表頭可依據該欄作升降冪排序.

n解析中的檔案名稱及已解析行數.

n成本: 本次歷史回測共花費成本.

n獲利: 本次歷史回測總共獲利金額.

n獲利比率: 獲利/成本, 表示幾倍的投入獲利.

n下載SDK開發說明->下載SDK開發說明, 含範例使用說明.

n下載本範例程式->下載範例程式碼, 使用VS2010, Win32製作.

n關閉->關閉範例程式.

n列表項目上按右鍵, 會出現子選單.

n選擇項加總獲利金額->加總選擇項目獲利金額.

n選擇項計算平均買進價格->計算選擇項目的平均買進價格.

n選擇項計算平均賣出價格->計算選擇項目的平均賣出價格.

n選擇項匯出文字檔->將選擇項目匯出到文字檔.


1 則留言:

  1. 您好,請問程式還有在維護嗎?
    想要下載RPT檔。

    回覆刪除