龙听期货论坛's Archiver

C
+
+


 微信: QQ:

龙听 发表于 2018-5-9 10:29

MultiCharts编程-PowerLanguage-Comparison and loops比较和循环

[font=宋体]第[/font]6[font=宋体]章[/font] Comparison and loops[font=宋体]比较和循环[/font][p=30, 2, left][font=宋体]本章对逻辑比较的关键字和程序语言的基本执行流程关键字做了详尽的说明。[/font]PL[font=宋体]中的程序流程控制语法包括:[/font][/p][p=30, 2, left]if…then…[font=宋体]、[/font]begin…end[font=宋体]、[/font]for…[font=宋体]、[/font]while…[font=宋体]、[/font]switch…case…[font=宋体]、[/font]once…[font=宋体]。[/font][/p][p=30, 2, left][font=宋体]其中[/font]if…then…[font=宋体]是最常用的条件判断控制语法,针对逻辑表达式做比较,可以与[/font]else[font=宋体]和[/font]begin…end…[font=宋体]结合使用,组合出不同的条件控制流程。因字典中没有[/font]switch…case…[font=宋体]和[/font]once…[font=宋体]的定义,下面对两者的使用举例说明。[/font][/p][p=30, 2, left]switch…case[font=宋体]是条件判断式,它针对字符串或数值比较。如果对同一个变量或表达式做多重判断,可以使用[/font]switch…case[font=宋体]会比[/font]if…then…[font=宋体]有效率。[/font][/p][table=98%]
[tr]  [td=2,1]  Switch…case  [/td] [/tr]
[tr]  [td=1,1,11%]  [p=30, 2, left][font=宋体]说明[/font][/p]  [/td]  [td=1,1,88%]  [p=30, 2, left][font=宋体]以下语法,会先计算[/font]switch[font=宋体]后的表达式的值。针对计算结果,对[/font]case[font=宋体]设定的值,从上到下依次比较,如果符合某一个[/font]case[font=宋体]的值,则执行其冒号[/font](:)[font=宋体]后的陈述式;若不符合,则比较下一个[/font]case[font=宋体];所有[/font]case[font=宋体]都不符合,则执行[/font]default[font=宋体]后的陈述式,[/font]default[font=宋体]是可选项。[/font][/p]  [/td] [/tr]
[tr]  [td=1,1,11%]  [p=30, 2, left][font=宋体]语法[/font][/p]  [/td]  [td=1,1,88%]  [p=30, 2, left]Switch ([i]E1[/i]or[i] String1[/i])[/p]  [p=30, 2, left]Begin[/p]  [p=30, 2, left]Case [i]E2[/i]
or
[i]String2[/i] :[/p]  [p=30, 2, left]
[i]Instruction1[/i];[/p]  [p=30, 2, left] Default:[/p]  [p=30, 2, left][i]Instruction2[/i];[/p]  [p=30, 2, left]End;[/p]  [/td] [/tr]
[tr]  [td=1,1,11%]  [p=30, 2, left][font=宋体]参数[/font][/p]  [/td]  [td=1,1,88%]  [p=30, 2, left][i]E1[/i][i][font=宋体],[/font]E2[/i]——[font=宋体]数值表达式。[/font][/p]  [p=30, 2, left][i]String1 [/i][i][font=宋体],[/font]String2[/i]——[font=宋体]字符串表达式。[/font][/p]  [p=30, 2, left][i]Instruction[/i]——[font=宋体][size=12.0pt]陈述式。[/size][/font][i][/i][/p]  [/td] [/tr]
[tr]  [td=1,1,11%]  [p=30, 2, left][font=宋体]范例[/font][/p]  [/td]  [td=1,1,88%]  [p=30, 2, left][font=宋体]当前图表的持仓手数小于等于[/font]3[font=宋体],并大于等于[/font]1[font=宋体]时,买入开仓;持仓手数为[/font]4[font=宋体],并且[/font]close[font=宋体]上穿前[/font]10[font=宋体]根[/font]K[font=宋体]线[/font]close[font=宋体]的均价时,平仓全部:[/font][/p]  [p=30, 2, left]Switch(CurrentContracts)[/p]  [p=30, 2, left]Begin[/p]  [p=30, 2, left]Case 1,2,3:// or  Case 1 to  3:[/p]  [p=30, 2, left] Buy(“B4”) Next Bar At  Market;[/p]  [p=30, 2, left]Case 4:[/p]  [p=30, 2, left]If Close Cross Over Average(C[1],10) Then[/p]  [p=30, 2, left]Sell Next Bar At Market;[/p]  [p=30, 2, left]End;[/p]  [/td] [/tr]
[/table][p=30, 2, left]
[font=宋体]默认的程序会在每根[/font]Bar[font=宋体]结束时执行一次。而有些程序我们希望它只执行一次,那么[/font]Once[font=宋体]指令则提供了此功能。[/font][/p][table=98%]
[tr]  [td=2,1]  Once  [/td] [/tr]
[tr]  [td=1,1,11%]  [p=30, 2, left][font=宋体]说明[/font][/p]  [/td]  [td=1,1,88%]  [p=30, 2, left][font=宋体]限制其后的陈述式,在整个程序运算中只执行一次。[/font][/p]  [/td] [/tr]
[tr]  [td=1,1,11%]  [p=30, 2, left][font=宋体]语法[/font][/p]  [/td]  [td=1,1,88%]  [p=30, 2, left]Once [i]Instruction1[/i];[/p]  [p=30, 2, left][font=宋体]或[/font][/p]  [p=30, 2, left]Once <(E)>
Begin [/p]  [p=30, 2, left][i]Instruction2[/i];[/p]  [p=30, 2, left]End;[/p]  [p=30, 2, left]<>[font=宋体]内的表达式是可选的。[/font][/p]  [/td] [/tr]
[tr]  [td=1,1,11%]  [p=30, 2, left][font=宋体]参数[/font][/p]  [/td]  [td=1,1,88%]  [p=30, 2, left][i]E[/i]——[font=宋体]逻辑表达式,[/font]True/False[font=宋体]类型。[/font][/p]  [p=30, 2, left][i]Instruction[/i]——[font=宋体][size=12.0pt]陈述式。[/size][/font][i][/i][/p]  [/td] [/tr]
[tr]  [td=1,1,11%]  [p=30, 2, left][font=宋体]范例[/font][/p]  [/td]  [td=1,1,88%]  [p=30, 2, left][font=宋体]在程序第一次执行时,把当根[/font]Bar[font=宋体]的开盘价赋给变量[/font]Value1[font=宋体]:[/font][/p]  [p=30, 2, left]Once Value1=Open;[/p]  [p=30, 2, left][font=宋体]等同于:[/font]If CurrentBar=1 Then Value1=Open;[/p]  [p=30, 2, left][font=宋体]当第一次满足[/font]close>open[font=宋体]时,把当时[/font]Bar[font=宋体]的开盘价赋给变量[/font]Value1[font=宋体]:[/font][/p]  [p=30, 2, left]Once (Close<Open) Begin[/p]  [p=30, 2, left]Value1=Open;[/p]  [p=30, 2, left]End;[/p]  [/td] [/tr]
[/table][p=30, 2, left]
[/p][table=98%]
[tr]  [td=2,1]  Above/Over  [/td] [/tr]
[tr]  [td=1,1,11%]  [p=30, 2, left][font=宋体]说明[/font][/p]  [/td]  [td=1,1,88%]  [p=30, 2, left][font=宋体]与[/font]Cross[font=宋体]配合使用,指定交叉的方向。[/font]Above[font=宋体]指定向上的方向(值从小到大)。[/font][/p]  [p=30, 2, left][font=宋体]画线[/font]A[font=宋体]向上交叉穿过画线[/font]B[font=宋体]的定义如下:当前[/font]K[font=宋体]棒的[/font]A[font=宋体]值大于[/font]B[font=宋体]值且满足下面的其中一个条件:[/font][/p]  [p=30, 2, left]1[font=宋体]、前一根[/font]K[font=宋体]棒中[/font]A[font=宋体]值小于[/font]B[font=宋体]值。[/font][/p]  [p=30, 2, left]2[font=宋体]、前一根或前几根[/font]K[font=宋体]棒的[/font]A[font=宋体]值等于[/font]B[font=宋体]值,再之前的[/font]K[font=宋体]棒[/font]A[font=宋体]值小于[/font]B[font=宋体]值。[/font][/p]  [p=30, 2, left][font=宋体]更多信息参考[/font]Cross[font=宋体]。[/font][/p]  [/td] [/tr]
[tr]  [td=1,1,11%]  [p=30, 2, left][font=宋体]语法[/font][/p]  [/td]  [td=1,1,88%]  [p=30, 2, left][i]E1[/i] Cross Above [i]E2[/i] [/p]  [p=30, 2, left][font=宋体]或:[/font]
[/p]  [p=30, 2, left]Plot1 Cross Above Plot2 [/p]  [/td] [/tr]
[tr]  [td=1,1,11%]  [p=30, 2, left][font=宋体]参数[/font][/p]  [/td]  [td=1,1,88%]  [p=30, 2, left][i]E1,  E2[/i]——[font=宋体]数值表达式。[/font][/p]  [/td] [/tr]
[tr]  [td=1,1,11%]  [p=30, 2, left][font=宋体]范例[/font][/p]  [/td]  [td=1,1,88%]  [p=30, 2, left][font=宋体]当收盘价上穿[/font]1350.00[font=宋体]时,发出警报:[/font][/p]  [p=30, 2, left]Plot1[font=&quot]([/font]Close[font=&quot])[/font];[font=&quot][/font][/p]  [p=30, 2, left]If
Plot1
Cross
Above
1350.50
Then[font=&quot] [/font][/p]  [p=30, 2, left]Alert[font=&quot]([/font]"Price has crossed above 1350.00");[/p]  [/td] [/tr]
[/table][p=30, 2, left]
[/p][table=98%]
[tr]  [td=2,1]  And  [/td] [/tr]
[tr]  [td=1,1,11%]  [p=30, 2, left][font=宋体][size=12.0pt]说明[/size][/font][/p]  [/td]  [td=1,1,88%]  [p=30, 2, left][font=宋体][size=12.0pt]一个逻辑运算符(布尔型),当所有的运算式都为[/size][/font]True[font=宋体][size=12.0pt]时,返回[/size][/font]True[font=宋体][size=12.0pt]。逻辑运算符用于逻辑(布尔)的判断。[/size][/font][/p]  [/td] [/tr]
[tr]  [td=1,1,11%]  [p=30, 2, left][font=宋体][size=12.0pt]语法[/size][/font][/p]  [/td]  [td=1,1,88%]  [p=30, 2, left][i]E1[/i]
And [i]E2[/i][/p]  [/td] [/tr]
[tr]  [td=1,1,11%]  [p=30, 2, left][font=宋体][size=12.0pt]参数[/size][/font][/p]  [/td]  [td=1,1,88%]  [p=30, 2, left][i]E1[/i],[i]E2[/i]——[font=宋体][size=12.0pt]逻辑表达式,值为[/size][/font]true/false[font=宋体][size=12.0pt]。[/size][/font][/p]  [/td] [/tr]
[tr]  [td=1,1,11%]  [p=30, 2, left][font=宋体][size=12.0pt]范例[/size][/font][/p]  [/td]  [td=1,1,88%]  [p=30, 2, left]2[font=&quot]=[/font]1
And
2[font=&quot]=[/font]2
[font=宋体]返回值为[/font] False[/p]  [p=30, 2, left]True And True And True [font=宋体]返回值为[/font]True[/p]  [/td] [/tr]
[/table][p=30, 2, left]
[/p][table=98%]
[tr]  [td=2,1]  Begin  [/td] [/tr]
[tr]  [td=1,1,11%]  [p=30, 2, left][font=宋体][size=12.0pt]说明[/size][/font][/p]  [/td]  [td=1,1,88%]  [p=30, 2, left][font=宋体][size=12.0pt]和[/size][/font]End[font=宋体][size=12.0pt]搭配使用建立一组一至多行陈述式的陈述式组。一个[/size][/font]Begin[font=宋体][size=12.0pt]之后一定有一个对应的[/size][/font]End[font=宋体][size=12.0pt]。[/size][/font][/p]  [p=30, 2, left]Begin...End[font=宋体][size=12.0pt]可以跟在[/size][/font]Then, Else, For, While[font=宋体][size=12.0pt]条件语句后使用。[/size][/font][/p]  [p=30, 2, left]Begin[font=宋体][size=12.0pt]后无需加分号([/size][/font];[font=宋体][size=12.0pt]),整个陈述式组中的每句陈述式都要以分号([/size][/font];[font=宋体][size=12.0pt])结束,在建构成完整陈述式之后的[/size][/font]End[font=宋体][size=12.0pt]也要加上分号([/size][/font];[font=宋体][size=12.0pt])结尾。[/size][/font][/p]  [/td] [/tr]
[tr]  [td=1,1,11%]  [p=30, 2, left][font=宋体][size=12.0pt]语法[/size][/font][/p]  [/td]  [td=1,1,88%]  [p=30, 2, left][i]Conditions[/i]
Begin[/p]  [p=30, 2, left][i]Instruction1[/i];[/p]  [p=30, 2, left][i]Instruction2[/i];[/p]  [p=30, 2, left][i]Instruction3[/i];[/p]  [p=30, 2, left]End;[/p]  [/td] [/tr]
[tr]  [td=1,1,11%]  [p=30, 2, left][font=宋体][size=12.0pt]参数[/size][/font][/p]  [/td]  [td=1,1,88%]  [p=30, 2, left][i]Conditions[/i]——[font=宋体][size=12.0pt]条件语句;[/size][/font] [i]Instruction[/i]——[font=宋体][size=12.0pt]陈述式。[/size][/font][/p]  [/td] [/tr]
[tr]  [td=1,1,11%]  [p=30, 2, left][font=宋体][size=12.0pt]范例[/size][/font][/p]  [/td]  [td=1,1,88%]  [p=30, 2, left][font=宋体][size=12.0pt]如果满足条件[/size][/font] Uptrend [font=宋体][size=12.0pt]则开多仓,否则开空仓:[/size][/font][/p]  [p=30, 2, left]If
UpTrend Then Begin Buy Next Bar Market;[color=black][/color][/p]  [p=30, 2, left]End[/p]  [p=30, 2, left]Else BeginSellShort Next Bar Market;[/p]  [p=30, 2, left]End;[/p]  [/td] [/tr]
[/table][p=30, 2, left]
[/p][table=98%]
[tr]  [td=2,1]  Below/Under
  [/td] [/tr]
