日本电影一区二区_日本va欧美va精品发布_日本黄h兄妹h动漫一区二区三区_日本欧美黄色

「FX581獨(dú)家」MT4開發(fā)技巧 歷史記錄的“坑”

我們會經(jīng)常遇到這樣的需求:統(tǒng)計歷史交易記錄的手?jǐn)?shù),或者得到最后一筆歷史交易訂單的信息。這樣的功能對于我們來說并不困難,下面是一個簡單的代碼示例:

double lot = 0;

for(int i=0;i < OrdersHistoryTotal();i )

{

if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY) == false) continue;

lot = OrderLots();

}

Print("總手?jǐn)?shù):",lot);

這段代碼就是通過循環(huán)統(tǒng)計出所有歷史的手?jǐn)?shù),其實這段代碼就是把循環(huán)遍歷所有在場單的代碼改動下即可。把OrdersTotal()函數(shù)改成OrdersHistoryTotal(),把OrderSelect函數(shù)里增加一個參數(shù):MODE_HISTORY。那么這么一個簡單的程序也有問題嗎?答案是肯定的。

我們來運(yùn)行下這個EA程序,在終端中顯示的結(jié)果是:

總手?jǐn)?shù)居然是0!太不可思議了,明明我有很多的交易記錄啊。

現(xiàn)在跟小編一起來做一些操作,再運(yùn)行下程序看看最后的結(jié)果是什么:

「FX581獨(dú)家」MT4開發(fā)技巧 歷史記錄的“坑”

在賬戶歷史中點(diǎn)擊右鍵,選擇所有交易記錄,現(xiàn)在賬戶歷史中就出現(xiàn)了之前交易的所有歷史記錄

「FX581獨(dú)家」MT4開發(fā)技巧 歷史記錄的“坑”


那么我們在運(yùn)行下EA程序試下結(jié)果就會顯示正常:

「FX581獨(dú)家」MT4開發(fā)技巧 歷史記錄的“坑”

這就是通過程序得到歷史記錄的一個“坑”了,在MT4中,軟件默認(rèn)會只顯示當(dāng)月的歷史記錄,而程序在得到歷史記錄時只根據(jù)軟件當(dāng)前的歷史記錄進(jìn)行查找,由于這個月我沒有做任何的交易,所以在統(tǒng)計總手?jǐn)?shù)的時候得到的是0,而如果在軟件里把所有的交易記錄都顯示出來后,程序終于可以正常工作了。
(本段落標(biāo)藍(lán)是為了推廣所用,請吧xxx替換為相應(yīng)要宣傳的平臺,如果沒有可做的平臺可以刪除這段內(nèi)容)之所以我們很少發(fā)現(xiàn)這個問題的原因在于一般的MT4平臺模擬賬戶時效性都很短,注冊了一個模擬戶后很快就過期了,導(dǎo)致很少有人能發(fā)現(xiàn)這個問題。所以擁有一個能開長效模擬戶的平臺尤為重要了,我們推薦使用xxx平臺它可以提供長達(dá)xx天的模擬賬戶。
長效模擬戶本身對于我們開發(fā)和測試EA程序是有很大幫助,眾所周知開發(fā)完成一款新的EA程序后只是用歷史模擬是不夠的,還需要掛機(jī)測試,如果測試沒幾天就過期了這樣對于開發(fā)EA來說是非常煩惱的事情。

關(guān)于這個歷史記錄的第二個“坑”是,我們要想得到歷史記錄只能用EA程序來獲取,如果我們寫一個腳本程序,同樣是得不到歷史記錄的,即使我們已經(jīng)在賬戶歷史中顯示了所有的記錄。

那么我們?nèi)绾尾拍鼙苊膺@個問題呢?因為客戶在使用我們的EA程序時是不知道這個問題的,如果客戶不知道或根本不會去這樣操作,我們在程序中如何避免這個問題呢?一個比較簡單的辦法是在您的EA程序運(yùn)行中,把所有下單的記錄都存在文件中,這樣即使客戶沒有任何操作也可以拿到這些歷史記錄信息,下面是一個簡單的存文件的代碼示例:

//content為要存儲的內(nèi)容

void setfile(string content)

{

string filename = "要存儲的文件名";

int filehandle = FileOpen(filename,FILE_WRITE|FILE_TXT);//也可以存成CSV文件把FILE_TXT替換成FILE_CSV,這樣可以存儲多條信息

if(filehandle == INVALID_HANDLE)//判斷讀取文件是否出現(xiàn)錯誤

{

FileClose(filehandle);

Print("存儲文件發(fā)生錯誤");

}

else//正常打開,可以寫入內(nèi)容了

{

FileWriteString(filehandle, content);

FileClose(filehandle);

}

}

通過以上的方法,想必各位已經(jīng)有所了解,在以后的開發(fā)中我們的程序?qū)⒏拥耐晟坪徒选?/span>

相關(guān)新聞

聯(lián)系我們
聯(lián)系我們
公眾號
公眾號
在線咨詢
分享本頁
返回頂部
桐庐县| 临西县| 池州市| 白水县| 日喀则市| 来安县| 天镇县| 潞城市| 宜君县| 长垣县| 大洼县| 佳木斯市| 临洮县| 东台市| 石棉县| 霍山县| 库车县| 大田县| 汉阴县| 阿拉善右旗| 云浮市| 西城区| 淅川县| 雅江县| 轮台县| 红原县| 盐津县| 香格里拉县| 安康市| 乐亭县| 安龙县| 博爱县| 瑞金市| 会昌县| 武安市| 洛川县| 潮州市| 张掖市| 巩留县| 天柱县| 崇仁县|