第一步、將 FeederAPI.ex5 、 FeederAPI-64.dll 複製到 MQL5\Libraries 目錄底下。

第二步、新增 FeederLite.mq5 文件,類型選擇 Scripts 用來輸出即時報價到行情伺服器。

// 啟用輸入參數
#property script_show_inputs

// 導入類別庫
#import "FeederAPI.ex5"

// 導入標頭檔
#include <MT\FeederAPI.mqh>

// 連線位址或連線域名
input string   SERVER_HOST = "127.0.0.1";

// 連線端口
input int      SERVER_PORT = 443;

// 建立連線
bool CFeederScript::Init(void)
{
    m_api.SetTimeZone(offset);     // 設定時區轉換
    return m_api.Connect(SERVER_HOST, SERVER_PORT);
}

// 發送報價
void CFeederScript::OnTick(void)
{
   Code = Symbol;
   StringReplace(Code, ".US", ""); // 去除商品結尾名稱
   m_api.SendTick(Exchange,
                  Code,
                  Date,            // 轉換成標準格式:yyyyMMdd
                  Time,            // 轉換成標準格式:HHmmss
                  last,
                  volume,
                  bid,             // 傳入委買價量
                  ask,             // 傳入委賣價量
                  totalvolume);    // 成交量需越來越大
}

// 中斷連線
void CFeederScript::Deinit(void)
{
   m_api.Disconnect();
}

第三步、把想輸出的商品先加到市場報價清單,然後腳本就會自動轉發即時報價。

第四步、新增 FeederLite 到圖表,輸入交易所代碼跟連線資訊 (群益外匯王平台時區是 + 8,NASDAQ 交易所時區是 -5 ,兩邊相差 13 個小時,但現在是夏令時間,所以 TIME_ZONE 只要輸入 -12 往前轉換 12 個小時)。

第五步、勾選允許導入 DLL 才能正常使用動態連結函式庫。

第六步、商品交易時間也要調整成美股當地交易時間。

第七步、切換到客戶分頁查看目前客戶端連線狀態。

第八步、切換到商品分頁查看目前正在發送商品清單。

第九步、回到 MultiCharts 就能收到 API 即時轉發出來的報價。

第十步、打開 Robo 3T 查看資料有沒有正常存檔,之後回補歷史行情會用到。

  • 測試影片:

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *