




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、mql5關(guān)鍵知識點總結(jié)(二)薛輝原創(chuàng)知識點顏色說明:01、 不同字體表示一般級別的知識點。02、 加黑字條表示中等級別的知識點。03、 紅色字體表示高級別知識點。04、 紅色加黑字條表示極其重要、易出錯知識點。0201、onstart()函數(shù)就是啟動事件處理程序,運行腳本時自動生成。0202、oninit() 函數(shù)是初始化事件處理程序。 0203、必須是空型或者整型,無參數(shù)。0204、初始化事件處理程序在 ea 交易或者指標(biāo)下載后即時生成;它不生成腳本。0205、oninit()函數(shù)用于初始化。如果 oninit()返回值為整型,非零結(jié)果意味著初始化失敗,生成初始化失敗原因代碼reason_i
2、nitfailed 。0206、ondeinit() 函數(shù)稱為失敗初始化,是初始化失敗事件處理程序。0207、必須是空型且有一個包括初始化失敗原因代碼的常量整型參數(shù)。0208、如果聲明不同類型,編譯程序會發(fā)出警告,但函數(shù)不可調(diào)用。0209、對于腳本來說不會生成初始化失敗事件,因此 ondeinit()函數(shù)不用于腳本。0210、僅僅ea交易依附的圖表中,交易品種收到新訂單號時ea交易會生成新訂單號事件。0211、自定義指標(biāo)或者腳本中確定ontick()函數(shù)是無效的,因為訂單號事件不為它們而生。0212、訂單號事件只為ea交易而生,但是卻不意味著ea交易需要ontick()函數(shù),因為 ea 交易不
3、僅需要生成訂單號,也需要生成計時器,預(yù)定事件和圖表事件。0213、計時器事件發(fā)生時調(diào)用ontimer()函數(shù),由系統(tǒng)計時器生成僅用于ea 交易-不能用于腳本或者指標(biāo)。0214、函數(shù) eventsettimer()接收事件,當(dāng)同意該事件聲明時,設(shè)置事件發(fā)生頻率 。0215、可以用函數(shù)eventkilltimer()為特殊ea交易注銷計時器事件。0216、函數(shù)必須為空值,沒有參數(shù)。0217、建議在oninit() 函數(shù)中調(diào)用 eventsettimer() 函數(shù)。0218、而 eventkilltimer() 函數(shù)可以在ondeinit()中調(diào)用。0219、每個ea交易,每個指標(biāo)都有其獨自的計時器
4、且僅通過它來接收事件。0220、如果創(chuàng)建了計時器但沒有用eventkilltimer()函數(shù)禁止,那么一旦mql5程序停止,計時器被強制破壞。0221、ontrade()交易發(fā)生時調(diào)用這個函數(shù),改變下訂單和持倉列表,訂單歷史記錄和交易歷史記錄時會出現(xiàn)。0222、當(dāng)交易活動執(zhí)行掛單,持倉/平倉,停止設(shè)置,啟動掛單等等,訂單和交易歷史記錄或者倉位和當(dāng)前訂單列表也會相應(yīng)改變。0223、接到這個事件時(需要交易策略狀態(tài))用戶必須獨自確認(rèn)交易賬戶狀態(tài)。0224、如果函數(shù)ordersend()成功調(diào)用,且返回了真實值,意味著交易服務(wù)器已經(jīng)提交訂單并確定了訂單號。0225、服務(wù)器一旦處理這個訂單,交易事件就
5、生成了。0226、如果用戶記住了訂單號值,ontrade() 函數(shù)執(zhí)行時,用這個值可以看到訂單情況。0227、函數(shù)ontester()是外部 ea交易歷史測試結(jié)束后自動生成的測試事件處理程序。0228、這個函數(shù)在 ondeinit() 之前調(diào)用,且有同樣的雙精度型返回值。0229、只在 ea 交易測試時使用ontester()。0230、其主要作用是計算某個值,該值用作遺傳最優(yōu)化自定義標(biāo)準(zhǔn)。0231、遺傳優(yōu)化中,生成結(jié)果用降序,例如從優(yōu)化標(biāo)準(zhǔn)查看點,最佳結(jié)果是那些最大值(ontester函數(shù)帶進賬戶的最大自定義優(yōu)化標(biāo)準(zhǔn)值)。0232、這種情況下:最差值放在最后或者排除不參與下一步生成。0233
6、、若要接收任一交易品種的bookevent,需要事先同意用函數(shù)marketbookadd()接收這個交易品種的 bookevent。0234、如果不同接收某個特定交易品種的bookevent,可以調(diào)用 marketbookrelease()。0235、與其他事件不同的是bookevent是直播。 0236、意味著如果 ea 交易同意用marketbookadd 接收bookevent,其他有 onbookevent()處理程序的ea 交易也會收到這個事件。0237、因此分析交易品種名稱是必須的,可以 const string& symbol 參數(shù)傳到處理程序。0238、onchartevent
7、() 是chartevent 的處理程序:0239、chartevent_keydown 擊鍵,圖表窗口定格;0240、chartevent_object_create 創(chuàng)建圖解物件;0241、chartevent_object_change 通過屬性對話框改變物件屬性;0242、chartevent_object_delete 刪除圖解物件;0243、chartevent_click 鼠標(biāo)單擊圖表;0244、chartevent_object_click 鼠標(biāo)單擊屬于圖表的圖解物件;0245、chartevent_object_drag 用鼠標(biāo)移動圖解物件;0246、chartevent_o
8、bject_endedit 圖解物件標(biāo)簽編輯輸入框中完成文本編輯;0247、chartevent_custom+n 用戶id,0-65535 之間范圍。0248、chartevent_custom_last 自定義(chartevent_custom +65535)接受的最后一個 id。0249、oncalculate()函數(shù)只在自定義指標(biāo)中調(diào)用,通過 calculate計算指標(biāo)值是必須的。0250、通常在接到指標(biāo)計算的交易品種新訂單號時發(fā)生。0251、這個指標(biāo)不需要附在交易品種的價格圖表上。 0252、oncalculate() 函數(shù)有個返回值 int。0253、有兩個可能定義。一個指標(biāo)中不
9、可以有兩個函數(shù)版本。一種是用于單數(shù)據(jù)緩沖中計算的指標(biāo)。0254、在函數(shù)內(nèi)可變量的聲明是局部的。0255、局部變量在聲明的部分里是被限定的。0256、局部變量可以由任意一個表達式結(jié)果初始化。0257、每次函數(shù)的運行只可以初始化一個局部變量。0258、局部變量儲存在相應(yīng)的存儲器上。0259、變量范圍是涉及變量的模塊部分。0260、模塊中聲明的變量(內(nèi)部),有模塊規(guī)定其范圍。0261、如果變量聲明的范圍是在啟動模塊,則以終止程序結(jié)束。0262、通過函數(shù)的變量是局部的。范圍是在作用塊內(nèi)。0263、在作用之內(nèi)正式變量的名稱必須不同于其他外部定義變量和函數(shù)變量。0264、作用塊內(nèi)的正式變量值已經(jīng)被賦予。0
10、265、如果正式參數(shù)以常量修飾符聲明,其值在函數(shù)中不能改變。0266、靜止存儲類變量被稱為靜態(tài)變量。0267、靜態(tài)變量在數(shù)據(jù)類型之前指定靜態(tài)修飾符:static。0268、靜態(tài)變量可以通過相關(guān)的常量和常量表達式初始化。0269、靜態(tài)變量存在于程序執(zhí)行期,在特別函數(shù) oninit()調(diào)用前初始化。0270、如果未指定初始化值,靜態(tài)變量為零初始化值。0271、關(guān)鍵字static聲明的局部變量通過函數(shù)使用期保留值。0272、下次調(diào)用函數(shù)時,局部變量會包含上次調(diào)用的值。0273、任何變量,除了函數(shù)的形式參數(shù),都稱為靜態(tài)變量。0274、如果局部變量聲明不是靜態(tài),變量內(nèi)存會在程序中自動分配。0275、全局
11、變量通過函數(shù)外部描述聲明而創(chuàng)建。0276、全局變量作為函數(shù)被定義在相同水平。0277、全局變量的范圍是整個程序。0278、全局變量在所有程序內(nèi)是被定義的。 0279、如果它的值沒有被定義,初始化值為零。 0280、全局變量只對于相應(yīng)的常數(shù)初始化。0281、全局變量只可以在程序載入客戶端以后初始化。 0282、注解: 變量在全局變量的水平位上不能夠與客戶端 globalvariable.() 函數(shù)混淆。0283、關(guān)鍵字extern 用來聲明變量標(biāo)識符,作為全局使用期的靜態(tài)存儲標(biāo)識符。0284、從程序啟動,這些變量即存在,其內(nèi)存會在程序啟動后即時分配和初始化。0285、創(chuàng)建多源文件程序,這個情況下
12、直接使用預(yù)處理#include 。0286、外部聲明的同一類型和標(biāo)識符的變量位于一個項目中的不同源文件。0287、編譯整個項目時,所有同型同標(biāo)識符的外部變量與全局變量池相連。0288、外部變量用來分離編譯源文件。0289、外部變量可以初始化,只能一次禁止幾個同型同標(biāo)識符外部變量初始化。0290、#define直接用來指定常量助記名。0291、#define identifier token_string 在編譯階段直接替換。0292、#define abc 100 #define pi 3.14 #define company_name metaquotes software corp.029
13、3、每個mql5-程序都允許指定額外的名為#property 的特殊參數(shù)。0294、有助于客戶端不用啟動程序就能夠提供定制的互聯(lián)網(wǎng)服務(wù)。0295、程序?qū)傩栽O(shè)置的格式為: #property identifier value0296、0297、0298、0299、0300、#include 命令可以放置到程序的任意部分,但是通常所有文件的源代碼被統(tǒng)一放置。0301、#include 在系統(tǒng)目錄下查找包含文件。#include file_name 在指定目錄下查找包含文件。0302、mql的日期時間量: 0303、mql 比率:0304、0305、在向服務(wù)器發(fā)送交易操作要求時,推薦進行一下檢測。0
14、306、該檢測使用 ordercheck()函數(shù)執(zhí)行。0307、檢測要求和mqltradecheckresult結(jié)構(gòu)體變量已傳遞,檢測結(jié)果會記錄該變量。0308、這個結(jié)構(gòu)體主要用于向服務(wù)器發(fā)出信息,檢測能否成交。0309、在mql4實戰(zhàn)中我們也發(fā)現(xiàn),很多時候賬戶情況復(fù)雜。0310、可能遇到:保證金不足,可能無法一次選中某些訂單,可能連接服務(wù)器超時,可能發(fā)送數(shù)據(jù)到服務(wù)器處理時服務(wù)器未及時響應(yīng)。0311、mql5提供的這些細致的功能為精確把握程序流程提供給了依據(jù)。0312、返回當(dāng)前交易品價格的結(jié)構(gòu)體:0313、對于每個可執(zhí)行的mql5 程序的有一套變量都是支持的。這就是預(yù)定義變量。0314、可以通
15、過mql5 程序獲得當(dāng)前即時價格(ea交易、腳本或者自定義指標(biāo))。0315、預(yù)先定義變量的值在mql5 程序啟動之前通過客戶端建立。0316、預(yù)先定義變量是不變的,也不會通過mql5 程序轉(zhuǎn)變。0317、例外是:特殊變量_lasterror,通過 resetlasterror 函數(shù)重設(shè)至0。0318、_digits變量保留小數(shù)點后幾位。它定義了當(dāng)前圖表交易品種的價格精確度。0319、可以使用digits() 函數(shù)。0320、_point變量包括貨幣報價中當(dāng)前交易品種的點數(shù)信息。0321、可以使用point() 函數(shù)。0322、_lasterror 變量包括最后一個錯誤的代碼。0323、在mql
16、5程序運行中發(fā)生,使用resetlasterror()值能重設(shè)成0。0324、獲得最后錯誤代碼,使用getlasterror()函數(shù)。0325、_period變量包括當(dāng)前圖表時間表的值。0326、也可以使用period()函數(shù)。獲得當(dāng)前圖表的時間尺度級別。0327、_stopflag變量表示mql5程序停止標(biāo)簽。0328、當(dāng)客戶端想要停止程序,建立_stopflag 變量為真值。0329、為了檢測_stopflag,你可以使用isstopped()函數(shù)。0330、mql5可以反過來檢測程序運行狀態(tài)功能就更加強大了。編寫程序時0331、_symbol變量包括當(dāng)前圖表的交易品種名稱。0332、也可
17、以使用symbol()函數(shù)。0333、_uninitreason變量表示無法初始化程序中的代碼。0334、一般uninitializereason()函數(shù)中包括代碼0335、alert()函數(shù)在獨立窗口中顯示消息。0336、這是最長使用的一個輸出函數(shù),直接彈出一個獨立窗口做顯示。0337、alert()函數(shù)顯示時有個缺點是:所有過去顯示的內(nèi)容都會繼續(xù)顯示出來。0338、alert()函數(shù)在終端關(guān)閉之后才會清除過去所有的記錄。0339、alert()不適合直接顯示雙精度數(shù),最好使用:doubletostring()進行轉(zhuǎn)換后在顯示。0340、mql5中布爾型數(shù)據(jù)以 true或者 false字符串
18、輸出。mql4中是整數(shù)形式輸出的。0341、alert()將日期以 yyyy.mm.dd hh:mi:ss格式顯示。系統(tǒng)會自動轉(zhuǎn)換。0342、使用timetostring()可以修改日期的輸出格式。0343、mql5中alert()函數(shù)顯然內(nèi)部也做很大的優(yōu)化,可以根據(jù)帶輸入數(shù)據(jù)類型單獨處理。0344、checkpointer()函數(shù)返回指針的類型參數(shù):enum_pointer_type。是一個枚舉類型。0345、checkpointer()的輸入?yún)?shù)是一個指針類型的變量。0346、在程序中可能調(diào)用為空的指針,在使用指針之前,應(yīng)該調(diào)用 checkpointer()函數(shù)檢測。0347、到了mql5
19、的級別對指針的支持似乎是越來越多了。0348、comment()圖表左上角輸出注解文本在圖表的左上角顯示字符串。0349、comment()的基礎(chǔ)參數(shù)及使用規(guī)則同alert()一致。0350、void debugbreak(); 在程序中設(shè)置故障斷點。用于調(diào)試。0351、如果程序以調(diào)試的方式打開,mql5程序的執(zhí)行會被中斷。0352、此函數(shù)可以用于觀察變量的值,并一步步執(zhí)行。0353、void expertremove(); 函數(shù)停止ea交易并從圖表中卸載。0354、當(dāng)調(diào)用expertremove()函數(shù)時,ea 交易不會立即停止。只會設(shè)立一個停止ea操作的標(biāo)志,任何事件都不能處理。0355、
20、調(diào)用ondeinit() 之后ea交易就會卸載并且從圖表中刪除。0356、_function_ 系統(tǒng)變量表示:當(dāng)前所在的函數(shù)名稱字符串。0357、void* getpointer( any_class anyobject / 任何類的對象 );0358、函數(shù)返回對象指針。0359、只有class類對象可以獲取指針,而結(jié)構(gòu)體及普通變量不能獲取指針。0360、這里的class類對象不能使用new()操作符建立。0361、gettickcount()函數(shù)返回電腦開機以來已過去的毫秒的數(shù)量。0362、系統(tǒng)定時器限制計數(shù)器,時間以一種無符號的整數(shù)來存儲。0363、因此,如果電腦不間斷的工作,每 49.7
21、天就會溢滿重新開始計數(shù)。0364、messagebox()建立并顯示對話框并管理它。0365、一個對話框包括信息和頁眉,任意預(yù)定義標(biāo)簽和命令按鈕的組合。0366、periodseconds()返回給定周期的秒數(shù)信息。0367、period_current常數(shù)表示的是當(dāng)前圖表中的時間周期。0368、bool playsound( string filename / 文件名 ); 播放sounds目錄下的wav聲音文件。只能播放這種wav文件。0369、print()在程序中輸出信息。0370、print()輸出的信息并不顯示在獨立窗口中,而是顯示在系統(tǒng)終端的“專家”窗口。0371、print()
22、的使用方法和參數(shù)與alert()函數(shù)一直。0372、printformat()。按照給定格式進行輸出。類似于c中的printf()函數(shù)。0373、表示輸出參數(shù)類型和長度的函數(shù)也保持相同的形式規(guī)定。0374、輸出數(shù)據(jù)的類型用%加數(shù)字類型表示。0375、取代printformat()函數(shù)可以使用printf()。0376、目前在mql5中已經(jīng)可以成功使用printf()函數(shù)輸出數(shù)據(jù)并且效果不錯。0377、實戰(zhàn)編寫不普通腳本程序并且輸出數(shù)據(jù)量不大的時候用messagebox()比較方便。0378、void resetlasterror(); 設(shè)立預(yù)先定義常量 _lasterror 的值是0。0379、void setusererror(ushort user_error);0380、ushort user_error為用戶設(shè)置的錯誤編號。0381、如果函數(shù)調(diào)用成功,此時的_lasterror就是:err_user_error_first + user_error0382、getlasterror() 的返回值也是:err_user_error_first + user_error。0383、ushort的范圍是從0-65535的巨大范圍,所以用戶定義自己的錯誤代碼空間很大。0384、對于成熟企業(yè)應(yīng)該建立自己的錯誤代碼庫。在系統(tǒng)定義的基礎(chǔ)上定義屬于自己的錯誤標(biāo)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年中國直線電機市場運行狀況及發(fā)展趨勢分析報告
- 2025-2030年中國電極箔產(chǎn)業(yè)發(fā)展趨勢規(guī)劃研究報告
- 石油勘探開發(fā)合作合同
- 生物技術(shù)產(chǎn)業(yè)投資合作合同
- 工業(yè)園區(qū)建設(shè)與運營合同
- 車庫出租合同協(xié)議
- 畜牧產(chǎn)品加工與購銷合同
- 城市基礎(chǔ)設(shè)施改造項目合同2025
- 2025年貨運行業(yè)貨車司機勞動合同范文
- 2025年企業(yè)勞動用工合同指南
- WTE朗文英語2B 單詞卡片
- 初三物理復(fù)習(xí)計劃詳細計劃
- 汽車懸架概述
- 中藥飲片處方審核培訓(xùn)課件
- 心房顫動的教學(xué)查房課件
- 周圍靜脈輸液操作并發(fā)癥的預(yù)防及處理
- 重大緊急情況的報告模板
- 二人合伙開寵物店協(xié)議書(5篇)
- 十字相乘法解一元二次方程專題練習(xí)
- 汽車維修競標(biāo)報價表格范本
- 2023年3月普通高等學(xué)校招生全國統(tǒng)一考試英語聽力天津卷A(聽力音頻+試題+答案+聽力原文)
評論
0/150
提交評論