[tr]  [td=1,1,11%]  [p=30, 2, left][font=宋体][size=12.0pt]说明[/size][/font][/p]  [/td]  [td=1,1,88%]  [p=30, 2, left][font=宋体][size=12.0pt]与[/size][/font]Cross[font=宋体][size=12.0pt]组合使用来指定交叉的方向。[/size][/font]Below[font=宋体][size=12.0pt]指定了一个向下(值由大到小)的方向。[/size][/font][/p]  [p=30, 2, left][font=宋体][size=12.0pt]画线[/size][/font]A[font=宋体][size=12.0pt]向下交叉穿过画线[/size][/font]B[font=宋体][size=12.0pt]的定义如下:当前[/size][/font]K[font=宋体][size=12.0pt]棒[/size][/font]A[font=宋体][size=12.0pt]值小于[/size][/font]B[font=宋体][size=12.0pt]值且满足下面的其中一个条件:[/size][/font][/p]  [p=30, 2, left]1[font=宋体][size=12.0pt]、前一根[/size][/font]K[font=宋体][size=12.0pt]棒中[/size][/font]A[font=宋体][size=12.0pt]值大于[/size][/font]B[font=宋体][size=12.0pt]值。[/size][/font][/p]  [p=30, 2, left]2[font=宋体][size=12.0pt]、前一根或前几根[/size][/font]K[font=宋体][size=12.0pt]棒的[/size][/font]A[font=宋体][size=12.0pt]值等于[/size][/font]B[font=宋体][size=12.0pt]值,再之前的[/size][/font]K[font=宋体][size=12.0pt]棒[/size][/font]A[font=宋体][size=12.0pt]值大于[/size][/font]B[font=宋体][size=12.0pt]值。[/size][/font][/p]  [p=30, 2, left][font=宋体][size=12.0pt]更多信息参考[/size][/font]Cross[font=宋体][size=12.0pt]。[/size][/font][/p]  [/td] [/tr]
[tr]  [td=1,1,11%]  [p=30, 2, left][font=宋体][size=12.0pt]语法[/size][/font][/p]  [/td]  [td=1,1,88%]  [p=30, 2, left][i]E1[/i]
Cross
Below [i]E2[/i] [/p]  [p=30, 2, left][font=宋体][size=12.0pt]或:[/size][/font] [/p]  [p=30, 2, left]Plot1
Cross
Below
Plot2 [/p]  [/td] [/tr]
[tr]  [td=1,1,11%]  [p=30, 2, left][font=宋体][size=12.0pt]参数[/size][/font][/p]  [/td]  [td=1,1,88%]  [p=30, 2, left][i]E1[/i], [i]E2[/i]——[font=宋体][size=12.0pt]数值表达式。[/size][/font][/p]  [/td] [/tr]
[tr]  [td=1,1,11%]  [p=30, 2, left][font=宋体][size=12.0pt]范例[/size][/font][/p]  [/td]  [td=1,1,88%]  [p=30, 2, left][font=宋体][size=12.0pt]当收盘价向下穿过[/size][/font]1350.00[font=宋体][size=12.0pt]时,发出警报:[/size][/font][/p]  [p=30, 2, left]Plot1[font=&quot]([/font]Close[font=&quot])[/font];[font=&quot][/font][/p]  [p=30, 2, left]If
Plot1
Cross
Below
1350.50
Then[font=&quot] [/font][/p]  [p=30, 2, left]Alert[font=&quot]([/font]"Price has crossed below 1350.00"[font=&quot])[/font];  [/p]  [/td] [/tr]
[/table][p=30, 2, left]
[/p][table=98%]
[tr]  [td=2,1]  Break  [/td] [/tr]
[tr]  [td=1,1,11%]  [p=30, 2, left][font=宋体][size=12.0pt]说明[/size][/font][/p]  [/td]  [td=1,1,88%]  [p=30, 2, left][font=宋体][size=12.0pt]退出循环。[/size][/font][/p]  [/td] [/tr]
[tr]  [td=1,1,11%]  [p=30, 2, left][font=宋体][size=12.0pt]语法[/size][/font][/p]  [/td]  [td=1,1,88%]  [p=30, 2, left]Break;[/p]  [/td] [/tr]
[tr]  [td=1,1,11%]  [p=30, 2, left][font=宋体][size=12.0pt]范例[/size][/font][/p]  [/td]  [td=1,1,88%]  [p=30, 2, left]For
Value1
[font=&quot]=[/font]
0
To
10
Begin[font=&quot] [/font][/p]  [p=30, 2, left]If
[font=&quot]([/font]
close[font=&quot][[/font]Value1[font=&quot]][/font]
[font=&quot]=[/font]
open[font=&quot][[/font]Value1[font=&quot]][/font]
[font=&quot])[/font]
Then
Break;[font=&quot][/font][/p]  [p=30, 2, left]End; [font=&quot][/font][/p]  [p=30, 2, left]If
Value1
[font=&quot]<=[/font]
10
Then
print[font=&quot]([/font]"Open = Close ", Value1:0:0,
" Bars ago."[font=&quot])[/font];  
[/p]  [/td] [/tr]
[/table][p=30, 2, left]
[/p][table=98%]
[tr]  [td=2,1]  Cross/Crosses  [/td] [/tr]
[tr]  [td=1,1,11%]  [p=30, 2, left][font=宋体][size=12.0pt]说明[/size][/font][/p]  [/td]  [td=1,1,88%]  [p=30, 2, left][font=宋体][size=12.0pt]如果在当前[/size][/font]K[font=宋体][size=12.0pt]棒,数值表达式[/size][/font]A[font=宋体][size=12.0pt]的画线和数值表达式[/size][/font]B[font=宋体][size=12.0pt]的画线按指定方向交叉,则返回[/size][/font]True[font=宋体][size=12.0pt]。[/size][/font][/p]  [p=30, 2, left]Above, Over,  Below, Under[font=宋体][size=12.0pt]参量用来指定交叉的方向。[/size][/font]Above[font=宋体][size=12.0pt]和[/size][/font]Over[font=宋体][size=12.0pt]可替换,用来表示向上的方向(值从小到大),[/size][/font]Below[font=宋体][size=12.0pt]和[/size][/font]Under[font=宋体][size=12.0pt]可替换,用来表示向下的方向(值从大到小)。[/size][/font][/p]  [p=30, 2, left][font=宋体]画线[/font]A[font=宋体]向上交叉穿过画线[/font]B[font=宋体]的定义如下:当前[/font]K[font=宋体]棒的[/font]A[font=宋体]值大于[/font]B[font=宋体]值且满足下面的其中一个条件:[/font][/p]  [p=30, 2, left]1[font=宋体]、前一根[/font]K[font=宋体]棒中[/font]A[font=宋体]值小于[/font]B[font=宋体]值。[/font][/p]  [p=30, 2, left]2[font=宋体]、前一根或前几根[/font]K[font=宋体]棒的[/font]A[font=宋体]值等于[/font]B[font=宋体]值,再之前的[/font]K[font=宋体]棒[/font]A[font=宋体]值小于[/font]B[font=宋体]值。[/font][/p]  [p=30, 2, left][font=宋体][size=12.0pt]画线[/size][/font]A[font=宋体][size=12.0pt]向下交叉穿过画线[/size][/font]B[font=宋体][size=12.0pt]的定义如下:当前[/size][/font]K[font=宋体][size=12.0pt]棒[/size][/font]A[font=宋体][size=12.0pt]值小于[/size][/font]B[font=宋体][size=12.0pt]值且满足下面的其中一个条件:[/size][/font][/p]  [p=30, 2, left]1[font=宋体][size=12.0pt]、前一根[/size][/font]K[font=宋体][size=12.0pt]棒中[/size][/font]A[font=宋体][size=12.0pt]值大于[/size][/font]B[font=宋体][size=12.0pt]值。[/size][/font][/p]  [p=30, 2, left]2[font=宋体][size=12.0pt]、前一根或前几根[/size][/font]K[font=宋体][size=12.0pt]棒的[/size][/font]A[font=宋体][size=12.0pt]值等于[/size][/font]B[font=宋体][size=12.0pt]值,再之前的[/size][/font]K[font=宋体][size=12.0pt]棒[/size][/font]A[font=宋体][size=12.0pt]值大于[/size][/font]B[font=宋体][size=12.0pt]值。[/size][/font][/p]  [/td] [/tr]
[tr]  [td=1,1,11%]  [p=30, 2, left][font=宋体][size=12.0pt]语法[/size][/font][/p]  [/td]  [td=1,1,88%]  [p=30, 2, left][i]E1[/i]
Cross  Direction [i]E2[/i] [/p]  [p=30, 2, left][font=宋体][size=12.0pt]或[/size][/font][/p]  [p=30, 2, left]Plot1 Cross [i]Direction[/i]  Plot2 [/p]  [/td] [/tr]
[tr]  [td=1,1,11%]  [p=30, 2, left][font=宋体]参数[/font][/p]  [/td]  [td=1,1,88%]  [p=30, 2, left][i]E1,  E2[/i]——[font=宋体]数值表达式;[/font][/p]  [p=30, 2, left][i]Direction[/i]——[font=宋体]必要的参量;[/font]Above, Over, Below, Under[font=宋体][size=12.0pt]用来指定交叉的方向[/size][/font][font=宋体]。[/font][/p]  [/td] [/tr]
[tr]  [td=1,1,11%]  [p=30, 2, left][font=宋体][size=12.0pt]范例[/size][/font][/p]  [/td]  [td=1,1,88%]  [p=30, 2, left][font=宋体][size=12.0pt]当收盘价上穿[/size][/font]1350.00[font=宋体][size=12.0pt]时,发出警报:[/size][/font][/p]  [p=30, 2, left]Plot1[font=&quot]([/font]Close[font=&quot])[/font];[font=&quot][/font][/p]  [p=30, 2, left]If
Plot1
Cross
Above
1350.50
Then[font=&quot] [/font][/p]  [p=30, 2, left]Alert[font=&quot]([/font]"Price has crossed above 1350.00"[font=&quot])[/font];[/p]  [/td] [/tr]
[/table][p=30, 2, left]
[/p][table=98%]
[tr]  [td=2,1]  DownTo  [/td] [/tr]
[tr]  [td=1,1,11%]  [p=30, 2, left][font=宋体][size=12.0pt]说明[/size][/font][/p]  [/td]  [td=1,1,88%]  [p=30, 2, left][font=宋体][size=12.0pt]和[/size][/font]For[font=宋体][size=12.0pt]搭配使用构成一个[/size][/font]For[font=宋体][size=12.0pt]循环,[/size][/font]For[font=宋体][size=12.0pt]循环陈述式反复执行直到循环次数达到设定的终值。[/size][/font][/p]  [p=30, 2, left][font=宋体][size=12.0pt]每完成一次循环,[/size][/font]DownTo
[font=宋体][size=12.0pt]所指定的循环计数变量值就减一。[/size][/font][/p]  [p=30, 2, left][font=宋体][size=12.0pt]更多信息参考[/size][/font]For[font=宋体][size=12.0pt]。[/size][/font][/p]  [/td] [/tr]
[tr]  [td=1,1,11%]  [p=30, 2, left][font=宋体][size=12.0pt]语法[/size][/font][/p]  [/td]  [td=1,1,88%]  [p=30, 2, left]For
[i]Counter[/i]=[i]IValue[/i] DownTo [i]FValue[/i] Begin[/p]  [p=30, 2, left][i]Instruction1[/i];[/p]  [p=30, 2, left][i]Instruction2[/i];[/p]  [p=30, 2, left]End;[/p]  [/td] [/tr]
[tr]  [td=1,1,11%]  [p=30, 2, left][font=宋体][size=12.0pt]参数[/size][/font][/p]  [/td]  [td=1,1,88%]  [p=30, 2, left][i]Counter[/i]——[font=宋体][size=12.0pt]数值变量,用来存储循环计数值。[/size][/font][/p]  [p=30, 2, left][i]IValue[/i]——[font=宋体][size=12.0pt]数值表达式,指定起始计数值。[/size][/font][/p]  [p=30, 2, left][i]FValue[/i]——[font=宋体][size=12.0pt]数值表达式,指定最终计数值。[/size][/font][/p]  [p=30, 2, left][i]Instruction[/i]——[font=宋体][size=12.0pt]陈述式。[/size][/font][/p]  [/td] [/tr]
[tr]  [td=1,1,11%]  [p=30, 2, left][font=宋体][size=12.0pt]范例[/size][/font][/p]  [/td]  [td=1,1,88%]  [p=30, 2, left][font=宋体][size=12.0pt]将前[/size][/font]10[font=宋体][size=12.0pt]根[/size][/font]Bar[font=宋体][size=12.0pt]的最高价之和赋值给[/size][/font]HighPriceSum[font=宋体][size=12.0pt]:[/size][/font][/p]  [p=30, 2, left]Variable: BarBackNo (0), HighPriceSum(0);[/p]  [p=30, 2, left]For
BarBackNo[font=&quot]=[/font]9
DownTo
0
Begin[font=&quot][/font][/p]  [p=30, 2, left]HighPriceSum[font=&quot]=[/font]HighPriceSum[font=&quot]+[/font]High[font=&quot][[/font]BarBackNo[font=&quot]][/font];[font=&quot][/font][/p]  [p=30, 2, left]End; [/p]  [/td] [/tr]
[/table][p=30, 2, left]
[/p][table=98%]
[tr]  [td=2,1]  Else  [/td] [/tr]
[tr]  [td=1,1,11%]  [p=30, 2, left][font=宋体][size=12.0pt]说明[/size][/font][/p]  [/td]  [td=1,1,88%]  [p=30, 2, left][font=宋体][size=12.0pt]与[/size][/font]If[font=宋体][size=12.0pt]和[/size][/font]Then[font=宋体][size=12.0pt]联合使用,形成一个条件语句。当某条件成立时,执行特定的陈述式。当条件不成立时,执行[/size][/font]Else[font=宋体][size=12.0pt]指定的陈述式。[/size][/font][/p]  [p=30, 2, left][font=宋体][size=12.0pt]条件执行语句包含[/size][/font]If[font=宋体][size=12.0pt]和[/size][/font]Then[font=宋体][size=12.0pt],不包含[/size][/font]Else[font=宋体][size=12.0pt]。更多信息请见[/size][/font]If[font=宋体][size=12.0pt]。[/size][/font][/p]  [/td] [/tr]
[tr]  [td=1,1,11%]  [p=30, 2, left][font=宋体][size=12.0pt]语法[/size][/font][/p]  [/td]  [td=1,1,88%]  [p=30, 2, left]If [i]E[/i]
Then [i]Instruction1[/i]
Else[i] Instruction2[/i] [/p]  [/td] [/tr]
[tr]  [td=1,1,11%]  [p=30, 2, left][font=宋体][size=12.0pt]参数[/size][/font][/p]  [/td]  [td=1,1,88%]  [p=30, 2, left][i]E[/i]——[font=宋体][size=12.0pt]逻辑表达式,值为[/size][/font]true/false[font=宋体][size=12.0pt];[/size][/font][/p]  [p=30, 2, left][i]Instruction[/i]——[font=宋体][size=12.0pt]陈述式。[/size][/font][/p]  [/td] [/tr]
[tr]  [td=1,1,11%]  [p=30, 2, left][font=宋体][size=12.0pt]范例[/size][/font][/p]  [/td]  [td=1,1,88%]  [p=30, 2, left][font=宋体][size=12.0pt]如果满足条件[/size][/font]UpTrend [font=宋体][size=12.0pt]则开多仓,否则开空仓:[/size][/font][/p]  [p=30, 2, left]If UpTrend
Then Buy Next Bar  Market Else SellShort Next Bar Market;[/p]  [/td] [/tr]
[/table][p=30, 2, left]
[/p][table=98%]
[tr]  [td=2,1]  End
  [/td] [/tr]
