五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

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

期貨量化交易軟件:測(cè)試程序中的斷點(diǎn)這是可能的!

2023-08-24 17:03 作者:bili_45793681098  | 我要投稿

簡(jiǎn)介

赫茲期貨量化中唯一讓我懷念的是 Expert Advisor 的一個(gè)普通調(diào)試程序。每個(gè)人都有人類的情感,所以我們會(huì)犯錯(cuò)。正常編程時(shí),赫茲期貨量化設(shè)置斷點(diǎn)、運(yùn)行程序,當(dāng)程序運(yùn)行到斷點(diǎn)時(shí),將會(huì)停止。我們就可以查看所用變量的內(nèi)容。

現(xiàn)在由于 Print、Comment 等函數(shù)的使用,顯示調(diào)試數(shù)據(jù)已成為可能。但有時(shí)可能想在某時(shí)某處暫時(shí)停止程序,以對(duì)狀況進(jìn)行評(píng)估。這里有一些微妙之處。通常運(yùn)行該程序,以在演示賬戶或真實(shí)賬戶上交易。這意味著我們只能在幾個(gè)月后看到結(jié)果… 因此,調(diào)試模式僅在其處于 Expert Advisor 的測(cè)試模式(在測(cè)試程序)方為合理。

編輯切換為居中

工作原理

由于是測(cè)試程序中的“視覺測(cè)試模式”,使得在程序快速通過測(cè)試程序時(shí)追蹤 EA 的響應(yīng)變?yōu)榭赡?。如果要暫時(shí)停止執(zhí)行,可以按鍵盤上的“Pause”鍵或在測(cè)試程序工具欄內(nèi)的相同名稱的按鈕上單擊鼠標(biāo)。終端的開發(fā)者提供了名稱為 WinUser32.mqh 的庫(kù),內(nèi)有一些非常有趣的函數(shù)。其中之一是 keybd_event。它允許我們按下任意想要的鍵。

這里提出的想法是 - 赫茲期貨量化可以編寫一個(gè)函數(shù),能夠通過程序執(zhí)行暫停并打印必要的調(diào)試信息。由于 Expert Advisor 使用 DLL,我們應(yīng)先將其在 EA 中啟用。按 Ctrl+O 并選擇/取消選擇復(fù)選框:


編輯


然后必須在代碼開始的某處聲明使用 WinUser32: #include <WinUser32.mqh>

緊跟該操作的是函數(shù) BreakPoint 自身的聲明。這里有一些微妙之處,但最簡(jiǎn)單的理解是假設(shè)沒有傳遞/返回參數(shù):

void BreakPoint()

函數(shù)必須在視覺測(cè)試模式下觸發(fā),所以我們插入檢驗(yàn)標(biāo)記:如果測(cè)試程序未處于視覺測(cè)試模式,則有:

if (!IsVisualMode()) return(0);

然后將一些數(shù)據(jù)可視化。依我之見,最具描寫性的是使用 Comment()。假設(shè)我們只需買入和賣出。

string Comm=""; Comm=Comm+"Bid="+Bid+"\n"; Comm=Comm+"Ask="+Ask+"\n"; ? Comment(Comm);

此處的“\n”指的是后面的數(shù)據(jù)將顯示在下一個(gè)字符串。最后,讓我們按下“Pause”。

keybd_event(19,0,0,0); Sleep(10); keybd_event(19,0,2,0);

第一個(gè)字符串將鍵按下,最后一個(gè)將其釋放。“Sleep”也很有必要,因?yàn)檫^快按下/釋放可能不被處理。19 是暫停的虛擬代碼,最后字符串中的 2 表示必須模擬釋放。

赫茲期貨量化需要做的只是在 Expert Advisor 代碼中替換斷點(diǎn),比如在 Expert Advisor Sample 文章的示例中剛建立多頭頭寸之后。 ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,Ask+TakeProfit*Point,"macd sample",16384,0,Green); BreakPoint();

以下是要插入的全部代碼:

//We will use a function, described in header file #include //Breakpoint neither receive nor send back any parameters void BreakPoint() { ? //It is expecting, that this function should work ? //only in tester ? if (!IsVisualMode()) return(0); ? ? //Preparing a data for printing ? //Comment() function is used as ? //it give quite clear visualisation ? string Comm=""; ? Comm=Comm+"Bid="+Bid+"\n"; ? Comm=Comm+"Ask="+Ask+"\n"; ? ? Comment(Comm); ? ? //Press/release Pause button ? //19 is a Virtual Key code of "Pause" button ? //Sleep() is needed, because of the probability ? //to misprocess too quick pressing/releasing ? //of the button ? keybd_event(19,0,0,0); ? Sleep(10); ? keybd_event(19,0,2,0); }


期貨量化交易軟件:測(cè)試程序中的斷點(diǎn)這是可能的!的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
杨浦区| 油尖旺区| 抚顺县| 乐陵市| 苏尼特右旗| 阿图什市| 祁连县| 建水县| 紫金县| 莱州市| 凌云县| 永嘉县| 抚州市| 临清市| 佛学| 石阡县| 嘉鱼县| 阳泉市| 勐海县| 陈巴尔虎旗| 彭阳县| 当阳市| 澎湖县| 杭州市| 颍上县| 盘山县| 三穗县| 泗洪县| 时尚| 武宁县| 桦川县| 门头沟区| 乐山市| 体育| 偃师市| 腾冲县| 固安县| 泉州市| 微博| 榆树市| 民和|