2018年11月15日 星期四

購買 myCTA 與維護方案


myCTA 是適用於台指期貨的交易管理系統,運作在 MultiCharts 之上。你的交易策略必須是在 MultiCharts 上執行才能使用 myCTA。專業版或券商版皆可使用。

myCTA 會自動依你選用的績效指標幫你的交易策略做資金分配、並依照各策略圖表的動態風險評估做部位換算、還可依照個人意願設定的風險承受做自動槓桿縮放。換言之,您只需準備好自己的策略圖表,myCTA 就能幫你自動做好再投資、風險平衡這些很重要的資金、策略管理工作,協助你的交易事業規避毀滅可能的發生。

發展、運行交易事業,再也不必投入多年心血在這些煩悶但重要的工作上,您只需把心力投注在真正為你的事業創造利潤的項目-交易策略。不論您是要自行開發、對外採購、甚至採用一些 Data mining 軟體產生的策略。不必煩惱策略何時上下架?不必煩惱獲利、損失發生了,部位何時對應調整?您可以利用 myCTA 來幫你做對人性方面很困擾的工作,並架設帳戶安全網。


myCTA 就好比是千陽號,您還是需要優秀的船員(交易策略)! myCTA 提供的是一個堅強的船體,讓你在偉大航道上冒險時有足夠的後援,承受在某些船員出包時,我們還能海上繼續旅程而不致沉沒。





軟體方案(費用 12,000元 / 套):授權對象為 MultiCharts 的 User ID ,包含實機交付或遠端幫您做安裝設定、下單大師的安裝設定。myCTA 版本即為購買當時,與我使用的版本相同。

維運方案(費用 10,000元 / 季):須購買 myCTA,為你建立日常維運系統,包含交易電腦的自我檢測與自動故障排除、建置異地備援第二電腦異常訊息通報、日常交易狀況巡視、其他需人工校正的工作、相關交易環境建置的顧問諮詢與建議
維護方案有效期間提供免費 myCTA 版本更新(代為更新安裝)、不定期贈送策略程式碼。一年期的維護方案,費用 35,000元。《本方案因涉及日常性的代為執行電腦操作,需簽訂授權書》。


※ myCTA 的授權時間皆為永久、不限制您交易多少帳戶、資金。
※ myCTA 支援無限數量模擬帳戶,於安裝時一律把各項內建的績效評估指標都開立模擬帳戶,方便日後觀察哪一種策略績效指標對您的策略組合效益最佳。

其他所需更詳細資訊請洽:syc.tseng@gmail.com


使用 myCTA 會在你的策略圖表上放置指標,如下:

負責資金、策略管理與模擬帳戶(下單部位)的圖表如下:

2018年10月31日 星期三

讓 MultiCharts 隨意執行外部程式


起因於上過 myCTA 課程的同學問了我個問題:「有沒有讓 MultiCharts 可以直接發 mail 的函數或是指令?」就我個人的印象:沒有。只記得可以透過 alert 去觸發凱衛報價元件的警報通知來發 mail,從 MC 直接來的應該沒有。比如我自己現在沒使用凱衛的報價服務,就無法透過這個管道。

日常維運需要的訊息通知發送,我都是仰賴下單大師本身的錯誤通報功能與自己用 AutoIT 做出來的發 mail 用的 .exe 來實現,還得配合 MacroExpress 才做到應我自己的需要去發送通知及其他應用。但在上回已經能利用 kernel32.dll 來做文字檔的讀取工作後,想到 windows API 應該也會有這方面的功能、應用吧?幾經搜尋下,線索指向了 shell32.dll,看了 shell32.dll 的 call fuction list 後,對於如何在 MultiCharts 引用,還是不得其門。

2018年10月4日 星期四

函數在迴圈內時,也許跟你想得不一樣?


如果你需要在程式碼中處理有特定規律且重複做的事情,通常會直覺的想要用迴圈去做。比如:我要讀取很多個有檔名規律的文字檔,這樣寫... 很一般、普通、正常吧

