Multicharts偵測Excel (DDE)
Excel變動資料傳遞至Multicharts
1.安裝原廠Multicharts及下載OMSignTxt64.dll(可前往下單大師下載)
https://www.multicharts.com/download/
2.安裝完成後,右鍵用管理員執行進入MultiCharts64 PowerLanguage Editor 先進入編寫程式
3.選擇File > New > 選擇 Indicator > 填寫取的名字
4.
貼上此程式碼
DefineDLLFunc: "D:\路徑\OMSignTxt64.dll",bool,"GoOrderTxt",LPSTR,int,double,LPSTR;
input:omTXT("D:\路徑\signal.txt");
var:nowposition(0),signDTStr("");
nowposition = i_MarketPosition * i_CurrentContracts;
//signDTStr = getexchangename+","+getsymbolname+","+NumToStr(D,0) + "," + NumToStr(Q_Time,0);
signDTStr = "3,"+"XBTUSD,"+"BTC,"+"1,"+"MARKET";
if LastBaronChart then
GoOrderTxt(signDTStr, nowposition, Close,omTXT);
DefineDLLFunc 宣告載入我們的OMSignTxt64 dll 以及方法
input:變數(丟進來的參數)
var:變數
getexchangename 取得交易所
getsymbolname 取得定義名稱
5.寫完之後,請點擊Compile
6.執行完成後,則可將此關閉,因為已經編譯寫入MultiCharts
7.接著開啟 MultiCharts64 QuoteManager 加入整合,一樣要用系統管理員進入
8.進入後先導入資料源 Tools > Data Sources
備註:原本應該會沒有Edit , Clone , Delete 需要修改機碼
一、開啟放大鏡,輸入regedit
二、開啟後,請找尋 HKEY_CURRENT_USER > Software > TS Suppot > MultiCharts64 > QuoteManager
三、在這資料夾上新增一筆DWORD(32bit)值,名稱為MC-13118,數值資料代入1
四、接著回去後即可顯示出複製等功能
接著跳回原本地方 MultiCharts64 QuoteManager
9.首先複製一個Universal DDE
Data Source Name : 請自己取名
Data Source Abbr: 輸入三碼定義
10.建立完成後,請選擇原本建立的,點擊Settings
11.目前先用此來寫
Template:代入excel.exe
這些 =EXCEL|Test.xlsx!* 實際上原本DDE都是來自於每個欄位上面的公式
在此我們就是代入 =EXCEL|要偵測的Excel檔名!*
左下角可以使用Test按鍵測試資料
備註:20190130新加入
12.接著我們先建立一個Excel到桌面,任意取名,將此Excel填入檔名填入我們上面步驟,(商品代號及成交價都是我自己亂寫代入的)
13.接著將Excel繼續開著
14.接著選擇左上方增加一個Symbol
15.Data Source選擇我們做好的DataSource
Symbol:填入 R2C2 就代表要偵測 第幾列第幾行 (直行橫列)
Category:我們則是使用Cryptocurrencies
Exchange:我們則是使用BITFINEX
按下OK
接著會跳出Edit Symbol
由於我們是採用BITFINEX模式裡面,所以其他設定都不用動
完成以後回到Symbol列表,選擇你要的Symbol做右鍵 > Connect Symbol , 成功就會在最右邊有Received
16. 如果需要Import 歷史資料,我們則是選擇要Import的右鍵 > Import Data > ASCII
由於我手上有bitmex BTC-USD 的每天、每一小時、每五分鐘歷史資料csv
裡面格式
Date,Time,Open,High,Low,Close,Volume
所以可以匯入歷史資料
選擇好資料後按下OK
完成後則會跳出提醒,但如果有些資料有狀況也可以嘗試SkipAll看看
17.完成後,我們就關閉此程式,開啟我們的MultiCharts64,一樣使用右鍵系統管理員進入,並增加一格工作視窗
18.開啟後 右鍵 > Chart Window >會跳出一個視窗> 請選擇你們偵測來源
Setting 我則是輸入
Resolution 60 分鐘 --> new 20190130 使用 1 Tick 之類最快
Sessions 24Hour
From 我要的日期範圍 這邊代入2015/1/1 To 今天
Style則是選擇Candlestick
此時資料匯入進入並且呈現於畫面中
接著如果
文字檔要對此畫面做匯入
左上角 Insert > Insert Study > 選擇編譯完的Name > 跳出一個畫面,什麼都不用動,上面有寫你要輸出的文字檔到哪裡,直接確定
就可以去文字檔內有沒有訊號儲存進來
如何加入策略
左上角Insert > 選擇Signal > 選擇自己使用MultiCharts64 PowerLanguage Editor撰寫的策略程式 ( 0變1 1變0這類這資訊就是來自於策略)