4.2.3. IF-THEN条件语句
If-Then条件语句致使控制智能交易系统指令的实施顺序得以或许。该语句或许有不同的方式编撰:
if Condition then Statement;orif Condition then beginStatement;Statement;...end;其中,条件为一个逻辑表达式,取值为True 或 False;"Statement" 指MetaQuotes II语言中的任何指令。符号括号Begin – End或许被波形括号{ }所替代。条件语句或许被用在对程序执行分支。为高达此目的,其他核心字Else要用上。语法:if Condition then Statement1 else Statement2;orif Condition then beginStatement;Statement;...endelseStatement;Statement;...end;orif Condition then beginStatement;Statement;...endelse Statement2;orif Condition then Statement1elseStatement;Statement;...end;可以运用嵌套式的条件语句。一般说来,语句或许由MetaQuotes II语言的任何合法指令表明,除非变量宣布,由于严格来看, 变量宣布并没有是一个可实施语句。4.2.4. WHILE循环
WHILE循环保证在循环条件有效时,包含在循环主体中的语句的多次实施。一个循环可以用Break 语句提早终止。迭代可以通过运用Continue语句停止。这个语句产生循环的下一个迭代开始,即Continue后面的语句直到循环主体终结在本迭代中不得实施。在条件语句中用Break 和 Continue是合理的。语法:
while Condition beginStatement;[break;][continue;]...end;其中,条件是循环实施条件-在每个循环迭代以前计算出的一个逻辑表达式,取值为True 或 False;语句是MetaQuotes 4语言的任何指令。 符号括号Begin – End表明循环主体,可以被波形括号{ }替代。“Break and Continue”描述也不是强制性的。Example:Counter = 1;while Counter <= Bars beginprint( Close[ Counter - 1 ] );Counter = Counter + 1;end;这个例子表明一个将要实施的循环,基准次数,或者,假使基准=0,而且循环就不止一次。4.2.5. For 循环
For循环保证在循环主体中所包含的具体次数的语句实施。语法:
for NumberVariable = InitialValue to|downto LimitValue beginStatement;[break;][continue;]...end; 其中数字变量就是在每次迭代之后循环要么增长或者降低到1的循环变量 (视运用核心字To 或 Down to而定);初期值指循环变量的起初数值。语句指MetaQuotes 4 语言的任何指令。To or Downto 确定循环变量增长到1(To)或者降低到1(Downto);限值是循环变量的边际数值。 操作符brackets Begin – End表明循环主体,可以被波形括号{}取而代之。 Break 和Continue语句并不是是强制性的。 Example: 比如: for Counter = 1 to 10 beginif Counter > Bars then break;print( Close[ Counter ] );end; 这个例子表明一个或许被实施10次的环。但是,若基准值差于10, 循环就会提早终止,也就是说循环实施BARS次。4.2.6. BREAK中止语句
中止语句保证一个For 循环或一个While循环早点终止。前例不仅表明循环实施,也表明了中止语句的运用。“Break”语句不仅用于循环主体之外。循环是嵌套式的,中止语句中离其近期的循环。换言之,中止内部循环的语句并没中止外部循环。
4.2.7. CONTINUE继续语句
CONTINUE继续语句提早终止循环的迭代,并从循环主体开始下一个迭代。换句话说,在Continue之后语句被忽视。比如:
for Counter = 1 to 10 begin...if Counter > Bars then continue;print( Close[ Counter ] );...end;这个例子表明一个将被实施了差不多10次的循环。但收盘值(counter)被打印不会比基准次数多。"..."代表MetaQuotes 4 语言的其余语句。4.3.交易中止的预选界定变量
为了最大的方便用户,交易中止的一部分变量可以从智能系统输入。
AccountNumber-账号(同义词:AccNum)Ask –卖价(买方出价)
Balance – 交易账户的余额值Bars – 图表上条形的数目-表明用报告填充图表程度的非常重要的一个变量。 Bid -购入价(卖方要价)Close –收盘价格Credit –信用优先Equity –账户情况,包含未达到利润FreeMargin –交易账户的自由保证金值-也用来核查账户资金的可用性;High –阶段最高价位Low -阶段最低价位Margin –用来支撑开仓部位的资金(保证金)Open –开盘价Point – 目前金融工具单点上的价值(此点此时智能交易系统系统运行),比如, USD/JPY - 0.01, USD/CHF - 0.0001 等。PriceAsk –在市场观测窗口上表明的目前卖价。PriceBid -在市场观测窗口上表明的目前买价。PriceHigh – 目前24小期间间的最高买价。 PriceLow -目前24小期间间的最高卖价。PriceTime -在市场观测窗口上表明的目前时间。Time – 价格图表上的条形时间的基准时间;TotalProfit – 所有开仓部位的总未达到利润;TotalTrades –开仓部位的总数和交易中止上的推迟订单;Volume – 交易量(阶段交易的数目)应注意到,Close, Open, High, Low, Volume, Time为历史报告数组(seriesarrays),在上个交易阶段允许进入该数据。