目錄mt4程式設計入門(一):mt4自定義指標的基本操作
mt4程式設計入門(二):指標原始碼中的常用符號說明
mt4程式設計入門(三):自定義變數
mt4程式設計入門(四):自定義函式
mt4程式設計入門(五):自定義陣列
mt4程式設計入門(六):市場資料取值
mt4程式設計入門(七):判斷語句
mt4程式設計入門(八):迴圈
mt4程式設計入門(九):mt4自定義指標的結構
mt4程式設計入門(十):畫一條指針線
mt4程式設計入門(十一):mt4的報警
mt4程式設計入門(一):mt4自定義指標的基本操作
mt4自定義指標的儲存目錄、指標編緝器與指標呼叫
一、mt4自定義指標儲存在c:\program files\metatrader 4\experts\indicators這個目錄中,
該目錄中主要有二種型別的檔案,
一種是mq4檔案,這是mt4自定義指標的原始碼檔案,是一種高階語言檔案,可以人工編寫修改,機器不能直接執行,但能在mt4啟動時自動編譯為ex4可執行檔案。
另一種就是ex4檔案,這是mt4自定義指標的可執行檔案,由mq4檔案編譯得到。
mq4檔案必須編譯為ex4檔案才能被mt4執行。
但ex4檔案是機器碼檔案,人工不可修改
另外還有乙個檔案是它用來儲存目錄中的檔案資訊,如果mt4無法自動編譯,只要刪除此檔案即可解決問題
mq4檔案編譯為ex4可執行檔案有兩種方法:
1、mt4啟動時,會自動把此目錄中的mq4檔案編譯為ex4檔案。
2、用mq語言編輯器開啟mq4檔案,點一下「編寫」按鈕,即可生成ex4檔案
二、**儲存mq4檔案、ex4檔案
在論壇上我們經常看到有mq4檔案、ex4檔案可供**,我們只要把它們儲存到c:\program files\metatrader 4\experts\indicators這個目錄,也就是下面這個目錄中,就可以了。如果**的是ex4檔案,那可以直接呼叫;如果是mq4檔案,則需要重啟動mt4,讓系統自動編譯生成ex4可執行檔案。
如果**的是rar、zip等型別的壓縮檔案,還必須**後解壓到此目錄才能使用。
三、將原始碼儲存為原始碼檔案
在論壇上,我們也經常能看到指標原始碼貼在網頁上,但沒有mq4、ex4等檔案可以**,只能複製原始碼。此時需要我們自己動手將原始碼儲存為原始碼檔案,那也沒關係,非常地簡單,多點幾下滑鼠就搞定。
1、開啟mq語言編輯器
2、在mq語言編輯器中新建乙個檔案,檔名一定要輸,別的隨便操作都沒關係。
3、刪除新檔案裡面的所有內容,成為乙個空檔案,
4、接著我們就可以將網頁上原始碼複製貼上進來
試著點一下「編寫」,如果左下角出現「0錯誤,0警告」,那說明原始碼沒問題,編譯通過了,成功生成了ex4可執行檔案
5、還有很重要的一點,就是要把原始碼檔案儲存到正確的目錄中
儲存後,再點一下編寫。
到此,原始碼儲存完成。
當然,我們也還有另的辦法:
可以開啟乙個原已存在的mq4檔案,然後另存為你需要的檔名,再刪除檔案中的所有內容成為空檔案,把網頁上的源貼到檔案中儲存即可
也可以在記事本中新建乙個檔案,把網頁上的原始碼貼進記事本,然後取個檔名儲存到上面提到的目錄,不過檔案字尾必須輸入mq4,儲存型別選擇「所以檔案」
四、mt4程式呼叫自定義指標
這非常簡單
mt4程式設計入門(二):指標原始碼中的常用符號說明
一、注釋符:單行注釋「//」、多行注釋「/* */」
程式不執行注釋,注釋內容僅供閱讀或保留不用的語句
在mq語言編輯器中,注釋內容以灰色顯示
二、分號「;」
表示乙個語句結束
三、逗號「,」
表示乙個語句內部間隔,不結束語句。
四、等於號「=」
賦值語句,把等號後面的值賦給等號前的變數中
五、加號「+」
整數或小數,則表示值相加;字串,則表示前後連線。
六、加加「++」
表示把符號前的變數值加1,例如:「i++;」 這實際上就是:「i=i+1;」的簡寫,表示i的值加1
七、加等於「+=」
表示把符號後的值加到符號前的變數中。例如「i+=2;」,實際上就是「i=i+2;」的簡寫,表示i的值加2
八、雙等號「==」
等於號。用於邏輯判斷,雙等號前後值相等,則返回邏輯值「真true」;雙等號前後值不相等,則返回邏輯值「假false」
九、嘆號等號「!=」
不等於號。用於邏輯判斷,不等號前後值不相等,則返回邏輯值「真true」;不等號前後值相等,則返回邏輯值「假false」
十、「&&」
邏輯符「並且」
十一、「||」
邏輯符「或者」
十二、大括號「{}」
表示函式體。
{}內部為函式體語句。
mt4程式設計入門(三):自定義變數
一、自定義變數在使用前,必須先建立(定義),設定變數的型別和名稱。
建立時可同時賦值,也可以不賦值。名稱可以使用中文字元。
例:int mark建立乙個整型變數,變數名為「mark」。
bool 是否報警=true; 建立乙個邏輯型變數,變數名為「是否報警」,同時,賦初值「true」
二、型別和型別定義詞
自定義變數的基本型別有:
1、整形(int):就是整數,包括負整數
2、雙精度小數(double):可以簡單地理解為帶小數字的數
3、字串型(string)。
4、邏輯型(bool):其值分別為「true、false」,即「真、假」,也可以寫成「1、0」(1真,0假)。
型別定義詞僅在建立變數時使用,後面使用變數時,就不能再加型別定義詞了
三、附加變數
附加變數就是在程式投入使用後,變數值允許使用者自由更改的變數,一般用作程式引數。
一般指標,例如macd(12,26,9)引數輸入就是通過附加變數實現,(12,26,9)分別為三個附加變數的預設值。
定義附加變數只需在變數定義語句前加「extern」
例:extern int 週期=9; 建立乙個整型附加變數,變數名為「週期」,預設值為9,允許使用者在程式外部修改引數值
mt4程式設計入門(四):自定義函式
自定義函式與數學函式在本質上是一致的
例如:數學函式ft(x,y)=3x+2y (x,y為正整數) 寫成程式語句就是:
int ft(int x,int y)
一、和自定義變數一樣,自定義函式在使用前,也必須先設立,以定義其型別、名稱、引數和運算語句。
函式型別、名稱、引數位於函式頭部(引數間以逗號分隔),
大括號中的是運算語句,也就是函式體部分。
return語句為函式結束語句,return後面括號中的值為函式返回值,即函式運算結果。
上例中,int為函式型別,表示該函式的返回值(運算結果)是整數;
(x,y)為引數,由於自定義變數使用之前都必須先建立,所以要加上型別定義詞int
ft為函式名,有了函式名,我們就可以在別處用ft(2,1)的形式來呼叫此函式;
函式體部分有三句:
第一句,定義乙個整形變數temp
第二句,計算temp的值
第三句,函式結束,返**用點,以temp的值作為本函式返回值。
此函式也可以簡寫為:int ft(int x,int y)
二、函式型別與型別符
函式型別就是函式返回值(運算結果)的型別,與自定義變數型別差不多
有整型(int)、雙精度型(double)、字串型(string)、邏輯型(bool)等,
還有一種函式是以函式執行為目的,執行結束後不需要返回值也沒有返回值的,則函式型別可以寫成void(無值型)
三、函式中如果定義了自定義變數,那麼此變數僅在本函式內部存在,函式執行結束時,自定義變數也就自動登出。
上例中,有x、y、temp三個自定義變數,在函式執行時建立,在函式執行結束時自動消失,僅在函式內部有效,與函式外部無關。
四、函式的呼叫
函式呼叫非常簡單,只要函式名正確、引數個數一致、型別相同就能正確呼叫
如我們前面建立了ft(x,y)函式,則別處我們可以用ft(4,5)等樣式來呼叫ft(x,y)函式求值。
呼叫時,傳遞引數值給ft(x,y)函式(按順序把4傳給x,把5傳給y),返回結果22後繼續執行主程式。
mt4程式設計入門(五):自定義陣列
一、陣列是一系列同型別變數的集合,可以同時儲存多個數值。
例:int aa[4]=;
這是乙個資料名為aa、包含了4個元素的整數型陣列(即陣列長度為4),可以同時儲存4個數值。
二、自定義陣列也必須「先建立,後使用」
建立(定義)時,必須設定型別和名稱。
建立(定義)時,陣列的元素個數也可以設定,也可以不設定
陣列中第乙個元素的編號為0,第二個為1,以此類推。編號使用方括號括起來
在這上例中aa[0]的值為4、aa[1]的值為3、aa[2]的值為2、aa[3]的值為1
建立(定義)陣列的同時,可以賦初值,也可以不賦初值。
例:int bb; 建立陣列bb,不設定陣列元素個數
int cc[8]; 建立陣列cc,設定陣列元素為8個,不賦初值
int dd[3]=; 建立陣列dd,設定陣列元素為4個,並賦初值
賦值後,dd[0]的值為9、dd[1]的值為8、dd[2]的值為7
int ee[9]=; 建立陣列ee,設定陣列元素為9個,但只給前4個元素賦初值
三、陣列使用時的賦值
陣列的賦值必須指定明確的賦值物件,除了新建陣列時可以批量賦值外,陣列元素必須乙個乙個賦值
例如:dd[2]=1;
這是對陣列dd的第3個元素dd[2]([0]是第1個,[2]表示第3個)重新賦值為1
在這裡,沒有整數型變數定義符int,
這樣,陣列dd原有三個值就變為
四、陣列的引用
陣列只是一系列變數的集合,所以每次只能使用陣列中的乙個元素。
陣列的引用必須指定明確的引用物件,一次只能引用乙個。如果需要使用整列陣列,則必須逐個使用。
例如:陣列aa[4]的值為
我們用aa來引用陣列aa中的值
當i=0時,aa[i]的值為4
當i=1時,aa[i]的值為3
當i=2時,aa[i]的值為2
當i=3時,aa[i]的值為1
mt4程式設計入門(六):市場資料取值
一、預定義陣列(mt4已經定義好的,可以直接使用)
MT4程式設計入門
mt4程式設計入門 一 mt4自定義指標的基本操作 mt4自定義指標的儲存目錄 指標編緝器與指標呼叫 一 mt4自定義指標儲存在c program files metatrader 4 experts indicators這個目錄中,該目錄中主要有二種型別的檔案,一種是mq4檔案,這是mt4自定義指...
4章選擇結構程式設計C語言入門習題
第四章選擇結構程式設計 一 選擇題 1 有以下程式 main 程式執行後的輸出結果是 a 123 b 234 c 223 d 233 2 以下程式段中與語句k a b?b c?1 0 0 功能等價的是 a if a b b c k 1 b if a b b c k 1 else k 0 c if a...
CSTL程式設計輕鬆入門
為c 標準不可缺少的一部分,stl應該是滲透在c 程式的角角落落裡的。stl不是實驗室裡的寵兒,也不是程式設計師桌上的擺設,她的激動人心並非曇花一現。本教程旨在傳播和普及stl的基礎知識,若能藉此機會為stl的推廣做些力所能及的事情,到也是件讓人愉快的事情。1 初識stl 解答一些疑問 1.1 乙個...