MT4智能交易系統(tǒng)-編程手冊(cè)
《MT4智能交易系統(tǒng)-編程手冊(cè)》由會(huì)員分享,可在線閱讀,更多相關(guān)《MT4智能交易系統(tǒng)-編程手冊(cè)(36頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
點(diǎn)擊這里查看如何添加 啟動(dòng) 測(cè)試智能交易系統(tǒng)軟件 智能交易系統(tǒng)軟件是一個(gè)創(chuàng)新的交易工具 允許客戶(hù)對(duì)自己的交易策略進(jìn)行設(shè)定并進(jìn)行測(cè)試 還可以創(chuàng)建 新的技術(shù)指標(biāo) 獲取交易系統(tǒng)的逐步解釋 反轉(zhuǎn)條 點(diǎn)擊 這里 MultiBank FX 程序員 MultiBank FX 向那些想要對(duì)其交易策略進(jìn)行自動(dòng)化 但又不想學(xué)習(xí)智能交易系統(tǒng)程序語(yǔ)言客戶(hù)提供程序服 務(wù) 欲知詳情 請(qǐng)聯(lián)系在線客服 智能交易系統(tǒng)軟件是用來(lái)對(duì)交易過(guò)程全程自動(dòng)化 免除交易商連續(xù)對(duì)市場(chǎng)進(jìn)行日常煩瑣的監(jiān)護(hù) 許多專(zhuān) 業(yè)交易商利用多層交易系統(tǒng) 對(duì)不同的市場(chǎng)和在不同的環(huán)境下進(jìn)行操作 通常他們?cè)谥姆治鲕浖?對(duì)交易戰(zhàn)略進(jìn)行編寫(xiě)和測(cè)試 比如 MetaStock 和 TradeStation 使用 MultiBank Trader 智能交易系統(tǒng)軟件 招招領(lǐng)先 你可以把交易系統(tǒng)產(chǎn)生的信號(hào)和真實(shí)賬戶(hù)聯(lián)系起 來(lái) 這樣連接以便于能追蹤和管理你的某個(gè)時(shí)段的開(kāi)倉(cāng)部位 提交的訂單和止損單 什么是智能交易系統(tǒng) 它是一個(gè)用特殊的 MetaQuotes 語(yǔ)言 4 MQL 4 編寫(xiě)的自動(dòng)交易系統(tǒng) ATS 和 特定的圖表聯(lián)系在一起 智能交易系統(tǒng)不僅能通知交易商交易機(jī)會(huì) 而且還能自動(dòng)執(zhí)行交易賬戶(hù)上的交易 直接發(fā)送到交易服務(wù)器 和許多的 IT 系統(tǒng)一樣 智能交易系統(tǒng)系統(tǒng)支持歷史數(shù)據(jù)戰(zhàn)略測(cè)試 圖表上表示的 登入 登出點(diǎn) 而且 智能交易系統(tǒng)的可執(zhí)行碼分別存儲(chǔ)于源文件和加密的執(zhí)行文件中 這種安排保證了交 易商所使用的邏輯隱藏 如有必要的話 而不會(huì)泄密 編寫(xiě)自己的智能交易系統(tǒng)軟件也非常容易 嘗試一下吧 不需要是專(zhuān)業(yè)編程高手 你只需要學(xué)會(huì)使用非常 簡(jiǎn)單的語(yǔ)言 MQL 4 語(yǔ)言 即使用戶(hù)不能自行編寫(xiě)智能交易系統(tǒng)規(guī)則 但是他需要熟悉 近的編程技能 不過(guò)很可能不需一個(gè)小時(shí)他便掌握了這些規(guī)則并能編寫(xiě)程序 無(wú)數(shù)的交易商為 MetaStock 和 TradeStation 軟件開(kāi)發(fā)了多種多樣的交易戰(zhàn)略 其中多數(shù)均被翻譯成 MQL 4 語(yǔ)言 這就使得用戶(hù)可以把前期累計(jì)的經(jīng)驗(yàn)并合到里面去 有些即學(xué)即用智能交易系統(tǒng)版本可以從 本頁(yè)下載 MultiBank Trader 軟件將智能交易系統(tǒng)在程序的根目錄 Experts 子目錄里保存為 MQ4 source text 和 EX4 可執(zhí)行碼 文件 交易商可以無(wú)限量地保存智能交易系統(tǒng)數(shù)據(jù) 這些數(shù)據(jù)可以通過(guò)導(dǎo)航條窗口 容易地加以管理 創(chuàng)建自定義智能交易系統(tǒng)數(shù)據(jù)的程序以及將數(shù)據(jù)和交易終端連接在 MultiBank Trader 用戶(hù)指南里有詳細(xì) 的描述 MetaQuotes 4 語(yǔ)言是用來(lái)編寫(xiě)自定義智能交易系統(tǒng)軟件 以便使交易程序管理自動(dòng)化以及執(zhí)行交易商自 己的交易策略 MetaQuotes 4 語(yǔ)言易學(xué) 易用 易創(chuàng)建 MetaQuotes 4 語(yǔ)言包括相當(dāng)數(shù)量的變量 用 來(lái)控制當(dāng)前和前期的報(bào)價(jià) 主要的算術(shù)和邏輯運(yùn)算和特征 主要的內(nèi)置指標(biāo)和用來(lái)開(kāi)啟和控制頭寸的命令 在語(yǔ)法上 該語(yǔ)言和由 TradeStation 技術(shù)有限公司開(kāi)發(fā)的簡(jiǎn)易語(yǔ)言相似 但是它有其自身的一些具體特 征 程序代碼是用 MetaEditor4 編輯器編寫(xiě)的 它能夠用不同的色彩集中反映 MQL 4 語(yǔ)言的不同結(jié)構(gòu) 因此 有助于用戶(hù)熟悉專(zhuān)家系統(tǒng)的文本 注解開(kāi)始于 符號(hào) 雙斜線 注解也可以用 斜線 星號(hào) 星號(hào) 斜線 組合 注解 就像在 C 編程語(yǔ)言一樣 設(shè)定和控制操作戰(zhàn)略 交易商保存一份日志文件 存儲(chǔ)產(chǎn)生的信號(hào)信息 變量輸出和已執(zhí)行交易的結(jié)果 智能交易系統(tǒng)日志保存在 MultiBank Trader 目錄下 logs YYYYMMDD log 文件里 當(dāng)前的日志可以從 下方的 終端 窗口 日志標(biāo)簽 直接進(jìn)入 進(jìn)入 MQL 4 語(yǔ)言的目錄系統(tǒng) 要么按目錄按鈕或從工具菜單打開(kāi) MetaQuotes 語(yǔ)言詞典窗口操作 這個(gè) 短小的手冊(cè)包含分類(lèi) 運(yùn)算 存儲(chǔ)詞語(yǔ)等功能 使得用戶(hù)對(duì)該語(yǔ)言所用到的每個(gè)元素都有所了解 1 主要語(yǔ)言結(jié)構(gòu) 像其他任何語(yǔ)言一樣 MQL4 有一套構(gòu)成基本結(jié)構(gòu)的主要組成元素 這些組成元素以一種特殊的方式組合 排列的 以便代表適當(dāng)?shù)年愂龊捅磉_(dá) 語(yǔ)言的主要對(duì)象就是數(shù)據(jù) 包括三種類(lèi)型 數(shù)字 邏輯和排列 所有的數(shù)值均采用雙格式 邏輯數(shù)據(jù)可能 包括真值和假值 排列就是用省略號(hào)標(biāo)注的一系列字符 字符串也叫做文本串 數(shù)據(jù)可以包含在適當(dāng)類(lèi)型 的變量之中 或直接由程序的源文本表現(xiàn)出來(lái) 一個(gè) MetaQuotes 語(yǔ)言陳述指一個(gè)完整的用法說(shuō)明 陳述可以包括保留字 運(yùn)算符號(hào) 數(shù)據(jù) 變量 表達(dá) 式或標(biāo)點(diǎn)符號(hào) 而且總是以分號(hào)結(jié)尾 保留字指具有特定或特別意義的預(yù)先設(shè)定的詞語(yǔ) 運(yùn)算符號(hào)指在數(shù)據(jù) 變量和 或 表達(dá)式中特定的具體運(yùn)算符號(hào) 變量是用來(lái)限制數(shù)字 排列或邏輯數(shù)據(jù)的 表達(dá)式指保留字 變量 數(shù)據(jù)和運(yùn)算符號(hào)的組合 因?yàn)樗鼈兙哂姓Z(yǔ)言的 3 中類(lèi)型 保留字 變量 數(shù)據(jù) 中的任一價(jià)值 標(biāo)點(diǎn)符號(hào)用來(lái)代表表達(dá)式 界定參數(shù) 區(qū)分詞語(yǔ)或重新排列計(jì)算順序 2 標(biāo)點(diǎn)符號(hào) 字符 名稱(chēng) 描述 分號(hào) 結(jié)束 MetaQuotes 4 語(yǔ)言指令 圓括號(hào) 對(duì)表達(dá)式的值進(jìn)行分組 改變計(jì)算順序 標(biāo)注函數(shù)參數(shù)并啟動(dòng)變量描述表達(dá)式 標(biāo)注變量的初始值并在變量描述區(qū)排列組合 逗號(hào) 提取函數(shù)值時(shí) 對(duì)參數(shù)進(jìn)行區(qū)分在變量描述區(qū)對(duì)變量進(jìn)行區(qū) 分在描述排列長(zhǎng)度時(shí)對(duì)數(shù)字進(jìn)行區(qū)分區(qū)分進(jìn)入排列元素的指 標(biāo) 冒號(hào) 用在變量描述區(qū) 啟動(dòng)變量列表 引號(hào) 標(biāo)注一個(gè)文本 字 串 方括號(hào) 標(biāo)注數(shù)字 確定排列長(zhǎng)度標(biāo)注進(jìn)入某個(gè)特殊排列元素的數(shù)字 指數(shù) 標(biāo)注進(jìn)入歷史數(shù)據(jù)的期間數(shù)字 波形括號(hào) 充當(dāng)運(yùn)算括號(hào) 可以用來(lái)代替 begin end 將指令系列隔離成塊 注解括號(hào) 標(biāo)注注解 雙斜線 明確說(shuō)明單串注解的開(kāi)始 3 運(yùn)算符號(hào) 運(yùn)算符號(hào)分成 5 組 分配符號(hào) 字串符號(hào) 數(shù)學(xué)運(yùn)算符號(hào) 相關(guān)符號(hào)和邏輯符號(hào) 3 1 分配符號(hào) 分配符號(hào) 等號(hào) 是用來(lái)將具體數(shù)值 數(shù)字 排列或邏輯 視變量類(lèi)型而定 分配到變量中 分配值可 以是表達(dá)式的結(jié)果 比如 變量 Counter 0 Counter Counter 1 結(jié)果 反向變量取值為 1 變量值也可以分配來(lái)對(duì)元素進(jìn)行排列 3 2 字串符號(hào) 操作文本串 只有一個(gè)運(yùn)算符可以用上 加號(hào) 它是用來(lái)連接兩個(gè)字串的 比如 變量 字串 字串 some text 結(jié)果 字串變量包含 some text 這樣的文本串 允許將字串與數(shù)字和邏輯值結(jié)合起來(lái) 在后面的這個(gè) 例子里 數(shù)字及或邏輯值在結(jié)合前 應(yīng)轉(zhuǎn)化為字串類(lèi)型 比如 String string 1 因此 字串變量將包含 string1 的文本串 操作數(shù)不僅可以是數(shù)值 也可以是相應(yīng)的含有這樣數(shù)值類(lèi)型的變量 以及表達(dá)式 經(jīng)執(zhí)行后 便產(chǎn)生這樣 的數(shù)值 3 3 數(shù)學(xué)符號(hào) 4 種主要的數(shù)學(xué)運(yùn)算 加法 加號(hào) 減法 減號(hào) 乘法 星號(hào) 除法 斜線 都用在計(jì)算數(shù)值的數(shù)學(xué)表達(dá)式里 數(shù)學(xué)表達(dá)式的例子 Ask Bid 2 High 1 20 Point 3 4 相關(guān)符號(hào) 相關(guān)符號(hào)用來(lái)對(duì)同種類(lèi)型的兩個(gè)數(shù)值進(jìn)行比較 第一個(gè)數(shù)值和第二個(gè)數(shù)值進(jìn)行比較 產(chǎn)生邏輯值 真值 或 假值 小于 右小于號(hào) 等于 等號(hào) 不 等于 小于或等于 由相關(guān)表達(dá)式而取得的邏輯值用在 MetaQuotes II 語(yǔ)言的控制結(jié)構(gòu)里 比如 if FreeMargin 100 and FreeMargin 1000 If not Condition1 then exit 下面是邏輯運(yùn)算符號(hào)的結(jié)果表 Value1 Value2 Value1 OR Value2 True True True True False True False True True False False False Value1 Value2 Value1 AND Value2 True True True True False False False True False False False False Value1 NOT Value1 True False False True 4 固定字 MetaQuotes 4 語(yǔ)言使用下面的幾組固定字 1 邏輯符號(hào) AND NOT OR 2 MQL 4 語(yǔ)言指令 Array Begin Break Continue Define Downto Else End Exit For If Input Then To Variable While 界定語(yǔ)言指令結(jié)構(gòu)的固定字也叫做關(guān)鍵字 3 內(nèi)置函數(shù) Abs AccName AccountName Alert Ceil CloseOrder Comment Cos CurTime Day DayOfWeek DeleteOrder Exp Floor Highest Hour iADX iATR iBANDS iCCI iMA iMACD iMFI iMOM iRSI iSAR iSTO iWPR IsDemo IsIndirect LastTradeTime Log Lowest Minute Mod ModifyOrder Month MoveObject NumberToStr Ord OrderValue Period Pow Print PrintTrade Rand Round ServerAddress SetArrow SetObjectText SetOrder SetText Sin Sqrt Srand Symbol Tan TimeToStr Year 4 預(yù)先設(shè)定用戶(hù)變量 用戶(hù)定義變量 Lots StopLoss TakeProfit TrailingStop 5 預(yù)先設(shè)定交易終端變量 AccNum AccountNumber Ask Balance Bars Bid Close Credit Equity FreeMargin High Low Margin Open Point PriceAsk PriceBid PriceHigh PriceLow PriceTime Time TotalProfit TotalTrades Volume 6 預(yù)先設(shè)定內(nèi)置函數(shù)參數(shù) 宏命令 MODE CLOSE MODE EMA MODE HIGH MODE LOW MODE MAIN MODE MINUSDI MODE OPEN MODE PLUSDI MODE SIGNAL MODE SMA MODE STOPLOSS MODE TAKEPROFIT MODE VOLUME MODE WMA OBJ HLINE OBJ SYMBOL OBJ TEXT OBJ TRENDLINE OBJ VLINE OP BUY OP BUYLIMIT OP BUYSTOP OP SELL OP SELLLIMIT OP SELLSTOP SYMBOL ARROWDOWN SYMBOL ARROWUP SYMBOL CHECKSIGN SYMBOL STOPSIGN SYMBOL THUMBSDOWN SYMBOL THUMBSUP VAL CLOSEPRICE VAL CLOSETIME VAL COMISSION VAL COMMENT VAL LOTS VAL OPENPRICE VAL OPENTIME VAL PROFIT VAL STOPLOSS VAL SWAP VAL SYMBOL VAL TAKEPROFIT VAL TICKET VAL TYPE 實(shí)際上 上述固定字為宏記錄器 即語(yǔ)法分析程序用數(shù)值取而代之 宏記錄器的引入簡(jiǎn)化了編寫(xiě)用戶(hù)功能 要求的程序 更加方便 無(wú)關(guān)聯(lián)的重要詞語(yǔ)可以用來(lái)替代一些函數(shù)參數(shù)值 同樣可以用于色彩名稱(chēng) 7 色彩 AliceBlue AntiqueWhite Aqua Aquamarine Azure Beige Bisque Black BlanchedAlmond Blue BlueViolet Brown BurlyWood CadetBlue Chartreuse Chocolate Coral CornflowerBlue Cornsilk Crimson Cyan DarkBlue DarkCyan DarkGoldenrod DarkGray DarkGreen DarkKhaki DarkMagenta DarkOliveGreen DarkOrange DarkOrchid DarkRed DarkSalmon DarkSeaGreen DarkSlateBlue DarkSlateGray DarkTurquoise DarkViolet DeepPink DeepSkyBlue DimGray DodgerBlue FireBrick FloralWhite ForestGreen Fuchsia Gainsboro GhostWhite Gold Goldenrod Gray Green GreenYellow Honeydew HotPink IndianRed Indigo Ivory Khaki Lavender LavenderBlush LawnGreen LemonChiffon LightBlue LightCoral LightCyan LightGoldenrod LightGreen LightGrey LightPink LightSalmon LightSeaGreen LightSkyBlue LightSlateGray LightSteelBlue LightYellow Lime LimeGreen Linen Magenta Maroon MediumAquamarine MediumBlue MediumOrchid MediumPurple MediumSeaGreen MediumSlateBlue MediumSpringGreen MediumTurquoise MediumVioletRed MidnightBlue MintCream MistyRose Moccasin NavajoWhite Navy OldLace Olive OliveDrab Orange OrangeRed Orchid PaleGoldenrod PaleGreen PaleTurquoise PaleVioletRed PapayaWhip PeachPuff Peru Pink Plum PowderBlue Purple Red RosyBrown RoyalBlue SaddleBrown Salmon SandyBrown SeaGreen Seashell Sienna Silver SkyBlue SlateBlue SlateGray Snow SpringGreen SteelBlue Tan Teal Thistle Tomato Turquoise Violet Wheat White WhiteSmoke Yellow YellowGreen 所有的固定字均是非敏感字號(hào) 即它們可以小寫(xiě)也可以大寫(xiě) 4 1 智能交易系統(tǒng)向?qū)?智能交易系統(tǒng)向?qū)崾?MQL 4 允許編寫(xiě)智能交易系統(tǒng) 自編指標(biāo) 自編腳本和從模板中進(jìn)行編輯 預(yù)先設(shè)定參數(shù)或變量的名稱(chēng) 將會(huì)自動(dòng)在文本編輯欄中出現(xiàn)參數(shù)框架 4 2 MetaQuotes 4 語(yǔ)言的指令結(jié)構(gòu) 4 2 1 變量宣告和語(yǔ)句 在計(jì)算過(guò)程中保存臨時(shí)數(shù)據(jù)要求使用變量 變量在本程序的開(kāi)頭部分就用保留字 變量 排列和定義進(jìn)行 了敘述 他允許使用這些詞語(yǔ)的負(fù)數(shù)形式 即 Variables Arrays and Defines 這些詞中間總有一 個(gè)開(kāi)始變量的宣告敘述 這些詞語(yǔ)的差別如下 variable 語(yǔ)句簡(jiǎn)單變量 array 語(yǔ)句排列 define 語(yǔ)句附加用戶(hù)定義的變量 類(lèi)似于預(yù)先界定的用戶(hù)變量 均可以通過(guò)設(shè)置對(duì)話框進(jìn)行修改 即從外部修改 然而 又不像預(yù)先界定的變量 用戶(hù)變量可以在程序內(nèi)部的計(jì)算過(guò)程中進(jìn)行更改 變量宣告語(yǔ)法 變量 名稱(chēng) 初期值 這里名稱(chēng)就是變量的名字 初期值 就是變量的起初值 初期值對(duì)變量的類(lèi)型 數(shù)字 字串或邏輯值進(jìn)行界定 一個(gè)數(shù)字變量宣告的例子 Variable Counter 0 一個(gè)字串變量宣告的例子 Variable String1 任意字串 一個(gè)邏輯變量宣告的例子 Variable MyCondition false 數(shù)組聲明語(yǔ)法 Array ArrayName Array length 初始值 其中 數(shù)組長(zhǎng)度有一個(gè)或若干 多達(dá) 4 個(gè)數(shù)字 數(shù)字 number number number number 在 MetaQuotes 4 語(yǔ)言里 數(shù)組可能是 1 2 3 4 個(gè)元素長(zhǎng)度 一般情況下 數(shù)組就是一組可以用同 一個(gè)名稱(chēng)查找到的 并按照相繼成行定位數(shù)組且給定了數(shù)組元素的序列號(hào) 數(shù) 的變量 數(shù)組方便于對(duì)同 樣類(lèi)型的數(shù)據(jù)排序 數(shù)組的一個(gè)典型例子就是交易終端的歷史數(shù)據(jù) 比如 收盤(pán) 開(kāi)盤(pán) 高點(diǎn)位 低點(diǎn)位 交易量 這些數(shù)據(jù)作為單一元素?cái)?shù)組的 比如 Close 5 指后退 5 個(gè)交易期間的收盤(pán)值 兩個(gè)元素的 數(shù)組可能是一個(gè)簡(jiǎn)單表格 其中第一個(gè)分量為行而第二個(gè)分量則為列 Array MyTable 10 5 0 一個(gè) 10 行 5 列的表格 print MyTable 2 4 打印第二行的第 4 個(gè)元素 數(shù)組可能包括任何類(lèi)型的數(shù)值 數(shù)字 字串或邏輯值 但是應(yīng)該為同一類(lèi)型 其中的初期值在數(shù)組被宣告 時(shí)為特定的 附加用戶(hù)定義變量宣告語(yǔ)法 定義 名稱(chēng) 初期數(shù) 其中名稱(chēng)為變量名稱(chēng) 初期數(shù)為變量起初的數(shù)字值 應(yīng)該注意 附加用戶(hù)定義變量可能只為數(shù)字類(lèi)型 如上所述 用戶(hù)定義變量可以在程序的計(jì)算過(guò)程中進(jìn)行 修改 這些修改只能運(yùn)用到智能交易系統(tǒng)的當(dāng)前時(shí)段 直到特殊的智能交易系統(tǒng)從圖表中刪除或客戶(hù)終端 的操作結(jié)束 當(dāng)新的智能交易系統(tǒng)時(shí)段啟動(dòng)時(shí) 用戶(hù)定義變量值將重新初始化 4 2 2 退出語(yǔ)句 退出報(bào)告中斷智能系統(tǒng)軟件的操作 也就是所謂的預(yù)先設(shè)定的程序終止 4 2 3 IF THEN 條件語(yǔ)句 If Then 條件語(yǔ)句使得控制智能交易系統(tǒng)指令的執(zhí)行順序得以可能 該語(yǔ)句可能有不同的方式編寫(xiě) if Condition then Statement or if Condition then begin Statement Statement end 其中 條件為一個(gè)邏輯表達(dá)式 取值為 True 或 False Statement 指 MetaQuotes II 語(yǔ)言中的任何指令 符號(hào)括號(hào) Begin End 可能被波形括號(hào) 所替代 條件語(yǔ)句可能被用在對(duì)程序進(jìn)行分支 為達(dá)到此目的 另一個(gè)關(guān)鍵字 Else 要用上 語(yǔ)法 if Condition then Statement1 else Statement2 or if Condition then begin Statement Statement end else Statement Statement end or if Condition then begin Statement Statement end else Statement2 or if Condition then Statement1 else Statement Statement end 可以使用嵌套式的條件語(yǔ)句 一般說(shuō)來(lái) 語(yǔ)句可能由 MetaQuotes II 語(yǔ)言的任何合法指令表示 除 非變量宣告 因?yàn)閲?yán)格來(lái)說(shuō) 變量宣告并不是一個(gè)可執(zhí)行語(yǔ)句 4 2 4 WHILE 循環(huán) WHILE 循環(huán)確保在循環(huán)條件有效時(shí) 包含在循環(huán)主體中的語(yǔ)句的多次執(zhí)行 一個(gè)循環(huán)可以用 Break 語(yǔ)句 提前終止 迭代可以通過(guò)使用 Continue 語(yǔ)句停止 這個(gè)語(yǔ)句造成循環(huán)的下一個(gè)迭代開(kāi)始 即 Continue 后面的語(yǔ)句直到循環(huán)主體結(jié)束在本迭代中不得執(zhí)行 在條件語(yǔ)句中用 Break 和 Continue 是合理的 語(yǔ)法 while Condition begin Statement break continue end 其中 條件是循環(huán)執(zhí)行條件 在每個(gè)循環(huán)迭代之前計(jì)算出的一個(gè)邏輯表達(dá)式 取值為 True 或 False 語(yǔ)句是 MetaQuotes 4 語(yǔ)言的任何指令 符號(hào)括號(hào) Begin End 表示循環(huán)主體 可以被波形括號(hào) 替代 Break and Continue 描述也不是強(qiáng)制性的 Example Counter 1 while Counter Bars then break print Close Counter end 這個(gè)例子說(shuō)明一個(gè)可能被執(zhí)行 10 次的環(huán) 但是 若基準(zhǔn)值小于 10 循環(huán)就會(huì)提前終止 也就是說(shuō)循 環(huán)執(zhí)行 BARS 次 4 2 6 BREAK 中斷語(yǔ)句 中斷語(yǔ)句確保一個(gè) For 循環(huán)或一個(gè) While 循環(huán)早點(diǎn)終止 前例不僅說(shuō)明循環(huán)執(zhí)行 也說(shuō)明了中斷語(yǔ)句的 使用 Break 語(yǔ)句不僅用于循環(huán)主體之外 循環(huán)是嵌套式的 中斷語(yǔ)句中離其 近的循環(huán) 換言之 中 斷內(nèi)部循環(huán)的語(yǔ)句并沒(méi)中斷外部循環(huán) 4 2 7 CONTINUE 繼續(xù)語(yǔ)句 CONTINUE 繼續(xù)語(yǔ)句提前終止循環(huán)的迭代 并從循環(huán)主體開(kāi)始下一個(gè)迭代 換句話說(shuō) 在 Continue 之 后語(yǔ)句被忽略 比如 for Counter 1 to 10 begin if Counter Bars then continue print Close Counter end 這個(gè)例子說(shuō)明一個(gè)將被執(zhí)行了差不多 10 次的循環(huán) 但收盤(pán)值 counter 被打印不會(huì)比基準(zhǔn)次數(shù)多 代表 MetaQuotes 4 語(yǔ)言的其他語(yǔ)句 4 3 交易中斷的預(yù)選界定變量為了 大的方便用戶(hù) 交易中斷的一 些變量可以從智能系統(tǒng)輸入 AccountNumber 賬號(hào) 同義詞 AccNum Ask 賣(mài)價(jià) 買(mǎi)方出價(jià) Balance 交易賬戶(hù)的余額值 Bars 圖表上條形的數(shù)目 說(shuō)明用數(shù)據(jù)填充圖表程度的非常重要的一個(gè)變量 Bid 買(mǎi)入價(jià) 賣(mài)方要價(jià) Close 收盤(pán)價(jià)格 Credit 信用優(yōu)先 Equity 賬戶(hù)狀況 包括未實(shí)現(xiàn)利潤(rùn) FreeMargin 交易賬戶(hù)的自由保證金值 也用來(lái)核查賬戶(hù)資金的可用性 High 期間 高價(jià)位 Low 期間 低價(jià)位 Margin 用來(lái)支撐開(kāi)倉(cāng)部位的資金 保證金 Open 開(kāi)盤(pán)價(jià) Point 當(dāng)前金融工具單點(diǎn)上的價(jià)值 此點(diǎn)此時(shí)智能交易系統(tǒng)系統(tǒng)運(yùn)行 比如 USD JPY 0 01 USD CHF 0 0001 等 PriceAsk 在市場(chǎng)觀測(cè)窗口上顯示的當(dāng)前賣(mài)價(jià) PriceBid 在市場(chǎng)觀測(cè)窗口上顯示的當(dāng)前買(mǎi)價(jià) PriceHigh 當(dāng)前 24 小時(shí)期間的 高買(mǎi)價(jià) PriceLow 當(dāng)前 24 小時(shí)期間的 高賣(mài)價(jià) PriceTime 在市場(chǎng)觀測(cè)窗口上顯示的當(dāng)前時(shí)間 Time 價(jià)格圖表上的條形時(shí)間的基準(zhǔn)時(shí)間 TotalProfit 所有開(kāi)倉(cāng)部位的總未實(shí)現(xiàn)利潤(rùn) TotalTrades 開(kāi)倉(cāng)部位的總數(shù)和交易中斷上的延遲訂單 Volume 交易量 期間交易的數(shù)目 應(yīng)注意到 Close Open High Low Volume Time 為歷史數(shù)據(jù)數(shù)組 seriesarrays 在上個(gè)交易期 間允許進(jìn)入這些數(shù)據(jù) 4 4 內(nèi)置函數(shù) MetaQuotes 4 語(yǔ)言提供許多功能 可用于多種多樣的場(chǎng)合 這些包括技術(shù)指標(biāo) 交易功能 時(shí)間功能 數(shù)學(xué)和三角函數(shù)功能 數(shù)據(jù)轉(zhuǎn)換和輸出函數(shù) 等 Abs 返回這個(gè)數(shù)值的絕對(duì)值 模塊 語(yǔ)法 Abs 函數(shù) n 個(gè)表達(dá)式 參 數(shù) 數(shù)值 AccountName 返回包含用戶(hù)名的文本串 同義詞 AccName Alert 產(chǎn)生包含用戶(hù)定義數(shù)據(jù)的對(duì)話屏語(yǔ)法 Alert 參數(shù)的任何非零數(shù)都可能 Ceil 返回代表 小接近整數(shù)的一個(gè)數(shù)字 它等于或大于特定的數(shù)值 語(yǔ)法 Ceil n 個(gè)表達(dá)式 參數(shù) 數(shù)值 CloseOrder 收盤(pán)頭寸 部位 語(yǔ)法 收盤(pán)頭寸 訂單 單位 價(jià)格 滑動(dòng)量 色彩 Parameters 參數(shù) order 開(kāi)倉(cāng)部位的訂單數(shù) lots 單位數(shù) price 優(yōu)先收 盤(pán)價(jià) slippage 大價(jià)格滑動(dòng) 值 color 圖表上交叉點(diǎn)的色 彩 Comment 在圖表的左 上角產(chǎn)生的用戶(hù)定義數(shù)據(jù) 語(yǔ)法 Comment 參數(shù)的任何非零數(shù)都可能 Cos 計(jì)算和返回?cái)?shù)值的余弦值 代表用弧度表示的角度 語(yǔ)法 Cos n 分表達(dá)式 參數(shù) 數(shù)值 CurTime 返回從 1970 年元月 1 日起所經(jīng)過(guò)的秒數(shù) Day 返回當(dāng)月當(dāng)前日序列號(hào) DayOfWeek 返回當(dāng)周當(dāng)前日序列號(hào) 1 星期日 2 星期一 7 星期六 DeleteOrder 刪除前期提交的延遲訂單語(yǔ)法 DeleteOrder 訂單 參數(shù) 訂單 延遲部位的訂單數(shù) Exp 返回代表特定數(shù)值指數(shù)的一個(gè)數(shù)目 語(yǔ)法 Exp n 個(gè)表達(dá)式 參數(shù) 數(shù)值 Floor 返回代表 大接近整數(shù)的一個(gè)數(shù)字 它等于或小于特定的數(shù)值 語(yǔ)法 Floor n 個(gè)表達(dá)式 參數(shù) 數(shù)值 Highest 返回期間特定數(shù)間的 Open Low High Close or Volume 取決于 類(lèi)型 參數(shù) 的 大值 語(yǔ)法 Highest 類(lèi)型 beginbar 期間 Parameters 參數(shù) Type 類(lèi)型 一個(gè)返回變量 可能去下列數(shù)值 MODE OPEN MODE LOW MODE HIGH MODE CLOSE MODE VOLUMEbeginbar 表示條形的轉(zhuǎn)換 與當(dāng)前條形有關(guān) 并從中取值 periods 期間 計(jì)算執(zhí)行依據(jù)的期間數(shù) Hour 返回在 24 小時(shí)期間內(nèi)當(dāng)前小時(shí)的序列數(shù) iADX 平均指導(dǎo)動(dòng)作目錄 語(yǔ)法 iADX 期間 模式 轉(zhuǎn)換 參數(shù) period 計(jì)算的期間數(shù) mode 數(shù)據(jù)類(lèi)型 可以取下列數(shù)值 MODE MAIN 主要指標(biāo) MODE PLUSDI line DI MODE MINUSDI line DI shift 與當(dāng)前條形有關(guān)的轉(zhuǎn)換 后退期間數(shù) 為數(shù)據(jù)待取值 的依據(jù) iATR 平均間距的指標(biāo)語(yǔ)法 iATR 期間 轉(zhuǎn)換 參數(shù) period 計(jì)算期間數(shù) shift 與當(dāng)前條形 后退期間數(shù) 相關(guān)的轉(zhuǎn)換 為數(shù)據(jù)待取值的依據(jù) 平均移動(dòng)收斂 發(fā)散指標(biāo) iBANDS 布林帶指數(shù) 語(yǔ)法 iBANDS 期間 誤差 模式 轉(zhuǎn)換 參數(shù) period 計(jì)算的期間數(shù) deviation 誤差 mode 可以取下列值 MODE MAIN 主線 滑移 MODE LOW 下邊線 MODE HIGH 上邊線 shift 與當(dāng)前條形 后退期間數(shù) 相關(guān)的轉(zhuǎn)換 為數(shù)據(jù) 待取值的依據(jù) iCCI 交易通道指標(biāo)語(yǔ)法 iCCI 期間 轉(zhuǎn)換 參數(shù) period 計(jì)算的 期間數(shù) shift 與當(dāng)前條形 后退期間數(shù) 相關(guān)的轉(zhuǎn)換 為數(shù)據(jù)待取值 的依據(jù) iMA 移動(dòng)平均指標(biāo)語(yǔ)法 iMA 期間 模式 轉(zhuǎn)換 參數(shù) period 計(jì)算的期間數(shù) mode 計(jì)算模式 可以取下列值 MODE SMA MODE EMA MODE WMA shift 與當(dāng)前條形 后退期間數(shù) 相關(guān)的轉(zhuǎn)換 為數(shù)據(jù)待取值的依據(jù) iMACD 平均移動(dòng)收斂 發(fā)散指標(biāo) 語(yǔ)法 iMACD fast ema period slow ema period signal period mode shift 參數(shù) fast ema period 計(jì)算 快 平均移動(dòng)期間 通常 12 slow ema period number of periods for calculation of the slow moving average usually 26 signal period 計(jì)算 慢 平均移動(dòng)期間 通常 12 mode 數(shù)據(jù)源 可以取下列值 MODE MAIN 主要指標(biāo) MODE SIGNAL 信號(hào)列 shift 與當(dāng)前條形 后退期間 數(shù) 相關(guān)的轉(zhuǎn)換 為數(shù)據(jù)待取值的依據(jù) iMFI 現(xiàn)金流量指標(biāo)語(yǔ)法 iMFI 期間 轉(zhuǎn)換 參數(shù) period 計(jì)算期間數(shù) shift 與當(dāng)前條形 后退期間數(shù) 相關(guān)的轉(zhuǎn)換 為數(shù)據(jù)待取值的依據(jù) iMOM 動(dòng)量指標(biāo)語(yǔ)法 iMOM 期間 轉(zhuǎn)換 參數(shù) period 計(jì)算期間數(shù) shift 與當(dāng)前條形 后退期間數(shù) 相關(guān)的轉(zhuǎn)換 為數(shù)據(jù)待取值的依據(jù) iRSI 相對(duì)強(qiáng)弱指標(biāo)語(yǔ)法 iRSI 期間 轉(zhuǎn)換 參數(shù) 期間 計(jì)算期間數(shù) iSAR 拋物線語(yǔ) 法 iSAR 步驟 大值 轉(zhuǎn)換 參 數(shù) 步驟 增量 通常是 0 02 大值 大值 通常是 0 02 iSTO 隨機(jī)振蕩 指標(biāo) 語(yǔ)法 iSTO K 期間 D 期間 慢 方法 模式 轉(zhuǎn)換 參數(shù) Kperiod K 線期間 Dperiod D 線期間 slowing 慢值 method 計(jì)算方法 取下列值 MODE SMA 簡(jiǎn)單平均 MODE EMA 指數(shù)值 MODE WMA 權(quán)重值 mode 數(shù)據(jù)源 可以取下列值 MODE MAIN 主指標(biāo)線 MODE SIGNAL 信號(hào)指標(biāo)線 shift 與當(dāng)前條形 后退期間數(shù) 相關(guān)的轉(zhuǎn)換 為數(shù)據(jù)待取值的依據(jù) iWPR 威廉氏百分?jǐn)?shù)范圍指標(biāo) 語(yǔ)法 iWPR 期間 轉(zhuǎn)換 參 數(shù) 期間 計(jì)算期間數(shù) shift 與當(dāng)前條形 后退期間數(shù) 相關(guān)的轉(zhuǎn)換 為 數(shù)據(jù)待取值的依據(jù) IsDemo 如果智能交易系統(tǒng)系統(tǒng)在試用帳戶(hù)運(yùn)行 返回邏輯值 否則會(huì)返回錯(cuò)誤值 IsIndirect 如果使用反向方式對(duì)特定工具進(jìn)行計(jì)算 會(huì)返回正確的邏輯值 否則會(huì)返回錯(cuò)誤值 LastTradeTime 返回代表 近交易執(zhí)行時(shí)間的一個(gè)數(shù)字 SetOrder DelOrder CloseOrder ModifyOrder 計(jì)算從 1970 年元月 1 日 0 點(diǎn)經(jīng)過(guò)的秒鐘數(shù) Log 特定正數(shù)值的對(duì)數(shù)語(yǔ)法 日志 n 個(gè)表達(dá)式 參數(shù) 正數(shù)值 Lowest 特定期間返回開(kāi)倉(cāng) 低 高 收盤(pán)或交易量 小值 依據(jù) 類(lèi)型 參數(shù)而定 returns 語(yǔ)法 低點(diǎn) 類(lèi)型 beginbar 期間 參數(shù) type 可以取下列值 MODE OPEN MODE LOW MODE HIGH MODE CLOSE MODE VOLUME beginbar 表示條形的轉(zhuǎn)換 與當(dāng)前條形有關(guān) 并從中取值 periods 期 間 計(jì)算執(zhí)行依據(jù)的期間數(shù) Minute 返回當(dāng)前小時(shí)的分鐘序列數(shù) Mod 返回代表著一個(gè)接著一個(gè)的數(shù)值的整數(shù)語(yǔ)法 Mod n 個(gè)表達(dá)式 1 n 個(gè)表達(dá)式 2 參數(shù) 數(shù)值 1 數(shù)值 2 ModifyOrder 前期開(kāi)倉(cāng)部位或延遲訂單修改的特征語(yǔ) 法 ModifyOrder 訂單 價(jià)格 止損 獲利 色彩 參數(shù) order 開(kāi)倉(cāng)或延遲部位的數(shù)目或訂單 price 新的價(jià)格 僅適用于延遲部位 stoploss 新的止損水平線 takeprofit 新的獲利水平線 color 圖表上象形 圖 的色彩 Month 返回當(dāng)前月的續(xù)列號(hào) MoveObject 移動(dòng)或建立命名對(duì)象 語(yǔ)法 MoveObject 名稱(chēng) 類(lèi)型 時(shí)間 價(jià)格 時(shí)間 2 時(shí)間 2 參數(shù) name 文本串形式的名稱(chēng) type 對(duì)象類(lèi)型 可以取下列值 OBJ HLINE 水平線 OBJ VLINE 垂直線 OBJ TRENDLINE 趨勢(shì)線 OBJ SYMBOL 設(shè)定象形圖 OBJ TEXT 文本串 time 參照?qǐng)D表第一時(shí)間 price 參 照?qǐng)D表第一價(jià)格 time2 參照?qǐng)D表第二時(shí)間 price2 參照?qǐng)D表第二時(shí)間 NumberToStr 返回特定數(shù)值轉(zhuǎn)換成特定準(zhǔn)確格式的文本串 通過(guò)在十進(jìn)位點(diǎn)數(shù)之后的其他 4 個(gè)數(shù)產(chǎn)生 的數(shù)值的函數(shù) 語(yǔ)法 NumberToStr 數(shù)字 準(zhǔn)確性 參數(shù) number 特定數(shù)值 precision 準(zhǔn)確格 式 十進(jìn)位點(diǎn)數(shù)的數(shù)字 OrderValue 返回訂單特定價(jià)值的之一 語(yǔ)法 OrderValue 部位 模式 參數(shù) position 交易終端列表的訂單頭寸部位 從 1 開(kāi)始 mode 返回?cái)?shù)據(jù)類(lèi)型 可以取下列值 VAL TICKET 訂單數(shù) VAL OPENTIME 定定開(kāi)倉(cāng)時(shí)間 VAL TYPE 訂單類(lèi)型 VAL LOTS 要求單位數(shù)目 VAL SYMBOL 工具名稱(chēng) 以文本串的形式 VAL OPENPRICE 開(kāi)盤(pán)價(jià) VAL STOPLOSS 止損水平線 VAL TAKEPROFIT 獲利水平線 VAL CLOSEPRICE 收盤(pán)價(jià) VAL COMISSION 委托交易量 VAL SWAP 部位展期的展期費(fèi)用數(shù) 額 VAL PROFIT 交易利潤(rùn)數(shù) VAL COMMENT 以文本串形式對(duì)特殊部位的注解 VAL CLOSETIME 訂單收盤(pán)時(shí)間 Ord 和 OrderValue 完全相同 Period 返回界定的已用期間分鐘數(shù) Pow 返回由 nBaseExpression 數(shù)值提高到 nExponentExpression 倍數(shù)而產(chǎn)生的數(shù)值 參見(jiàn)參數(shù) 語(yǔ)法 Pow nBaseExpression nExponentExpression 參數(shù) 數(shù)值 1 數(shù)值 2 Print 打印由用戶(hù)在系統(tǒng)日志里界定的數(shù)據(jù) 語(yǔ)法 Print 參數(shù)的任何非零數(shù)均可能 PrintTrade 存儲(chǔ)日志中特殊部位的細(xì)節(jié)語(yǔ)法 PrintTrade 部位 參數(shù) 部位 在交易終端里已開(kāi)倉(cāng)部位數(shù)字 Rand 返回一個(gè)產(chǎn)生的偽隨機(jī)數(shù)字 在使用此函數(shù)之前 偽隨機(jī)數(shù)字發(fā)生器應(yīng)用 Srand 函數(shù)調(diào)整到初始 狀態(tài) 如果偽隨機(jī)數(shù)字發(fā)生器不用 就在啟動(dòng)程序時(shí)一次調(diào)整到初始狀態(tài) Round 返回代表接近整數(shù)的特定數(shù)值語(yǔ) 法 Round n 個(gè)表達(dá)式 參數(shù) 一個(gè)數(shù)值 ServerAddress 以文本串的形式返回服務(wù)器 IP 地址 SetArrow 設(shè)定圖表繪圖標(biāo)志語(yǔ)法 SetArrow 時(shí)間 價(jià)格 標(biāo)志和色彩 參數(shù) time 參照?qǐng)D表第一時(shí)間 price 參照?qǐng)D表第 一價(jià)格 symbol 從 Wingdings 字體設(shè)定標(biāo) 志 的數(shù)值 color 圖表顏色 SetObjectText 指定文本串到特定的對(duì)象語(yǔ)法 SetObjectText 稱(chēng) 文本 字體 尺寸 顏色 參數(shù) name 對(duì)象名稱(chēng) text 特定文本 font 字體命 size 字體大小 color 文本色彩 SetOrder 用于開(kāi)倉(cāng)或設(shè)定延遲訂單的主函數(shù) 語(yǔ)法 SetOrder 操作 單位 價(jià)格 滑動(dòng) 止損 獲利 色彩 參數(shù) operation 操作類(lèi)型 可以取下列值 OP BUY 開(kāi)始購(gòu)買(mǎi)部位 OP SELL 開(kāi)始出售部位 OP BUYLIMIT T OP SELLLIMIT OP BUYSTOP OP SELLSTOP 提交延遲訂單 lots 單 位數(shù) price 交易優(yōu)先收盤(pán)價(jià) slippage OP BUY 和 OP SELL 操作的 大價(jià)格滑動(dòng) stoploss 止損水平線 takeprofit 獲利水平線 color 當(dāng)提取函數(shù)時(shí) 圖表上箭頭的色彩 SetText 把圖表種的文本創(chuàng)放到特定的位置 語(yǔ)法 SetText 時(shí)間 價(jià)格 字符串 色彩 參數(shù) time 參照?qǐng)D表第一時(shí)間 price 參照 圖表第一價(jià)格 string 文本串 color 文本 色彩 Sin 計(jì)算并返回代表弧度角度的數(shù)值語(yǔ)法 Sin n 個(gè)表達(dá)式 參數(shù) 數(shù)值 Sqrt 計(jì)算和返回特定正數(shù)值的平方根語(yǔ)法 Sqrt n 個(gè)表達(dá)式 參數(shù) 正數(shù)值 Srand 設(shè)定偽隨機(jī)數(shù)字發(fā)生器到初始狀態(tài) 如果使用發(fā)生器 將其在啟動(dòng)程序時(shí)一次性設(shè)置到初始狀 態(tài) 初始設(shè)置所用的 佳值就是時(shí)間函數(shù)回歸的數(shù)字 在此情況下 產(chǎn)生順序的隨機(jī)性就增大 語(yǔ)法 Srand 時(shí)間 參數(shù) 正數(shù)值 Symbol 返回智能交易系統(tǒng)運(yùn)行的金融工具名稱(chēng)的文本串 Tan 計(jì)算并返回代表角度弧度的正切數(shù)值 語(yǔ)法 Tan n 個(gè)表達(dá)式 參數(shù) 數(shù)值 TimeToStr 返回帶有 yyyy mm dd hh mi 類(lèi)型的文本串 由代表經(jīng)過(guò) 1970 元月 1 日起的秒鐘數(shù) 的特定數(shù)值 語(yǔ)法 TimeToStr 時(shí)間 參數(shù) 正數(shù)值 Year 返回當(dāng)年數(shù) 逐步創(chuàng)建簡(jiǎn)單顧問(wèn)軟件 我們現(xiàn)在就創(chuàng)建智能交易系統(tǒng) 并在運(yùn)行標(biāo)準(zhǔn)的平滑異同移動(dòng)平均線指標(biāo) 該系統(tǒng)具有較強(qiáng)的獲利能力 支持追蹤止損和 大的保障安全操作 下面所給的例子 交易通過(guò)對(duì)單一的部位進(jìn)行開(kāi)倉(cāng)和控制 交易原則 多頭進(jìn)場(chǎng) MACD 指標(biāo)在零點(diǎn)之下 向上走 或由下行信號(hào)線穿過(guò) 空頭進(jìn)場(chǎng) MACD 指標(biāo)在零點(diǎn)以上 向下走 或由上行信號(hào)線穿過(guò) 多頭出場(chǎng) 通過(guò)執(zhí)行獲利限額 移動(dòng)止損或當(dāng) MACD 指標(biāo)穿過(guò)信號(hào)線 MACD 指標(biāo)在零點(diǎn) 以上 向下走 或由上行信號(hào)線穿過(guò) 空頭出場(chǎng) 通過(guò)執(zhí)行獲利限額 移動(dòng)止損或當(dāng) MACD 指標(biāo)穿過(guò)信號(hào)線 MACD 指標(biāo)在零點(diǎn)以下 向上走 或由下行信號(hào)線穿過(guò) 重要提示 為了排除 MACD 指針于我們的分析出現(xiàn)的微不足道的變化 圖表上的 小山丘 我們引 入另外一種控制繪圖中的 小山丘的大小 的方法如下 指針大小應(yīng)至少為 低價(jià)格的 5 個(gè)單位 5 Point 表示 USD CHF 0 0005 和 USD JPY 0 05 步驟 I 編寫(xiě)智能交易系統(tǒng)描述 將鼠標(biāo)指針點(diǎn)到導(dǎo)航窗口的智能交易系統(tǒng)區(qū) 按鼠標(biāo)右鍵 在出現(xiàn)的菜單里選中 創(chuàng)建 指令 智能交易 系統(tǒng)的啟動(dòng)向?qū)б竽氵M(jìn)入某些數(shù)據(jù) 在出現(xiàn)的窗口 我們寫(xiě)入智能交易系統(tǒng)名稱(chēng) Name MACD 樣本 作者 Author 指示你的名字 連接 Link 連接到網(wǎng)站 在注解 Notes 里寫(xiě)入 以 MACD 為基礎(chǔ)的智能交易系統(tǒng)測(cè)試樣本 第 二步 創(chuàng)建程序的主結(jié)構(gòu) 智能交易系統(tǒng)代碼只有幾頁(yè) 即便是這幾頁(yè)代碼也挺難掌握 特別是考慮這個(gè)事實(shí) 我們不是專(zhuān)業(yè)的程序 開(kāi)發(fā)商 另外 我們根本不需要專(zhuān)業(yè)性的描述 對(duì)嗎 為了對(duì)標(biāo)準(zhǔn)智能交易系統(tǒng)的結(jié)構(gòu)有些了解 我們現(xiàn)在就看看下面的這個(gè)描述吧 1 原始數(shù)據(jù)檢查 檢查圖表 圖表上的條形數(shù) 核查外部變量值 單位 Lots S L T P T S 2 設(shè)定快速數(shù)據(jù)存取內(nèi)部變量 3 檢查交易終端 是否可用 若是的話 那么 檢查賬戶(hù)資金的可用性 等 是否可能來(lái)做多頭買(mǎi)賣(mài) 買(mǎi)單 開(kāi)倉(cāng) 買(mǎi) 并離開(kāi) 是否能做空倉(cāng) 賣(mài)出 空倉(cāng) 賣(mài) 并離開(kāi) 退出智能交易系統(tǒng) 4 控制循環(huán)周期中前期的開(kāi)倉(cāng)部位 如果是做多頭 是否應(yīng)出倉(cāng) 是否應(yīng)該設(shè)置追蹤止損單 如果是做多頭 是否應(yīng)該出倉(cāng) 是否應(yīng)該設(shè)置追蹤止損單 結(jié)果相當(dāng)簡(jiǎn)單 只有 4 個(gè)主區(qū)塊 現(xiàn)在 請(qǐng)跟隨著每個(gè)結(jié)構(gòu)的步驟來(lái)創(chuàng)建代碼 1 原始數(shù)據(jù)的檢索這條代碼通常從智能交易系統(tǒng)移到另一個(gè)稍微更改的另一個(gè)代碼 實(shí)際上為檢索的 標(biāo)準(zhǔn)區(qū)塊 若 Bars 200 就離開(kāi) 圖表不足 200bars 退出 若獲利 10 則退出 錯(cuò)誤 獲利參數(shù) 2 為了加快數(shù)據(jù)存取 設(shè)置內(nèi)部變 量 在程序代碼中 很有必要存取指標(biāo)值或處理計(jì)算值 為了簡(jiǎn)化代碼和加速存儲(chǔ) 初始狀態(tài)下 數(shù)據(jù)嵌套在 內(nèi)部變量里 MacdCurrent iMACD 12 26 9 MODE MAIN 0 MACD value on the current bar MacdPrevious iMACD 12 26 9 MODE MAIN 1 MACD value on the previous bar SignalCurrent iMACD 12 26 9 MODE SIGNAL 0 Signal Line value on the current bar SignalPrevious iMACD 12 26 9 MODE SIGNAL 1 Signal Line value on the previous bar MaCurrent iMA MATrendPeriod MODE EMA 0 moving average value on the current bar MaPrevious iMA MATrendPeriod MODE EMA 1 moving average value on the previous bar 現(xiàn)在 不用晦澀難懂的 iMACD 12 26 9 MODE MAIN 0 符號(hào) 我們?cè)诔绦蛑杏煤?jiǎn)單的寫(xiě)入字 符 MacdCurrent 程序文本取而代之 所有的智能交易系統(tǒng)中的變量都依據(jù) MQL II 語(yǔ)言進(jìn)行基 本的解釋 所以 我們?cè)诔绦虻拈_(kāi)頭加入這段說(shuō)明 var MacdCurrent 0 MacdPrevious 0 SignalCurrent 0 SignalPrevious 0 var MaCurrent 0 MaPrevious 0 MQL 4 語(yǔ)言還另外推出了另外一個(gè)用戶(hù)自定義變量概念 它可以在程序外設(shè)定 而不會(huì)對(duì)任何系 統(tǒng)程序下的源程序文本造成干擾 這個(gè)特點(diǎn)使程序更具靈活性 MATrendPeriod 變量就是這種 類(lèi)型的一個(gè)用戶(hù)自定義變量 所以 我們?cè)诔绦虻拈_(kāi)頭加入這段說(shuō)明 defines MATrendPeriod 56 3 檢查交易終端 是否可用 若是 那么 在智能交易系統(tǒng)里 我們只能使用當(dāng)前頭寸而不能操作 延遲的訂單 然而 為了安全起見(jiàn) 我們介紹如何利用交易終端建檢查前期提交的訂單 If TotalTrades 1 then no opened orders identified 檢查 賬戶(hù)的可用資金等 在分析市場(chǎng)狀況之前 好先檢查一下你的賬戶(hù)的資金情 況 以確保賬戶(hù)中有充足的開(kāi)倉(cāng)頭寸的資金 如果凈保證金 1000 那么退出 無(wú)資金 退出 可否做多頭 買(mǎi)入 多頭買(mǎi)入的條件 MACD 指標(biāo)在 0 軸以下 為向上趨勢(shì)且與向下趨勢(shì)的信號(hào)線相交 這和我們?cè)?MQL II 語(yǔ)言中所描述的一樣 注意 我們可以按照原已保存在變量中的這 個(gè)指標(biāo)值進(jìn)行操作 If MacdCurrentSignalCurrent and MacdPrevious MACDOpenLevel Point and the indicator plotted a decent hillock MaCurrent MaPrevious then bull trend SetOrder OP BUY Lots Ask 3 0 Ask TakeProfit Point RED executing Exit exiting since after the execution of a trade there is a 10 second trading timeout 前面我們提到了一種監(jiān)控圖表中所要顯示 小丘 的大小的一種方法 MACDOpenLevel 變量是一個(gè)用戶(hù)定義變量 可以在不影響程序文本的情況下 進(jìn)行更改 以確保更多的 靈活性 在程序的開(kāi)始部分 我們加入一段這個(gè)變量的描述 以及下面所用到的變量描 述 defines MACDOpenLevel 3 MACDCloseLevel 2 是否可以做空頭 賣(mài)出 空頭賣(mài)出的條件 MACD 指標(biāo)在 0 軸以上 為向下趨勢(shì)且 與向上趨勢(shì)的信號(hào)線相交 符號(hào)表示如下 If MacdCurrent 0 and MacdCurrentSignalPrevious and MacdCurrent MACDOpenLevel Point and MaCurrent MaPrevious then SetOrder OP SELL Lots Bid 3 0 Bid TakeProfit Point RED executing Exit exiting Exit no new positions opened just exit 4 控制循環(huán)周期中前期已開(kāi)倉(cāng)的頭寸 for cnt 1 to TotalTrades if OrderValue cnt VAL TYPE 0 and MacdCurrentSignalPrevious and MacdCurrent MACDCloseLevel Point then CloseOrder OrderValue cnt VAL TICKET OrderValue cnt VAL L OTS Bid 3 Violet Exit exit 是否應(yīng)該需要重新設(shè)定移動(dòng)止損點(diǎn) 僅在持倉(cāng)并已超過(guò)移動(dòng)止損點(diǎn)數(shù)點(diǎn)并獲 利的情況下 而且新的移動(dòng)止損點(diǎn)比前期的要更有理一些 我們才重新設(shè)置移 動(dòng)止損點(diǎn) If TrailingStop 0 then if trailing stops are used If Bid OrderValue cnt VAL OPENPRICE Point TrailingStop then If OrderValue cnt VAL STOPLOSS Bid Point TrailingStop then ModifyOrder OrderValue cnt VAL TICKET OrderValue cnt VAL OPENPRICE Bid Point TrailingStop OrderValue cnt VAL TAKE PROFIT Red Exit 若是處在空頭部位 else otherwise it is a short position 是否應(yīng)該平倉(cāng) 出現(xiàn)空頭的條件 MACD 指針與信號(hào)線相交 MACD 指針在 0 軸以下 為向上趨勢(shì)且與向下趨勢(shì)的信號(hào)線相交 If MacdCurrentSignalCurrent and MacdPrevious MACDCloseLevel Point then CloseOrder OrderValue cnt VAL TICKET OrderValue cnt VAL L OTS Ask 3 Violet Exit exit 是否應(yīng)該重新設(shè)定移動(dòng)止損點(diǎn) 僅在持倉(cāng)并已超過(guò)移動(dòng)止損點(diǎn)數(shù)點(diǎn)并獲利的 情況下 而且新的移動(dòng)止損點(diǎn)比前期的要更有理一些 我們才重新設(shè)置移動(dòng)止 損點(diǎn) If TrailingStop 0 then the user has put a trailing stop in his settings so we set out to check it If OrderValue cnt VAL OPENPRICE Ask Point TrailingStop then If OrderValue cnt VAL STOPLOSS 0 or OrderValue cnt VAL STOPLOSS Ask Point TrailingStop then ModifyOrder OrderValue cnt VAL TICKET OrderValue cnt VAL OPENPRICE Ask Point TrailingStop OrderValue cnt VAL TAKE PROFIT Red Exit end 結(jié)束所有的花括號(hào) 但仍然有效 所以 按照步驟 循序漸進(jìn)地學(xué)習(xí) 我們已經(jīng)學(xué)會(huì)了編寫(xiě)智能交易系統(tǒng) 第三步 將所有程序代碼集合起 來(lái) 我們將前面章節(jié)的所有的代碼集合起來(lái) defines MACDOpenLevel 3 MACDCloseLevel 2 defines MATrendPeriod 56 var MacdCurrent 0 MacdPrevious 0 SignalCurrent 0 SignalPrevious 0 var MaCurrent 0 MaPrevious 0 var cnt 0 原始數(shù)據(jù)檢查 確保智能交易系統(tǒng)在正常圖表上運(yùn)行 這很重要 用戶(hù)正確設(shè)置外部變量 單位數(shù) 止損 獲利 移動(dòng)止損 在我們看來(lái) 我們只需檢查獲利就行了若 Bars 200 或獲利 10 那么就退出 圖表上少于 200 bars 簡(jiǎn)化和加速操作程序 我們需要作必要的保存 臨時(shí)變量中的指標(biāo)數(shù)據(jù) MacdCurrent iMACD 12 26 9 0 MODE MAIN MacdPrevious iMACD 12 26 9 1 MODE MAIN SignalCurrent iMACD 12 26 9 0 MODE SIGNAL SignalPrevious iMACD 12 26 9 1 MODE SIGNAL MaCurrent iMA MATrendPeriod MODE EMA 0 MaPrevious iMA MATrendPeriod MODE EMA 1 現(xiàn)在我們必須檢查交易終端的狀況 我們要看一 看是否還有任何前期開(kāi)倉(cāng)部位或訂單 如果總交易 1 那么 沒(méi)有已開(kāi)倉(cāng)訂單 為了安全期間 我們要確保賬戶(hù)有充足的資金 比如說(shuō) 取值為 1000 通??赡芫褪翘峤?1 個(gè)單位 如果凈保證金 1000 那么退出 沒(méi)有資金 我們退出 檢查做多頭 買(mǎi)入 的可能性 If MacdCurrentSignalCurrent and MacdPrevious MACDOpenLevel P- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來(lái)的問(wèn)題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
15 積分
下載 |
- 配套講稿:
如PPT文件的首頁(yè)顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開(kāi)word文檔。
- 特殊限制:
部分文檔作品中含有的國(guó)旗、國(guó)徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- MT4 智能 交易系統(tǒng) 編程 手冊(cè)
鏈接地址:http://www.820124.com/p-9290466.html