Multicharts與Excel動態整合圖表

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這類這資訊就是來自於策略)