mt4編程→簡明教程+速成基礎mt4編程→簡明教程+速成基礎
第一篇 創(chuàng)建新文件 1、打開 MetaEditor (如何打開自己想辦法)呵呵,如果這個都打不開,拜托下面的也不用看了。也許你不適合研究這個。 2、選擇文件-->新文件 打開文件創(chuàng)建頁面。 3、選擇第二項 客戶指標 然后點下一步。 注:這個頁面可以創(chuàng)建6種文件。我們常用的有 《客戶指標》,《腳本》,《智能交易系統(tǒng)》三種。我們先從指標開始。 4、輸入名字,作者等等。(支持中文)暫時不添加參數。 注:這個位置可以添加用戶變量以后講解。 5、下一步 我們先建一個主窗口指標 所以這個頁面什么都不用操作 注:這個位置可以添加指標“線”。以后提及。 6、點擊完成。 ok新的指標文件生成了。但還沒有任何有用的代碼。初始化代碼齊全。 //+------------------------------------------------------------------+ //| MT4指標編輯.mq4 | //| | //+------------------------------------------------------------------+ #property link "http://www." #property indicator_chart_window //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { //---- indicators //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { int counted_bars=IndicatorCounted(); //---- //---- return(0); } //+------------------------------------------------------------------+ 上面的就是剛剛新建的一個指標文件。 第一部分 指標注釋 只是一個說明,有沒有都不影響指標運行。 //+------------------------------------------------------------------+ //| MT4指標編輯.mq4 | //| //+------------------------------------------------------------------+ 這部分中前面的 “//” 兩個斜線 說明后面的是注釋語句,不參與實際運行。 第二部分 預處理語句 這部分規(guī)定了指標的窗口性質。如下: #property copyright "ldj" #property link "http://www." #property indicator_chart_window #號表示后面是預處理語句。 property 的意思是定義mt4內部變量的性質。變量名是mt4定義好的只能用固定的變量名。 例如:版權變量 copyright 鏈接變量 link 以及指標窗口類型變量indicator_chart_window等等。 其中窗口類型變量有indicator_chart_window(主窗口)indicator_separate_window(副窗口)兩個這里只能用一個不能兩個同時用 這部分內容一般不需要修改。 第三部分 初始化函數(加載函數) //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { //---- indicators //---- return(0); } 這個函數中的代碼只在只在指標(EA)加載的時候執(zhí)行一次。用于對一些變量的初始化。 去初注釋函數體為 int init() { return(0); } 第三部分 卸載函數 //+------------------------------------------------------------------+ //| Custom indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } 當去初指標(EA)的時候執(zhí)行一次。用于去除一些控件。 去除注釋函數體為 int deinit() { return(0); } 第四部分 主函數,每當價格變化時就調用執(zhí)行一次。主要執(zhí)行代碼都在這里。 //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { int counted_bars=IndicatorCounted(); //---- //---- return(0); } 第五部分 子函數。有些指標和EA含有子函數。我習慣寫在后面。 ★★★★★什么是MT4? 我就當你了解什么是MT4了 MT4就是META TRADER 4什么是EA? 我也當你了解什么是EA了 EA 就是 Expert Adviser EA 就是智能交易系統(tǒng) 智能教育系統(tǒng)就是: -軟件自己判斷下訂單 -軟件自己判斷提成利潤 -軟件自己判斷砍倉止輸什么是速成班? 就是你在很短很快的時間內就可以學會如何編寫EA 是的,快則8個學習小時 慢則24個學習小時什么叫“易學難精”? 就是你很快的就上手,難在成為厲害的高手。 這需要時間慢慢的去研究編寫。 久而久之你就可以是EA編寫高手了。第一課::了解EA的形式以下就是EA的編寫形式// +------------------------------------------------------------------+ //| Copyright ?2007, MetaQuotes Software Corp. | //| //+------------------------------------------------------------------+ #property copyright "Copyright ?2007, MetaQuotes Software Corp." #property link "http://www." //+------------------------------------------------------------------+ //| expert initialization function | //+------------------------------------------------------------------+ int init() { //----//---- return(0); } //+------------------------------------------------------------------+ //| expert deinitialization function | //+------------------------------------------------------------------+ int deinit() { //----//---- return(0); } //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ int start() { //----//---- return(0); } //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ //| Copyright ?2007, MetaQuotes Software Corp. | //| //+------------------------------------------------------------------+這個是在上面的垃圾 寫與不寫都無所謂 我們就不用理他#property copyright "Copyright ?2007, MetaQuotes Software Corp." #property link "http://www."這個也是在上面的垃圾 寫與不寫都無所謂 我們也不用理他 //+------------------------------------------------------------------+ //| expert initialization function | //+------------------------------------------------------------------+ int init() { //---- //以后可能有用到 //---- return(0); } //+------------------------------------------------------------------+ //| expert deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //以后可能有用到 //---- return(0); }這兩個很少用到。高高手才會用 速成班的話,這個可以不用理他。 放在一邊先,以后才學怎樣用它。 //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ int start() { //---- //主程式 //---- return(0); } //+------------------------------------------------------------------+ 這個就是EA開始操作的重要部分 以上的EA的編寫形式我們改成如下: //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ //| expert initialization function | //+------------------------------------------------------------------+ int init() { //---- /以后可能有用到 //---- return(0); } //+------------------------------------------------------------------+ //| expert deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- /以后可能有用到 //---- return(0); } //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ int start() { //---- //主程式 //---- return(0); } //+------------------------------------------------------------------+ 什么是“.mq4”? EA制作好了就save成.mq4的文件 這文件是可以修改的什么是“.ex4”? EA制作好了 按“編寫”就會自動save成.ex4的文件 這文件是不可以被修改的 這文件是加密的 可以出售的文件。 第二課:EA重要部分回到EA重要部分 //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ int start() { //---- //主程式 //---- return(0); } //+------------------------------------------------------------------+ 我們要知道EA是由上面往下讀的 所以我們在編寫方面要有邏輯思考 以下是速成班編寫的形式//+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ int start() { //----MoneyManagement(); macd(); ma(); zhangchang(); buyme(); sellme(); xianshi(); //---- return(0); } //+------------------------------------------------------------------+ void MoneyManagement() { } //+------------------------------------------------------------------+ void macd() { } //+------------------------------------------------------------------+ void ma() { } //+------------------------------------------------------------------+ void zhangchang() { } //+------------------------------------------------------------------+ void buyme() { } //+------------------------------------------------------------------+ void sellme() { } //+------------------------------------------------------------------+ void buyme() { } //+------------------------------------------------------------------+ void xianshi() { } /+------------------------------------------------------------------+ //| expert initialization function | //+------------------------------------------------------------------+ int init() { //---- //以后可能有用到 //---- return(0); } //+------------------------------------------------------------------+ //| expert deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //以后可能有用到 //---- return(0); } //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ int start() { //---- //主程式 MoneyManagement();//資金管理 macd();//指標管理 ma();//指標管理 zhangchang();//戰(zhàn)場管理 buyme();//買上 sellme();//買下 xianshi();//顯示管理//---- return(0); } //+------------------------------------------------------------------+ void MoneyManagement() { //子程式 //這邊要寫一些東西 } //+------------------------------------------------------------------+ void macd() { //子程式 //這邊要寫一些東西 } //+------------------------------------------------------------------+ void ma() { //子程式 //這邊要寫一些東西 } //+------------------------------------------------------------------+ void zhangchang() { ///子程式 //這邊要寫一些東西 } //+------------------------------------------------------------------+ void buyme() { //子程式 //這邊要寫一些東西 } //+------------------------------------------------------------------+ void sellme() { //子程式 //這邊要寫一些東西 } //+------------------------------------------------------------------+ void buyme() { //子程式 //這邊要寫一些東西 } //+------------------------------------------------------------------+ void xianshi() { //子程式 //這邊要寫一些東西 } //+------------------------------------------------------------------+ /////end(轉) |
|
|