Stefan
09.02 2018
這篇要教大家如何將 MultiCharts 的策略改寫,讓它能夠在 PTMC 上運作。MultiCharts 策略範例來自於 老余的金融筆記 :inputs: Price(close), Len(12);
vars: var1(0);
var1=RSI(Price,len);
if marketposition=0 and var1 >52 then begin
buy("buy") next bar at market;
end;
if marketpositon=0 and var1 < 48 then begin
sellshort("sell") next bar at market;
end;
if marketposition>0 and var1 <48 then begin
sell("exit_buy) next bar at market;
end;
if market...
Stefan
09.02 2018
指標是用來判斷進出場時機點的依據,更是一套交易策略當中不可或缺的一部份,以下我們會以 RSI 指標為例當作示範。1. 首先宣告一個指標變數,取名為 RSIpublic Indicator Rsi;接著將游標到下方 Init() 函式,準備將此變數初始化2. 輸入Rsi = Indicators.iRSI3. 在 iRSI 處點擊右鍵,選擇 "移至定義",查詢後面可以使用哪些參數,同時我們也可以看到 AlgoStudio 支援哪些指標,各位使用者也不用擔心沒辦法新增自己寫的指標,之後也會向大家說明如何新增自己的指標。4. 這邊我們選擇這個函式public Indicator iRSI(HistoricalData data, int period, RSIMode mode, PriceType pricetype);改寫成public Indicator iRSI(CurrentData, Len, RSIMode simple, PriceType Close );然後為了能夠順利執行 RSIMode ,我們要在一開始 namespace 的地方補上using PTLRuntime.NETScript.Indicators5. 這樣我們就完成了一個 RSI 指標的宣告跟初始化。
Stefan
09.02 2018
在我們執行交易策略之前,都會需要先輸入一些相關的參數,例如使用哪種 K 棒、商品等等,本篇要教大家如何新增一個 "K 棒數"的參數到交易策略裡面
1. 在程式碼開始處加入[ InputParameter() ]接著對 InputParameter 點擊右鍵,選擇 "移至定義",查詢此函式後面可以接哪些參數2. 接下來會看到 InputParameter() 這個函式的相關寫法,我們採用以下這種public InputParameterAttribute(string comment, int orderNumber, double min, double max);string comment - 參數名稱int orderNumber - 參數在畫面上的排列位置順序double min - 參數最小值double max - 參數最大值所以我們依此說明將 InputParameter() 改寫為[ InputParameter("K棒數", 0, 1, 100) ]3. 接著我們要指定這個參數一開始的預設值是多少,我們在 InputParameter 函式後面新增一段public int Len 12;將 "K棒數" 的預設值設定成 12 4. 輸入完就進行編譯,確認編譯成功之後,將產生的檔案複製到 PTMC 的文件目錄底下。5....
Stefan
08.02 2018
大家好,本篇要教大家如何新增一個交易策略到 PTMC 上。PTMC 版本開啟 AlgoStudio 後,我們可以在 View 選單當中選擇我們自己習慣的介面語言。1. 在左上方的「文件」選單,選擇「新模組」。2. 接下來依照我們要開發的目標不同,而有不同的選項提供選擇:「指標」、「交易系統」、「巨集」、「自定義列」。本篇教學我們以「交易系統」為主3. 點擊下一步之後可以自行命名專案名稱、儲存路徑4. 點擊建立之後,我們會看到許多密密麻麻的程式碼,首先會看一個以專案名稱為名的 class,這個 class 包含了以下函式:.base.Init.OnQuote.Complete5. 將相關的函式編寫完成之後,就可以到「執行」選單中選擇「編譯」,編譯成功後,即可在 文件 >> ProtraderMC >> My scripts >> bin >> strategies 資料中,產生這個交易系統的 .dll 檔。6. 到 PTMC 的「工具」選單,選擇「交易系統集」,會出現一個新的視窗。點擊左上角的加號,即可看到我們剛才產生的交易系統。7. 在右邊的面板可以看到剛剛在 base 函式下的資訊,也可以讓我們選擇我們要使用的帳戶、商品、線型等等8. 設定完成之後,點擊「開始」欄位的按鈕,即可開始執行策略。
Visual Studio 版本:1. 開啟 Visual Studio 後,選擇「檔案」 >> 「新增」 >> 「專案」 >> 「AlgoStudio」 >> 「Strategy」2. 視窗下側可以自行命名專案名稱以及設定儲存位置,也內建一些範例提供給使用者做簡單的修改套用。3. 專案預設的程式碼中,上面的是會用到 namespace,下面才是程式的主體,classname 就是此專案的名稱,裡面也已經預設好四個函式:base、Init、OnQuote、Complete4....
Stefan
08.02 2018
Stefan
19.10 2017
加密貨幣的市場愈來愈熱絡,專業的交易員,尤其是 retail trader 也對此感到濃厚興趣。PTMC 當然也不落人後,也開始著手支援相關交易所的準備,以下就是串接到 Poloniex 交易所的教學。( Poloniex 交易所是全球數一數二的加密貨幣交易所,可以支援 90 種加密貨幣的交易配對)1. 首先在 Poloniex 交易所建立一個交易帳戶到 Poloniex 官方網站,點擊 "Create Your Account" 並填寫相關資料後,就會有一封驗證信寄到信箱。2. 同意保證金交易使用條款在網頁登入之後,點選 "Balances" -> "Transfer Balances",勾選同意使用條款並送出。(如您是今天第一次註冊的話,系統會要求您補齊相關證件並待審核過後,才有能夠送出)3. 獲得 API key 以及密鑰在 Poloniex 網站中的設定介面,選擇 "API Key" ,點擊 "Enable API" 以啟用 API Key,會有一封驗證信寄到信箱確認是您本人開啟 API 功能,點擊信中的驗證連結之後會導向新的頁面,這次點擊 "Create New Key",會再次收到一封驗證信(真是嚴謹啊…),點擊驗證連結之後就會看到 API 的詳細資訊。4. 調整 PTMC 的串接設定接下來請開啟 PTMC 主程式,點選右下方的設定按鈕,選取 Crypto Exchange,將剛剛得到的 API Key...
Stefan
18.10 2017
這篇文章轉載自:https://chaolongzhang.github.io/2015/dotnet-call-python/
作者: 張行之
與各位 PTMC 的開發者們分享,往後在開發交易策略時有更方便的環境。
-------------------------------
前言InronPython是一种在.NET和Mono上实现的Python语言,使用InronPython就可以在.NET环境中调用Python代码,非常方便。
本文主要介绍在C#中调用Python代码,并使用Python安装的第三方模块。
安装InronPython要在.NET环境中使用Python,先要安装InronPython(当然也要安装Python),安装很简单,直接下载安装就行。在CodePlex就有下载,下载地址:
http://ironpython.net/
https://ironpython.codeplex.com/
还可以把Python Tools for Visual Studio也安装了。
使用添加引用库在Visual Studio新建一个工程后,添加引用IronPython.dll和Microsoft.Scripting.dll(位于InronPython的安装目录下,如下图)。
C#代码内嵌Python最简单的使用方式如下:
var engine = IronPython.Hosting.Python.CreateEngine();
engine.CreateScriptSourceFromString("print 'hello world!'").Execute();
从文件中加载Python代码一般情况下我们还是要把Python代码单独写在文件中。在工程中新建一个Python文件,如hello.py,并设置其属性Copy to Output Directory的值为Copy if newer。在hello.py下编写如下代码:
def say_hello():
print "hello!"
def get_text():
return "text from hello.py"
def add(arg1, arg2):
return arg1 + arg2
C#代码如下:
var engine = IronPython.Hosting.Python.CreateEngine();...
If you're familiar with the futures trading, you are highly likely to be heard of such words as "contango" and "backwardation". But if you still did not hear about these concepts - we're here to help! Hope this article can help you to get more familiar with these terms and turn the weakness into the...
tom
15.05 2017
PTMC 試用帳號 登入流程 在申請 PTMC 申請試用之前,請各位先到兆毅 PTMC 官網註冊會員,這樣我們才能幫各位開通授權。 註冊完成之後,請來信 service@kcdatanet.com 告知您需要開通 PTMC 試用授權並附上您的 PTMC 帳號名稱。客服人員幫您開通試用授權之後,會寄信通知您,您方可使用兆毅 PTMC 官網的帳號密碼登入 PTMC 主程式。輸入兆毅 PTMC 官網會員帳號密碼:登入後,輸入欲使用的經紀商帳號密碼: 如果您沒有券商帳號,建議您至各經紀商申請 Demo 帳號,或是請另外寄信到 service@kcdatanet.com 請兆毅客服幫忙申請 Protrader Demo 帳號,但所需時間不定,強烈建議您還是向各經紀商申請 Demo 帳號。 進入後點選右下角黃色圖示,即可觀察 License 狀態;點選藍色方塊,即可切換至不同經紀商。
Mac
20.04 2017
隨著越來越多的金融商品不斷出現,及交易技巧的不斷演化,透過想像與直覺來做交易的時代已經結束。然而,要在眾多交易平台中區分出哪些平台是玩真的還是玩假的並不是一件容易的事情。這就是超出任何想像,也是 PTMC 平台的優勢所在。
現在,透過 PTMC 與 R 的整合,可更有效的使用強大的高等數學和統計功能,讓您的交易策略更加有效並提升獲利。
1. 安裝 R 用戶端下載並安裝 R-client https://cran.r-project.org/bin/windows/base/R-3.4.3-win.exe
2. 在專案中綁定 R 環境您可以透過下列幾種方式來呼叫 R:
將 NuGet 套件加入到專案中以便使用 R 環境
使用中繼的 CSV 資料格式 (*.csv)
使用 console 來進行工作,並從 console 中讀取結果
COM 連接
最快最簡單的是使用第一種方式。但是,在這邊有一些小問題需要說明。目前R.NET 專案的開發和支援已經停止,現在專案已經被移轉到 R.NET 社群。即便我們將原始碼重新封裝,或將目前的版本替換為舊版本,之前的套件也無法使用。
而其它的方案則需要花更多時間,而且其中有些執行的速度極慢。
在將 NuGet 套件連接到專案之後,您需要建立一個 REngine 類別的實體以便與 R 環境一起使用並將其初始化:
/// <summary> starts R engine
void StartEngine()
{...