[tr]  [td=1,1,11%]  [p=30, 2, left][font=宋体][size=12.0pt]说明[/size][/font][/p]  [/td]  [td=1,1,88%]  [p=30, 2, left][font=宋体][size=12.0pt]与[/size][/font]Begin[font=宋体][size=12.0pt]配合使用建立一组包含一至多行陈述式的陈述式组,一个[/size][/font]End[font=宋体][size=12.0pt]之前必须有一个对应的[/size][/font]Begin[font=宋体][size=12.0pt],[/size][/font]Begin...End[font=宋体][size=12.0pt]要配合[/size][/font]If, Then,  For, While[font=宋体][size=12.0pt]使用。[/size][/font][/p]  [p=30, 2, left]Begin[font=宋体][size=12.0pt]后无需加分号([/size][/font];[font=宋体][size=12.0pt]),整个陈述式组中的每句陈述式都要以分号([/size][/font];[font=宋体][size=12.0pt])结束,在建构成完整陈述式之后的[/size][/font]End[font=宋体][size=12.0pt]也要加上分号([/size][/font];[font=宋体][size=12.0pt])结尾。[/size][/font][/p]  [/td] [/tr]
[tr]  [td=1,1,11%]  [p=30, 2, left][font=宋体][size=12.0pt]语法[/size][/font][/p]  [/td]  [td=1,1,88%]  [p=30, 2, left][i]Conditions[/i]
Begin[/p]  [p=30, 2, left][i]Instruction1[/i];[/p]  [p=30, 2, left][i]Instruction2[/i];[/p]  [p=30, 2, left][i]Instruction3[/i];[/p]  [p=30, 2, left]End;[/p]  [/td] [/tr]
[tr]  [td=1,1,11%]  [p=30, 2, left][font=宋体][size=12.0pt]参数[/size][/font][/p]  [/td]  [td=1,1,88%]  [p=30, 2, left][i]Conditions[/i]——[font=宋体][size=12.0pt]条件语句;[/size][/font][i]Instruction[/i]——[font=宋体][size=12.0pt]陈述式。[/size][/font][/p]  [/td] [/tr]
[tr]  [td=1,1,11%]  [p=30, 2, left][font=宋体][size=12.0pt]范例[/size][/font][/p]  [/td]  [td=1,1,88%]  [p=30, 2, left][font=宋体][size=12.0pt]如果满足条件[/size][/font]Uptrend [font=宋体][size=12.0pt],则开多仓,否则开空仓:[/size][/font][/p]  [p=30, 2, left]If
UpTrend Then  Begin Buy Next Bar Market[color=black];[/color][/p]  [p=30, 2, left]End[/p]  [p=30, 2, left]Else BeginSellShort  Next Bar Market[color=black];[/color][/p]  [p=30, 2, left]End[color=black];[/color]
[/p]  [/td] [/tr]
[/table][p=30, 2, left]
[/p][table=98%]
[tr]  [td=2,1]  False  [/td] [/tr]
[tr]  [td=1,1,11%]  [p=30, 2, left][font=宋体][size=12.0pt]说明[/size][/font][/p]  [/td]  [td=1,1,88%]  [p=30, 2, left][font=宋体][size=12.0pt]一个逻辑值(布尔型)。逻辑值用于逻辑(布尔)表达式和宣告布尔型[/size][/font]inputs[font=宋体][size=12.0pt]参数。[/size][/font][/p]  [/td] [/tr]
[tr]  [td=1,1,11%]  [p=30, 2, left][font=宋体][size=12.0pt]语法[/size][/font][/p]  [/td]  [td=1,1,88%]  [p=30, 2, left]False[/p]  [/td] [/tr]
[tr]  [td=1,1,11%]  [p=30, 2, left][font=宋体][size=12.0pt]范例[/size][/font][/p]  [/td]  [td=1,1,88%]  [p=30, 2, left][font=宋体]下面的逻辑判断式返回值为[/font]False[font=宋体]:[/font][font=&quot][/font][/p]  [p=30, 2, left]False[b]
[/b]And[b]
[/b]True[/p]  [p=30, 2, left][font=宋体]下面的逻辑判断式返回值为[/font] False[font=宋体]:[/font][font=&quot][/font][/p]  [p=30, 2, left][b][font=&quot]2[/font][/b][font=&quot]=[/font][b][font=&quot]1[/font][/b]
[/p]  [p=30, 2, left][font=宋体]声明一个初始值为[/font]false[font=宋体]的逻辑变量[/font]LogicalVar[font=宋体]:[/font][/p]  [p=30, 2, left]Variable:LogicalVar[font=&quot]([/font]False[font=&quot])[/font];[font=&quot][/font][/p]  [p=30, 2, left][font=宋体]声明一个默认值为[/font]false[font=宋体]的逻辑[/font]input[font=宋体]型变量[/font]Overnight[font=宋体]:[/font][/p]  [p=30, 2, left]Input:Overnight[font=&quot]([/font]False[font=&quot])[/font];[/p]  [/td] [/tr]
[/table][p=30, 2, left]
[/p][table=98%]
[tr]  [td=2,1]  For  [/td] [/tr]
[tr]  [td=1,1,11%]  [p=30, 2, left][font=宋体][size=12.0pt]说明[/size][/font][/p]  [/td]  [td=1,1,88%]  [p=30, 2, left][font=宋体][size=12.0pt]与[/size][/font]To[font=宋体][size=12.0pt]或[/size][/font]downTo
[font=宋体][size=12.0pt]配合使用形成一个[/size][/font]For[font=宋体][size=12.0pt]循环语句,[/size][/font]For[font=宋体][size=12.0pt]循环陈述式会反复执行直到循环计数值达到指定的终值。[/size][/font][/p]  [p=30, 2, left][font=宋体][size=12.0pt]循环语句会指定一个变量,用来存储循环的次数,包含循环的开始值和结束值。可以搭配[/size][/font]To[font=宋体][size=12.0pt]或[/size][/font]downTo[font=宋体][size=12.0pt]使用,[/size][/font]To[font=宋体][size=12.0pt]指定的计数变量每完成一次循环就加一,[/size][/font]downTo[font=宋体][size=12.0pt]指定的计数变量每完成一次循环是减一。[/size][/font][/p]  [p=30, 2, left][font=宋体][size=12.0pt]循环语句中的陈述式组需要用[/size][/font]Begin...End[font=宋体][size=12.0pt]包含。一个[/size][/font]Begin[font=宋体][size=12.0pt]必须跟随一个[/size][/font]End[font=宋体][size=12.0pt]。[/size][/font][/p]  [p=30, 2, left]Begin[font=宋体][size=12.0pt]后无需加分号([/size][/font];[font=宋体][size=12.0pt]),整个陈述式组中的每句陈述式都要以分号([/size][/font];[font=宋体][size=12.0pt])结束,在建构成完整陈述式之后的[/size][/font]End[font=宋体][size=12.0pt]也要加上分号([/size][/font];[font=宋体][size=12.0pt])结尾。[/size][/font][/p]  [/td] [/tr]
[tr]  [td=1,1,11%]  [p=30, 2, left][font=宋体][size=12.0pt]语法[/size][/font][/p]  [/td]  [td=1,1,88%]  [p=30, 2, left]For
[i]Counter[/i]=[i]IValue[/i] To [i]FValue[/i] Begin[/p]  [p=30, 2, left][i]Instruction1[/i];[/p]  [p=30, 2, left][i]Instruction2[/i];[/p]  [p=30, 2, left]End;[/p]  [p=30, 2, left][font=宋体][size=12.0pt]或[/size][/font][/p]  [p=30, 2, left]For
[i]Counter[/i]=[i]IValue[/i] DownTo [i]FValue[/i] Begin[/p]  [p=30, 2, left][i]Instruction1[/i];[/p]  [p=30, 2, left][i]Instruction2[/i];[/p]  [p=30, 2, left]End;[/p]  [/td] [/tr]
[tr]  [td=1,1,11%]  [p=30, 2, left][font=宋体][size=12.0pt]参数[/size][/font][/p]  [/td]  [td=1,1,88%]  [p=30, 2, left][i]Counter[/i]—— [font=宋体][size=12.0pt]数值变量,用来存储循环计数值。[/size][/font][/p]  [p=30, 2, left][i]IValue[/i]——[font=宋体][size=12.0pt]数值表达式,指定起始计数值。[/size][/font][/p]  [p=30, 2, left][i]FValue[/i]——[font=宋体][size=12.0pt]数值表达式,指定最终计数值。[/size][/font][/p]  [p=30, 2, left][i]Instruction[/i]——[font=宋体][size=12.0pt]陈述式[/size][/font][/p]  [/td] [/tr]
[tr]  [td=1,1,11%]  [p=30, 2, left][font=宋体][size=12.0pt]范例[/size][/font][/p]  [/td]  [td=1,1,88%]  [p=30, 2, left][font=宋体][size=12.0pt]求前[/size][/font]10[font=宋体][size=12.0pt]根[/size][/font]Bar[font=宋体][size=12.0pt]的最高价之和并赋给变量[/size][/font]HighPriceSum[font=宋体][size=12.0pt]:[/size][/font][/p]  [p=30, 2, left]Variable: BarBackNo (0), HighPriceSum(0);[/p]  [p=30, 2, left]For
BarBackNo[font=&quot]=[/font]0
To
9
Begin[font=&quot][/font][/p]  [p=30, 2, left]HighPriceSum[font=&quot]=[/font]HighPriceSum[font=&quot]+[/font]High[font=&quot][[/font]BarBackNo[font=&quot]][/font];[font=&quot][/font][/p]  [p=30, 2, left]End;[/p]  [p=30, 2, left][font=宋体][size=12.0pt]求前[/size][/font]10[font=宋体][size=12.0pt]根[/size][/font]Bar[font=宋体][size=12.0pt]的最高价之和并赋给变量[/size][/font]HighPriceSum[font=宋体][size=12.0pt]:[/size][/font][/p]  [p=30, 2, left]Variable: BarBackNo (0), HighPriceSum(0);[/p]  [p=30, 2, left]For
BarBackNo[font=&quot]=[/font]9
DownTo
0
Begin[font=&quot][/font][/p]  [p=30, 2, left]HighPriceSum[font=&quot]=[/font]HighPriceSum[font=&quot]+[/font]High[font=&quot][[/font]BarBackNo[font=&quot]][/font];[font=&quot][/font][/p]  [p=30, 2, left]End;[/p]  [/td] [/tr]
[/table][p=30, 2, left]
[/p][table=98%]
[tr]  [td=2,1]  If  [/td] [/tr]
[tr]  [td=1,1,11%]  [p=30, 2, left][font=宋体][size=12.0pt]说明[/size][/font][/p]  [/td]  [td=1,1,88%]  [p=30, 2, left][font=宋体][size=12.0pt]和[/size][/font]Then[font=宋体][size=12.0pt]配合使用,形成一个条件语句,如果某条件成立时,则执行特定的陈述式,和[/size][/font]Else[font=宋体][size=12.0pt]联合使用,形成一个条件语句,如果条件不成立,则执行[/size][/font]Else[font=宋体][size=12.0pt]指定的陈述式。[/size][/font][/p]  [p=30, 2, left][font=宋体][size=12.0pt]条件执行语句必须包含[/size][/font]If[font=宋体][size=12.0pt]和[/size][/font]Then[font=宋体][size=12.0pt],[/size][/font]Else[font=宋体][size=12.0pt]是可选的。[/size][/font][/p]  [p=30, 2, left][font=宋体][size=12.0pt]陈述式组需要用[/size][/font]Begin...End[font=宋体][size=12.0pt]包含。一个[/size][/font]Begin[font=宋体][size=12.0pt]必须跟随一个[/size][/font]End[font=宋体][size=12.0pt]。[/size][/font][/p]  [p=30, 2, left]Begin[font=宋体][size=12.0pt]后无需加分号([/size][/font];[font=宋体][size=12.0pt]),整个陈述式组中的每句陈述式都要以分号([/size][/font];[font=宋体][size=12.0pt])结束,在建构成完整陈述式之后的[/size][/font]End[font=宋体][size=12.0pt]也要加上分号([/size][/font];[font=宋体][size=12.0pt])结尾。[/size][/font][/p]  [/td] [/tr]
[tr]  [td=1,1,11%]  [p=30, 2, left][font=宋体][size=12.0pt]语法[/size][/font][/p]  [/td]  [td=1,1,88%]  [p=30, 2, left]If [i]E[/i]
Then [i]Instruction1[/i]
Else[i] Instruction2[/i][/p]  [p=30, 2, left][font=宋体][size=12.0pt]或[/size][/font]: [/p]  [p=30, 2, left]If [i]E[/i]
Then Begin [/p]  [p=30, 2, left][i]Instruction1;[/i][/p]  [p=30, 2, left][i]Instruction2;[/i][/p]  [p=30, 2, left]End
Begin [/p]  [p=30, 2, left][i]Instruction3;[/i][/p]  [p=30, 2, left][i]Instruction4;[/i][/p]  [p=30, 2, left]End;[/p]  [/td] [/tr]
[tr]  [td=1,1,11%]  [p=30, 2, left][font=宋体][size=12.0pt]参数[/size][/font][/p]  [/td]  [td=1,1,88%]  [p=30, 2, left][i]E[/i]——[font=宋体][size=12.0pt]布林表达式,判断条件是否成立;[/size][/font][/p]  [p=30, 2, left][i]Instruction[/i]——[font=宋体][size=12.0pt]陈述式。[/size][/font][/p]  [/td] [/tr]
[tr]  [td=1,1,11%]  [p=30, 2, left][font=宋体][size=12.0pt]范例[/size][/font][/p]  [/td]  [td=1,1,88%]  [p=30, 2, left][font=宋体][size=12.0pt]如果条件[/size][/font]UpTrend[font=宋体][size=12.0pt]为假则卖平:[/size][/font][/p]  [p=30, 2, left]If
UpTrend[font=&quot]=[/font]False
Then
Sell
Next
Bar
Market;[/p]  [p=30, 2, left][font=宋体][size=12.0pt]如果条件[/size][/font]UpTrend[font=宋体][size=12.0pt]为真就开多仓,否则开空仓:[/size][/font][/p]  [p=30, 2, left]If
UpTrend
Then Buy Next Bar  Market Else SellShort Next Bar Market;[/p]  [p=30, 2, left][font=宋体][size=12.0pt]如果条件[/size][/font]UpTrend[font=宋体][size=12.0pt]为真就开多仓,否则开空仓:[/size][/font][/p]  [p=30, 2, left]If
UpTrend Then Begin[/p]  [p=30, 2, left]Buy Next Bar Market[color=black];[/color][/p]  [p=30, 2, left]End[/p]  [p=30, 2, left]Else Begin[/p]  [p=30, 2, left]SellShort Next Bar Market[color=black];[/color][/p]  [p=30, 2, left]End ;[/p]  [/td] [/tr]
[/table][p=30, 2, left]
[/p][table=98%]
[tr]  [td=2,1]  Not  [/td] [/tr]
[tr]  [td=1,1,11%]  [p=30, 2, left][font=宋体][size=12.0pt]说明[/size][/font][/p]  [/td]  [td=1,1,88%]  [p=30, 2, left][font=宋体][size=12.0pt]用于布林表达式:[b]取反[/b][/size][/font][/p]  [/td] [/tr]
[tr]  [td=1,1,11%]  [p=30, 2, left][font=宋体][size=12.0pt]范例[/size][/font][/p]  [/td]  [td=1,1,88%]  [p=30, 2, left][font=宋体][size=12.0pt]将[/size][/font]Condition1[font=宋体][size=12.0pt]取反后赋值给[/size][/font]Condition2[font=宋体][size=12.0pt]:[/size][/font][font=&quot][/font][/p]  [p=30, 2, left]Condition1[font=&quot] = [/font]True;[font=&quot] [/font][/p]  [p=30, 2, left]Condition2[font=&quot] = [/font]Not
Condition1;
[/p]  [/td] [/tr]
[/table][p=30, 2, left]
[/p][table=98%]
[tr]  [td=2,1]  Or
  [/td] [/tr]
