最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

量化交易軟件:交易員生存訣竅若干測試的比較報告

2023-07-24 17:01 作者:bili_45793681098  | 我要投稿

1. 輸入?yún)?shù)。選則一款智能交易系統(tǒng)進行測試

由于我的計算機有四個內(nèi)核, 我只能運行四個測試代理。因此, 并發(fā) (或有幾秒鐘的小延遲), 我只能運行四個終端, 即每個代理占用一個終端。這就是為什么在輸入?yún)?shù)中有四組可用設(shè)置的原因:


編輯切換為居中


參數(shù):

  • 赫茲量化r#ххх 的安裝文件夾

  • 終端 #xxx 的測試品種

  • 終端 #xxx 的測試周期

  • 正確的終端文件名

  • 暫歇的毫秒數(shù) — 從屬終端之間的啟動暫停

  • 開始測試日期 (僅年, 月和日)

  • 結(jié)束測試日期 (僅年, 月和日)

  • 初始本金

  • 杠桿

編輯切換為居中

在基本算法開始之前, 赫茲量化需要鏈接從屬終端的安裝文件夾和 AppData 文件夾中的數(shù)據(jù)目錄。此處是一個簡單的腳本 Check_TerminalPaths.mq5:

//+------------------------------------------------------------------+ //| ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Check_TerminalPaths.mq5 | //| ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 版權(quán)所有 2009, MetaQuotes 軟件公司| //| ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "2009, MetaQuotes 軟件公司" #property link ? ? ?"https://www.mql5.com" #property version ? "1.00" //+------------------------------------------------------------------+ //| 腳本程序開始函數(shù) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?| //+------------------------------------------------------------------+ void OnStart() ?{ //--- ? Print("TERMINAL_PATH = ",TerminalInfoString(TERMINAL_PATH)); ? Print("TERMINAL_DATA_PATH = ",TerminalInfoString(TERMINAL_DATA_PATH)); ? Print("TERMINAL_COMMONDATA_PATH = ",TerminalInfoString(TERMINAL_COMMONDATA_PATH)); ?} //+------------------------------------------------------------------+

腳本打印三個參數(shù):

  • TERMINAL_PATH — 終端運行所在的文件夾

  • TERMINAL_DATA_PATH — 終端數(shù)據(jù)存儲的文件夾

  • TERMINAL_COMMONDATA_PATH — 計算機上所有安裝終端的公共文件夾

三個終端的示例 (它們當中之一使用 /Portable 鍵運行):

// 終端啟動為主要模式 TERMINAL_PATH = C:\Program Files\MetaTrader 5 TERMINAL_DATA_PATH = C:\Users\KVN\AppData\Roaming\MetaQuotes\Terminal\D0E8209F77C8CF37AD8BF550E51FF075 TERMINAL_COMMONDATA_PATH = C:\Users\KVN\AppData\Roaming\MetaQuotes\Terminal\Common // 終端啟動為主要模式 TERMINAL_PATH = D:\MetaTrader 5 3 TERMINAL_DATA_PATH = C:\Users\KVN\AppData\Roaming\MetaQuotes\Terminal\0C46DDCEB43080B0EC647E0C66170465 TERMINAL_COMMONDATA_PATH = C:\Users\KVN\AppData\Roaming\MetaQuotes\Terminal\Common // 終端啟動為可移動模式 TERMINAL_PATH = D:\MetaTrader 5 5 TERMINAL_DATA_PATH = D:\MetaTrader 5 5 TERMINAL_COMMONDATA_PATH = C:\Users\KVN\AppData\Roaming\MetaQuotes\Terminal\Common

您可閱讀我以前的一篇文章的以下段落, 了解有關(guān)終端文件夾和 AppData 中文件夾的對應(yīng)關(guān)系的更多信息:

  • 在 AppData 文件夾中綁定安裝文件夾和數(shù)據(jù)目錄

  • 匹配從屬終端的安裝文件夾和 AppData 文件夾

  • 秘密 #1

  • FindFirstFileW, FindNextFileW

  • 使用 FindFirstFileW, FindNextFileW 的示例

  • 終端目錄內(nèi)部

  • CopyFileW

  • 操縱 "origin.txt" 文件

  • 最后一程

使用系統(tǒng)的 "打開文件" 對話框 (GetOpenFileNameW 函數(shù)) 選擇一款智能交易系統(tǒng):


編輯切換為居中


有關(guān)調(diào)用打開文件對話框的細節(jié)已在我之前的文章 "交易員生存訣竅: 四遍回測優(yōu)于一遍: 4.2. 利用系統(tǒng) "打開文件" 對話框選擇一款 EA" 中討論。