var: j(0), fileName("");
array: getting[11](0);

for j=1 to 10 begin
  fileName= "F:\" + NumToStr(j,0) + ".txt";
  getting[j]= _readTXT( fileName );
end;


但是在 MultiCharts,我卻發現這會跟我們想像的不大一樣~ 至少,上面那樣寫的效果,跟下面這麼寫的就不見得會相同咧(以下這種寫法才不大正常啊 XD)。

array: getting[11](0);

getting[1]= _readTXT( "F:\1.txt" );
getting[2]= _readTXT( "F:\2.txt" );
getting[3]= _readTXT( "F:\3.txt" );
getting[4]= _readTXT( "F:\4.txt" );
getting[5]= _readTXT( "F:\5.txt" );
getting[6]= _readTXT( "F:\6.txt" );
getting[7]= _readTXT( "F:\7.txt" );
getting[8]= _readTXT( "F:\8.txt" );
getting[9]= _readTXT( "F:\91.txt" );
getting[10]= _readTXT( "F:\10.txt" );

後文就是分享上述這個為何所得不相同的測試、觀察與結論。
====================

2018年9月27日 星期四

函數(_priceTWS):適應台股最小跳動的價格轉換


台灣股票的最小跳動間距,算是自外於國際現況,會因為股價高低而有不同的最小跳動,相關規則可參考:https://dh3p7.app.goo.gl/vBs5

這個函數的用途在於,我們在編寫交易策略的時候,常常會有指定價位的 stop 或是 limit 交易指令,如果我們指定的價格(比如:往上碰到5日均線時買進,往下觸到布林通道下緣出場)沒有經過處理轉換,又剛好下單機是採掛價送單的話,就會出現掛價不存在而遭退單。

就算你是看股票現貨做股票期貨也是一樣的狀況,所以,我們會需要一個函數來幫忙把指定價格轉換成在該價格對應到符合最小跳動規格的正確數字。

函數 _priceTWS,參數:輸入你要指定的價位,傳回數值。
input: price(Numeric);
var: tick(0), grand(0);

switch( price ) 
begin

  case >1000:
    begin
      tick= 5;
      grand= 1000;
    end;

  case 500 to 999.9:
    begin
      tick= 1;
      grand= 500;
    end;

  case 100 to 499.9:
    begin
      tick= 0.5;
      grand= 100;
    end;

  case 50 to 99.999:
    begin
      tick= 0.1;
      grand= 50;
    end;

  case 10 to 49.999:
    begin
      tick= 0.05;
      grand= 10;
    end;

  case <10:
    begin
      tick= 0.01;
      grand= 0;
    end;

end;



_priceTWS= grand + round( (price-grand)/tick, 0) * tick;



使用舉例:

var: MA1(0), MA2(0), MA3(0);
var: toBuy(0), toSell(0);

MA1=  Average( C, 5 );
MA2= Average( C, 20 );
MA3= Average( C, 60 );

toBuy= _priceTWS( maxlist( MA1, MA2, MA3 ) );
toSell= _priceTWS( minlist( MA1, MA2, MA3 ) );

if marketposition=0 and Close>MA1 and MA1>MA1[1] then
  buy next bar toBuy stop;

if marketposition>0 then
  sell next bar toSell stop;

2018年7月2日 星期一

函數(_isSettlementDay):多商品版結算日判斷


這篇文章的緣由有兩個,一是這個函數能比較多的適用在不同商品的結算日判斷,二是應該還有許多人對於在函數中的參數對宣告成 Reference 型態的使用感到疑惑。

本文所分享的函數 code 原作不是我,出處來自:https://goo.gl/7Nni3p 的第三樓。
感謝 Vincez 的分享,原始 code 請自行連過去閱讀。

2018年2月11日 星期日

智能風險管理系統:myCTA


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

把 Dataram 的 RAMDISK 設為 NTFS



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

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

熱門文章