[英]Alternative to MQL5
我從MetaTrader Terminal
軟件上的MetaTrader Terminal
交易開始,我有很多算法可以使用。 這些算法是在MATLAB
使用其強大的內置函數(例如svd
, pinv
, fft
)開發的。 為了測試我的算法,我有一些選擇:
MQL5
編寫所有算法。 C++
編寫算法,然后使MQL5
調用DLL
。 Python
編寫算法以嵌入C
並生成DLL
。 MATLAB
源代碼轉換為C
,然后生成一個DLL
。 關於問題:
MQL5
沒有內置函數,因此我將不得不手動實現一個。 C
編寫了一些算法,但是花了很多時間,結果卻不像MATLAB
那樣快)。 DLL
時,我會遇到很多錯誤,但如果編譯為可執行文件,就不會出錯(這是一個很好的選擇,因為將MATLAB
轉換為python
非常容易且快速)。 我研究了其他類似軟件,例如MetaTrader Terminal
但沒有找到一個好的軟件。
我想知道,是否存在一種最簡單(最快)的方式將其他語言以某種方式嵌入到MQL5
或我的問題的某種替代方式。
謝謝。
出於類似的動機,在外部定量模型中使用非MQL4
代碼進行快速復雜的外匯交易,我已經開始同時使用兩種方法{ MATLAB | python | ... }
{ MATLAB | python | ... }
{ MATLAB | python | ... }
和MetaTrader Terminal
環境以異構分布式處理系統的互連形式存在。
MQL4
部分負責:
anAsyncFxMarketEventFLOW
處理 aZmqInteractionFRAMEWORK
設置和參與消息模式處理 anFxTradeManagementPOLICY
處理 anFxTradeDetectorPolicyREQUESTOR
將分析RQST
-s發送到遠程AI / ML預測器 anFxTradeEntryPolicyEXECUTOR
處理 { MATLAB | python | ... }
{ MATLAB | python | ... }
部分負責:
aZmqInteractionFRAMEWORK
設置和參與消息模式處理
anFxTradeDetectorPolicyPROCESSOR
接收與加工分析RQST
從遠程-s到{ MQL4 | ... }
{ MQL4 | ... }
請求者
anFxTradeEntryPolicyREQUESTOR
將交易進入請求發送到遠程{ MQL4 | other-platform | ... }
{ MQL4 | other-platform | ... }
{ MQL4 | other-platform | ... }
-market-interface-node(s)
核心優勢在於重用 MATLAB
和其他COTS AI/ML
軟件包的優勢,而無需對仍在逐漸發展的MQL4
接口選項進行逆向工程(是的,在最近幾年中,DLL接口受到了來自較新的更新(字符串不再是字符串,而開始成為結構(!!!)等)–在維護代碼庫的情況下,許多人*多年的痛苦,因此應該避免一些刻骨銘心的經歷。 ..)。
下一個優點是能夠增加故障恢復能力 。 分布式系統可以在(1 + N)受保護的陰影下工作。
下一個優勢是能夠提高性能 。 分布式系統可以提供處理器池-在{ SEQ | PAR }
{ SEQ | PAR }
-操作模式(流水線過程或並行形式的過程執行)。
MATLAB
節點剛剛加入:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% MATLAB script to setup
zeromq-matlab
clear all;
if ~ispc
s1 = zmq( 'subscribe', 'ipc', 'MATLAB' ); %% using IPC transport on <localhost>
else
disp( '0MQ IPC not supported on Windows.' )
disp( 'Setup TCP transport class instead' )
disp( 'Setting up TCP') %% using TCP transport on <localhost>
s1 = zmq( 'subscribe', 'tcp', 'localhost', 5555 );
end
recv_data1 = []; %% setup RECV buffer
這就是說,一方面可以保持優勢,另一方面可以避免已實施的本機高性能調整庫的任何形式的重復 ,而分布式操作模式還為Expert Advisor
方法的操作增加了一些全新的潛在好處。
CLI
) MetaTrader Terminal
內部使用GPU / GPU網格計算 MetaTrader Terminal
編程模型的其他文章 MATLAB
已經有了ZeroMQ
Communication Framework的端口 ,與MetaTrader Terminal
一樣,這要歸功於Austin CONRAD的包裝器(盡管MQH
與ver 2.1.11
DLL接口,但所需的服務卻像魅力一樣起作用),因此您已經准備就緒在每個方面都可以使用它,因此這些類型的節點可以以可以設計成真正異構的分布式系統的任何形式加入它們各自的角色。
我最近的研發工作使用python
端進程的多個實例來操作AI/ML-predictor
, r/KBD
, r/RealTimeANALYSER
和集中化的r/LOG
服務,這些服務在許多PUSH/PULL
+ XREQ/XREP
+ PUB/SUB
PUSH/PULL
得到了積極使用PUB/SUB
可擴展形式化通信模式,來自MetaTrader Terminal
-s的多個實例,分別具有各自的MQL4
代碼。
MATLAB
函數可以以相同的方式重復使用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.