期貨量化交易軟件:三維圖形市場分析的專業(yè)工具
簡介
所有的交易者都面臨不斷變化的價格和報價。所有人都在尋找一致性和規(guī)律性。赫茲期貨量化分析交易量、不同指標的值和很多其他參數(shù)。關(guān)于赫茲期貨量化在市場分析中的優(yōu)點,我想已不必贅言。只需寫一個腳本,然后根據(jù)結(jié)果得出結(jié)論。通常,分析都基于反映兩個變量的某些一致性的圖表或圖形。這當然沒什么問題,但有時候我們需要找到三個變量的一致性并將其可視化。為此,全世界范圍內(nèi)都在使用三維圖形及其分析。這種方法節(jié)省了時間和金錢。
本文中,我們將編寫一個簡單的庫,用于構(gòu)建 3D 圖形及其在 Microsoft Excel 中的進一步瀏覽。赫茲期貨量化將使用標準的赫茲期貨量化選項準備和導(dǎo)出數(shù)據(jù)至 *.csv 文件
編輯
什么是 *.csv 文件格式?
它是一個文本文件,存儲了由預(yù)設(shè)的分隔符隔開的數(shù)值系列,這里采用的分隔符是分號 - “;”。為了繪制表格,赫茲期貨量化只需要編寫幾個代碼字符串。這種格式的好處是其表格形式容易被 Microsoft Excel 識別和理解。在本程序中我們能夠根據(jù)獲得數(shù)據(jù)創(chuàng)建三維圖形并進行分析。
generateCsv 庫
為了快速便捷的輸入數(shù)據(jù),赫茲期貨量化創(chuàng)建一個庫。創(chuàng)建一個新庫,插入以下代碼,將其命名為 generateCsv.mq4 并保存在 "...MetaTrader\experts\libraries" 文件夾。然后編譯該庫。
//+------------------------------------------------------------------+ //| ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?generateCsv.mq4 | //| ? ? ? ? Copyright ? 2006, Antonio Banderass. All rights reserved | //| ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? banderassa@ukr.net | //+------------------------------------------------------------------+ #property copyright "Copyright ? 2006, Antonio Banderass. All rights reserved" #property link ? ? ?"banderassa@ukr.net" #property library //+------------------------------------------------------------------+ //| PrepareString ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?| //+------------------------------------------------------------------+ string PrepareString(string s) ?{ ? bool exit = false; ? int index = 0; ? string str = s; ? ? while(!exit) ? ? { ? ? ? index = StringFind(str, ".", index); ? ? ? ? ? ? if(index > -1) ? ? ? ? ? str = StringSetChar(str, index, ','); ? ? ? else ? ? ? ? ? exit = true; ? ? } ? return(str); ?} //+------------------------------------------------------------------+ //| GenerateCsv ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?| //+------------------------------------------------------------------+ int GenerateCsv(string fileName, int arraySizeX, int arraySizeY, ? ? ? ? ? ? ? ?double arrayIndexX[], double arrayIndexY[], double arrayZ[][]) ?{ ? int handle = FileOpen(fileName, FILE_CSV|FILE_WRITE, ' '), x, y; ? string str; ? ? if(handle1) ? ? { ? ? ? Print("Error:", GetLastError()); ? ? ? return(handle); ? ? } ? else ? ? { ? ? ? str = ";"; ? ? ? for(x = 0; x < arraySizeX; x++) ? ? ? ? { ? ? ? ? ? str = str + arrayIndexX[x]; ? ? ? ? ? str = str + ";"; ? ? ? ? ? ? ? ? } ? ? ? FileWrite(handle,PrepareString(str)); ? ? ? ? ? ? for(y = 0; y < arraySizeY; y++) ? ? ? ? { ? ? ? ? ? str = ""; ? ? ? ? ? ? str = str + arrayIndexY[y] + ";"; ? ? ? ? ? ? ? ? ? for(x = 0; x < arraySizeX; x++) ? ? ? ? ? ? { ? ? ? ? ? ? ? str = str + arrayZ[x,y]; ? ? ? ? ? ? ? str = str + ";"; ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ? FileWrite(handle, PrepareString(str)); ? ? ? ? } ? ? } ? ? ? ? FileClose(handle); ? ? return(handle); ?}
現(xiàn)在創(chuàng)建一個新的頁眉文件以訪問庫函數(shù),將其命名為 generateCsv. mqh,插入以下代碼并保存在 "...MetaTrader\experts\include" 文件夾。