[tr]  [td=1,1,11%]  [p=30, 2, left][font=宋体][size=12.0pt]说明[/size][/font][/p]  [/td]  [td=1,1,88%]  [p=30, 2, left][font=宋体][size=12.0pt]一个逻辑运算符(布尔型),如果逻辑表达式中有一个为[/size][/font]true[font=宋体][size=12.0pt]时,返回[/size][/font]True[font=宋体][size=12.0pt]。逻辑运算符用于逻辑(布尔表达式)的判断。[/size][/font][/p]  [/td] [/tr]
[tr]  [td=1,1,11%]  [p=30, 2, left][font=宋体][size=12.0pt]语法[/size][/font][/p]  [/td]  [td=1,1,88%]  [p=30, 2, left][i]E1[/i]
Or  [i]E2[/i][/p]  [/td] [/tr]
[tr]  [td=1,1,11%]  [p=30, 2, left][font=宋体][size=12.0pt]参数[/size][/font][/p]  [/td]  [td=1,1,88%]  [p=30, 2, left][i]E1, E2[/i]——[font=宋体][size=12.0pt]布尔型表达式。[/size][/font][/p]  [/td] [/tr]
[tr]  [td=1,1,11%]  [p=30, 2, left][font=宋体][size=12.0pt]范例[/size][/font][/p]  [/td]  [td=1,1,88%]  [p=30, 2, left][font=宋体][size=12.0pt]下面的逻辑运算返回值为[/size][/font]False[font=宋体][size=12.0pt]:[/size][/font][/p]  [p=30, 2, left]2[font=&quot]=[/font]1
Or
2[font=&quot]>[/font]2[/p]  [p=30, 2, left][font=宋体][size=12.0pt]下面的逻辑运算返回值为[/size][/font]True[font=宋体][size=12.0pt]:[/size][/font][/p]  [p=30, 2, left]True[b]
[/b]Or[b]
[/b]False[b]
[/b]Or[b]
[/b]False[/p]  [/td] [/tr]
[/table][p=30, 2, left]
[/p][table=98%]
[tr]  [td=2,1]  Then  [/td] [/tr]
[tr]  [td=1,1,11%]  [p=30, 2, left][font=宋体][size=12.0pt]说明[/size][/font][/p]  [/td]  [td=1,1,88%]  [p=30, 2, left][font=宋体][size=12.0pt]和[/size][/font]If[font=宋体][size=12.0pt]配合使用,形成一个条件语句,如果某条件成立时,则执行特定的陈述式,和[/size][/font]Else[font=宋体][size=12.0pt]联合使用,形成一个条件语句,如果条件不成立,则执行[/size][/font]Else[font=宋体][size=12.0pt]指定的陈述式。[/size][/font][/p]  [p=30, 2, left][font=宋体][size=12.0pt]条件执行语句必须包含[/size][/font]If[font=宋体][size=12.0pt]和[/size][/font]Then[font=宋体][size=12.0pt],[/size][/font]Else[font=宋体][size=12.0pt]是可选的。[/size][/font][/p]  [p=30, 2, left][font=宋体][size=12.0pt]陈述式组需要用[/size][/font]Begin...End[font=宋体][size=12.0pt]包含。一个[/size][/font]Begin[font=宋体][size=12.0pt]必须跟随一个[/size][/font]End[font=宋体][size=12.0pt]。[/size][/font][/p]  [p=30, 2, left]Begin[font=宋体][size=12.0pt]后无需加分号([/size][/font];[font=宋体][size=12.0pt]),整个陈述式组中的每句陈述式都要以分号([/size][/font];[font=宋体][size=12.0pt])结束,在建构成完整陈述式之后的[/size][/font]End[font=宋体][size=12.0pt]也要加上分号([/size][/font];[font=宋体][size=12.0pt])结尾。[/size][/font][/p]  [/td] [/tr]
[tr]  [td=1,1,11%]  [p=30, 2, left][font=宋体][size=12.0pt]语法[/size][/font][/p]  [/td]  [td=1,1,88%]  [p=30, 2, left]If [i]E[/i]
Then [i]Instruction[/i][/p]  [/td] [/tr]
[tr]  [td=1,1,11%]  [p=30, 2, left][font=宋体][size=12.0pt]参数[/size][/font][/p]  [/td]  [td=1,1,88%]  [p=30, 2, left][i]E[/i]——[font=宋体][size=12.0pt]条件判断式[/size][/font][/p]  [p=30, 2, left][i]Instruction[/i]——[font=宋体][size=12.0pt]陈述式[/size][/font][/p]  [/td] [/tr]
[tr]  [td=1,1,11%]  [p=30, 2, left][font=宋体][size=12.0pt]范例[/size][/font][/p]  [/td]  [td=1,1,88%]  [p=30, 2, left][font=宋体][size=12.0pt]如果条件[/size][/font]UpTrend
[font=宋体][size=12.0pt]为假则卖平:[/size][/font][/p]  [p=30, 2, left]If UpTrend[font=&quot]=[/font]False Then Sell Next Bar Market;[/p]  [/td] [/tr]
[/table][p=30, 2, left]
[/p][table=98%]
[tr]  [td=2,1]  To  [/td] [/tr]
[tr]  [td=1,1,11%]  [p=30, 2, left][font=宋体][size=12.0pt]说明[/size][/font][/p]  [/td]  [td=1,1,88%]  [p=30, 2, left][font=宋体][size=12.0pt]和[/size][/font]For[font=宋体][size=12.0pt]搭配使用构成一个[/size][/font]For[font=宋体][size=12.0pt]循环,[/size][/font]For[font=宋体][size=12.0pt]循环陈述式反复执行直到循环次数达到设定的终值。[/size][/font][/p]  [p=30, 2, left][font=宋体][size=12.0pt]每完成一次循环,[/size][/font]To
[font=宋体][size=12.0pt]所指定的循环计数变量值就加一。[/size][/font][/p]  [p=30, 2, left][font=宋体][size=12.0pt]更多信息参考[/size][/font]For[font=宋体][size=12.0pt]。[/size][/font][/p]  [/td] [/tr]
[tr]  [td=1,1,11%]  [p=30, 2, left][font=宋体][size=12.0pt]语法[/size][/font][/p]  [/td]  [td=1,1,88%]  [p=30, 2, left]For
[i]Counter[/i]=[i]IValue[/i] To [i]FValue[/i] Begin[/p]  [p=30, 2, left][i]Instruction1[/i];[/p]  [p=30, 2, left][i]Instruction2[/i];[/p]  [p=30, 2, left]End;[/p]  [/td] [/tr]
[tr]  [td=1,1,11%]  [p=30, 2, left][font=宋体][size=12.0pt]参数[/size][/font][/p]  [/td]  [td=1,1,88%]  [p=30, 2, left][i]Counter[/i]—— [font=宋体][size=12.0pt]数值变量,用来存储循环计数值。[/size][/font][/p]  [p=30, 2, left][i]IValue[/i]——[font=宋体][size=12.0pt]数值表达式,指定起始计数值。[/size][/font][/p]  [p=30, 2, left][i]FValue[/i]——[font=宋体][size=12.0pt]数值表达式,指定最终计数值。[/size][/font][/p]  [p=30, 2, left][i]Instruction[/i]——[font=宋体][size=12.0pt]陈述式[/size][/font][/p]  [/td] [/tr]
[tr]  [td=1,1,11%]  [p=30, 2, left][font=宋体][size=12.0pt]范例[/size][/font][/p]  [/td]  [td=1,1,88%]  [p=30, 2, left][font=宋体][size=12.0pt]求前[/size][/font]10[font=宋体][size=12.0pt]根[/size][/font]Bar[font=宋体][size=12.0pt]的最高价之和并赋给变量[/size][/font]HighPriceSum:[/p]  [p=30, 2, left]Variable: BarBackNo (0), HighPriceSum(0);[/p]  [p=30, 2, left]For
BarBackNo[font=&quot]=[/font]0
To
9
Begin[font=&quot][/font][/p]  [p=30, 2, left]HighPriceSum[font=&quot]=[/font]HighPriceSum[font=&quot]+[/font]High[font=&quot][[/font]BarBackNo[font=&quot]][/font];[font=&quot][/font][/p]  [p=30, 2, left]End;[/p]  [/td] [/tr]
[/table][p=30, 2, left]
[/p][table=98%]
[tr]  [td=2,1]  True  [/td] [/tr]
[tr]  [td=1,1,11%]  [p=30, 2, left][font=宋体][size=12.0pt]说明[/size][/font][/p]  [/td]  [td=1,1,88%]  [p=30, 2, left][font=宋体][size=12.0pt]逻辑值(布尔型)。用来表示逻辑(布尔)表达式的值和宣告布尔型[/size][/font]inputs[font=宋体][size=12.0pt]参数。[/size][/font][/p]  [/td] [/tr]
[tr]  [td=1,1,11%]  [p=30, 2, left][font=宋体][size=12.0pt]语法[/size][/font][/p]  [/td]  [td=1,1,88%]  [p=30, 2, left]True[/p]  [/td] [/tr]
[tr]  [td=1,1,11%]  [p=30, 2, left][font=宋体][size=12.0pt]范例[/size][/font][/p]  [/td]  [td=1,1,88%]  [p=30, 2, left][font=宋体][size=12.0pt]下面的逻辑表达式的返回值为[/size][/font] True[font=宋体]:[/font][/p]  [p=30, 2, left]True Or False [/p]  [p=30, 2, left][font=宋体][size=12.0pt]下面的逻辑表达式的返回值为[/size][/font] True[font=宋体][size=12.0pt]:[/size][/font][/p]  [p=30, 2, left]2[font=&quot]=[/font]2
[/p]  [p=30, 2, left][font=宋体][size=12.0pt]声明一个初始值为[/size][/font]true[font=宋体][size=12.0pt]的变量[/size][/font]LogicalVar[font=宋体][size=12.0pt]:[/size][/font][/p]  [p=30, 2, left]Variable:LogicalVar[font=&quot]([/font]True[font=&quot])[/font];
[/p]  [p=30, 2, left][font=宋体][size=12.0pt]声明一个初始值为[/size][/font]true[font=宋体][size=12.0pt]的[/size][/font]input[font=宋体][size=12.0pt]型变量[/size][/font]Overnight[font=宋体][size=12.0pt]:[/size][/font][/p]  [p=30, 2, left]Input:Overnight[font=&quot]([/font]True[font=&quot])[/font]; [/p]  [/td] [/tr]
[/table][p=30, 2, left]
[/p][table=98%]
[tr]  [td=2,1]  While
  [/td] [/tr]
