2018年2月11日 星期日

智能風險管理系統:myCTA


你手上已有數個交易策略,卻擔心或無法決定如何執行這些策略?
你對策略何時上架、下架、該投入多少資金到個別策略感到困難?
你想適度降低隔夜風險,卻又不想改寫手上僅有日盤設計的策略?
你還困惑於是否該在策略中或是策略組合去設計加、減碼的機制?

把 Dataram 的 RAMDISK 設為 NTFS



過去沒有嘗試把 myCTA / SmatCTA 所需要用到跨圖表傳遞的資訊,都盡量採用文字檔的方式來存取時,不大會發現 FAT32 有什麼問題。但是,當策略圖表大量增加到某種程度以上後,慢慢會發現我要存取的檔案怎麼... 怪怪的?因為,在 FAT32 的檔案系統下,單一目錄下的檔案數量有上限

於是,我們需要把 RAMDISK 的檔案系統,換成 NTFS。也許不同家的 RAMDISK 軟體,可以直接指定檔案系統,但我已經花錢買了的 Dataram RAMDISK 就沒有指定成 NTFS 的選項。所以,我們需要做點處理。

2018年2月4日 星期日

函數:判斷商品當下是否有在交易中


由於正在往國外期貨做更多的努力,也陸陸續續碰到很多問題,維運方面或是策略、管理對不同市場、商品的自動適應都有。

這是為了在做出下單動作的時候,先判斷一下目前該商品,是否處於可交易的狀態?因為我自己已經發生多次,輸出部位的文字檔改變了,卻在該商品沒有交易的時段 XDDD


函數: _isTrading。回傳:True / False。
var: intrabarpersist volToday(0), intrabarpersist volUpdateTime(0),
     intrabarpersist TimeValue(0), intrabarpersist isTrading(false);


if LastBarOnChart then begin
  
  value1= currentTime_s;
  value2= HoursFromDateTime( ELTimeToDateTime_s(value1) );
  value3= MinutesFromDateTime( ELTimeToDateTime_s(value1) );
  value4= SecondsFromDateTime( ELTimeToDateTime_s(value1) );
  TimeValue= value2*3600 + value3*60 + value4;
  
  once volToday= q_ask*q_bid + q_totalvolume; 

  if (q_ask*q_bid+q_totalvolume) <> volToday then begin
    volUpdateTime= TimeValue;
    volToday= (q_ask*q_bid+q_totalvolume);
  end;
  
  _isTrading= TimeValue-volUpdateTime < 60 and volUpdateTime <> 0 
              and q_bid*q_ask <> 0 and q_bid <> q_ask;

end;

2017年12月19日 星期二

函數:讓數字以千分位形式顯示


在製作介面的時候,有關於資金量的顯示,如果是短短的萬元以下,通常我們的人眼辨識沒有什麼問題,當數字位數多一些起來時,往往就會有辨識解讀的困擾(這是一種略帶快樂的麻煩嗎?)

然而 MultiCharts 內建的數字顯示形式的功能,我只看到 :7:0 這類的方式,好像沒有看到以千分位加個逗號的形式?因此,自己就做了個函數,在數字最後要顯示在畫面上時,可以用千分位加逗號的文字型態來表現。

2017年10月5日 星期四

疑惑:MultiCharts11 的 plot


把交易機的 MultiCharts 升級上 11後發現,T+1盤的監視畫面,所有 plot 的數據都不會動?難道,ReCalacLastbarAfter 在 MC_11 卻給廢了?不可能吧...

於是,我做了點實驗,分別寫了個訊號與指標,都在盤後(沒有 tick event) 靠 ReCalacLastbarAfter 強迫程式重 Run 來顯示 CurrentTime_s,看看這個指令是否還有作用?

2017年10月3日 星期二

Touchance 的報價服務,併筆或不是併筆?


大約兩三年前,我開始使用 Touchance 的報價服務,當時我聽說 Touchance 報價快是因為"併筆"關係。這也是有好一段歷史故事了,可以參考故事傳送門。另外我記得應該有一篇 立偉兄 解釋的 Touchance 報價的併筆原理解釋,暫時找不到。

因為,我個人有在觀察每天收到的 tick 數量,有一個現象一直加深我認定 Touchance 報價就是併筆的現象:從艾揚報價所收到的 tick 數量相對 Kway 的少很多,但是把當日所有 tick 的成交量做加總,卻又沒有多少差異,這個現象每天都在發生,更讓我認定 Touchance 的報價服務就併筆的。

2017年9月29日 星期五

函數:_fancyDailyEquity


在開發交易管理系統的早期,我注意到給策略做評價的 KPI 計算出來的分數會出現負數,而負數的出現自然是被評估的那個策略實在太爛的關係。然而所謂的策略績效表現太爛,通常不是策略訊號本身就衰到爆,卻往往是交易成本(稅、費、滑價)把訊號本身的價差獲利吃乾抹淨所致。也就是我常在講座、課程中提到的:我們手上策略賺不了錢的絕大部分原因,是被賭場抽頭給抽死的。

近期,好友(就是凌波微步大)與我討論到把賠到不行的策略對做這件事(他也有發文講這事)。真的要做的話,我們第一件要做的事情就是先把策略績效中的交易成本因素剔除。

由於我們還打算跟超級爛策略對做(你叫多單,我就下空單),所以最好把策略績效修改成,每做一筆交易就算平出也能拿到獎金,如果在這種條件下,還能做到賠錢,那真無疑是地獄倒楣鬼:一空就漲、一多就跌。因此,我先寫個函數來把原始策略績效改成剔除交易成本還附送獎金,產生負面評估的原始材料。

熱門文章