當前版本 (文件 GetOpenFileNameW.mqh, 版本 1.003) 改變的功能在 OpenFileName 函數(shù):

//+------------------------------------------------------------------+ //| 創(chuàng)建打開文件對話框 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?| //+------------------------------------------------------------------+ string OpenFileName(const string filter_description="可編輯代碼", ? ? ? ? ? ? ? ? ? ?const string filter="\0*.mq5\0", ? ? ? ? ? ? ? ? ? ?const string title="選擇源文件") ?{ ? string path=NULL; ? if(GetOpenFileName(path,filter_description+filter,TerminalInfoString(TERMINAL_DATA_PATH)+"\\MQL5\\Experts\\",title)) ? ? ?return(path); ? else ? ? { ? ? ?PrintFormat("引發(fā)失敗的錯誤: %x",kernel32::GetLastError()); ? ? ?return(NULL); ? ? } ?}

現(xiàn)在它設(shè)置文件搜索過濾器已變得更方便。還請注意, 現(xiàn)在過濾器搜索推薦 *.mq5 格式的文件 (在上一篇文章中是搜索編譯的 *.ex5 文件)。


2. 再次關(guān)注 common.ini

現(xiàn)在是時候來描述在 'Compare multiple tests.mq5' 中的 CopyCommonIni() 函數(shù)。

從屬終端通過 指定的配置文件 來啟動。赫茲量化有四個從屬終端, 所以我們需要創(chuàng)建四個 *.ini 文件: myconfiguration1.ini, myconfiguration2.ini, myconfiguration3.ini, myconfiguration4.ini。文件 myconfigurationХ.ini 是基于終端的 common.ini 文件創(chuàng)建, 來自我們已啟動的智能交易系統(tǒng)。文件 common.ini 的路徑:

TERMINAL_DATA_PATH\config\common.ini

創(chuàng)建和編輯 myconfiguration.ini 文件的算法如下所示:

  • 拷貝 common.ini 至文件夾 TERMINAL_COMMONDATA_PATH\Files\original.ini (WinAPI CopyFileW)

  • 在原始 original.ini 文件里, 查找段落 [Common] (MQL5 + 正則表達式)。 對于我的主終端此段落看起來像這樣 (終端尚未登錄 mql5 社區(qū)): [Common] Login=5116256 ProxyEnable=0 ProxyType=0 ProxyAddress= ProxyAuth= CertInstall=0 NewsEnable=0 NewsLanguages= ?

  • 創(chuàng)建四個文件: myconfiguration1.ini, myconfiguration2.ini, myconfiguration3.ini 和 myconfiguration4.ini (MQL5)

  • 編輯這四個文件 (拷貝 [Common] 和獨立的 [Tester] 段落) (MQL5)

2.1. common.ini -> original.ini這可能是最簡單的代碼: 保存路徑 "數(shù)據(jù)文件夾" 和 "公共數(shù)據(jù)文件夾" 至變量, 并使用 "original.ini" 的值初始化一個變量 string terminal_data_path=TerminalInfoString(TERMINAL_DATA_PATH); ? ?// 數(shù)據(jù)文件夾的路徑 string common_data_path=TerminalInfoString(TERMINAL_COMMONDATA_PATH);// 公共數(shù)據(jù)文件夾的路徑 string original_ini="original.ini"; ? ?string arr_common[]; //--- string full_name_common_ini=terminal_data_path+"\\config\\common.ini"; ? ? // 文件 common.ini 的完整路徑 string full_name_original_ini=common_data_path+"\\Files\\"+original_ini; ? // 文件 original.ini 的完整路徑 //--- common.ini -> original.ini if(!CopyFileW(full_name_common_ini,full_name_original_ini,false)) ? ? ?{ ? ? ? PrintFormat("引發(fā)失敗的錯誤: %x",kernel32::GetLastError()); ? ? ? return(false); ? ? ?} ? 使用 Win API 的 CopyFileW 函數(shù)拷貝 "common.ini" 配置文件至 "original.ini"。


量化交易軟件:交易員生存訣竅若干測試的比較報告的評論 (共 條)

分享到微博請遵守國家法律
玉龙| 新竹县| 香港| 太原市| 清流县| 综艺| 屏南县| 泉州市| 衢州市| 明溪县| 辽宁省| 武陟县| 新沂市| 偏关县| 漯河市| 甘洛县| 渭源县| 台东市| 常山县| 汝州市| 盐池县| 磐安县| 吴堡县| 灯塔市| 五大连池市| 双桥区| 罗田县| 亚东县| 志丹县| 黔江区| 县级市| 灵武市| 泾源县| 丹阳市| 屯门区| 巧家县| 会昌县| 镇原县| 南漳县| 平定县| 婺源县|