[tr]  [td=1,1,11%]  [p=30, 2, left][font=宋体][size=12.0pt]说明[/size][/font][/p]  [/td]  [td=1,1,88%]  [p=30, 2, left][font=宋体][size=12.0pt]和[/size][/font]Begin[font=宋体][size=12.0pt],[/size][/font]End[font=宋体][size=12.0pt]配合使用形成一个[/size][/font]While[font=宋体][size=12.0pt]条件循环语句。如果布林表达式判断为真,则不断重复执行一组陈述式,直到条件不再成立。[/size][/font][/p]  [p=30, 2, left]While[font=宋体][size=12.0pt]循环语句中的陈述式组需要用[/size][/font]Begin...End[font=宋体][size=12.0pt]包含。一个[/size][/font]Begin[font=宋体][size=12.0pt]必须跟随一个[/size][/font]End[font=宋体][size=12.0pt]。[/size][/font][/p]  [p=30, 2, left]Begin[font=宋体][size=12.0pt]后无需加分号([/size][/font];[font=宋体][size=12.0pt]),整个陈述式组中的每句陈述式都要以分号([/size][/font];[font=宋体][size=12.0pt])结束,在建构成完整陈述式之后的[/size][/font]End[font=宋体][size=12.0pt]也要加上分号([/size][/font];[font=宋体][size=12.0pt])结尾。[/size][/font][/p]  [/td] [/tr]
[tr]  [td=1,1,11%]  [p=30, 2, left][font=宋体][size=12.0pt]语法[/size][/font][/p]  [/td]  [td=1,1,88%]  [p=30, 2, left]While [i]E[/i] Begin[/p]  [p=30, 2, left][i]Instruction1[/i];[/p]  [p=30, 2, left][i]Instruction2[/i];[/p]  [p=30, 2, left][i]Instruction3[/i];[/p]  [p=30, 2, left]End;[/p]  [/td] [/tr]
[tr]  [td=1,1,11%]  [p=30, 2, left][font=宋体][size=12.0pt]参数[/size][/font][/p]  [/td]  [td=1,1,88%]  [p=30, 2, left][i]E[/i]——[font=宋体][size=12.0pt]布尔表达式[/size][/font][/p]  [p=30, 2, left][i]Instruction[/i]——[font=宋体][size=12.0pt]陈述式[/size][/font][/p]  [/td] [/tr]
[tr]  [td=1,1,11%]  [p=30, 2, left][font=宋体][size=12.0pt]注意[/size][/font][/p]  [/td]  [td=1,1,88%]  [p=30, 2, left][font=宋体][size=12.0pt]使用[/size][/font]While[font=宋体][size=12.0pt]循环时,[/size][/font]Begin...End[font=宋体][size=12.0pt]内的陈述式必须包含改变循环条件的布林表达式。若没有,可能会造成无穷循环,使用上宜特别小心。[/size][/font]PL[font=宋体][size=12.0pt]为避免出现无穷循环的状况,当[/size][/font]While[font=宋体][size=12.0pt]循环执行超过[/size][/font]5[font=宋体][size=12.0pt]秒仍未停止时,会出现一个执行时错误,并停止执行脚本。[/size][/font][/p]  [/td] [/tr]
[tr]  [td=1,1,11%]  [p=30, 2, left][font=宋体][size=12.0pt]范例[/size][/font][/p]  [/td]  [td=1,1,88%]  [p=30, 2, left][font=宋体][size=12.0pt]求最近十根[/size][/font]K[font=宋体][size=12.0pt]棒的最高价之和并赋值给变量[/size][/font]HighPriceSum[font=宋体][size=12.0pt]:[/size][/font][/p]  [p=30, 2, left]Variable: BarBackNo (0), HighPriceSum(0);[/p]  [p=30, 2, left]BarBackNo= 0;[/p]  [p=30, 2, left]While
BarBackNo[font=&quot]<[/font]10
Begin[font=&quot][/font][/p]  [p=30, 2, left]HighPriceSum[font=&quot]=[/font]HighPriceSum[font=&quot]+[/font]High[font=&quot][[/font]BarBackNo[font=&quot]][/font];[font=&quot][/font][/p]  [p=30, 2, left]BarBackNo= BarBackNo +1;[font=&quot][/font][/p]  [p=30, 2, left]End;
[/p]  [/td] [/tr]
[/table]

页: [1]