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="]([/font]Close[font="])[/font];[font="][/font][/p] [p=30, 2, left]If
Plot1
Cross
Above
1350.50
Then[font="] [/font][/p] [p=30, 2, left]Alert[font="]([/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="]=[/font]1
And
2[font="]=[/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="]([/font]Close[font="])[/font];[font="][/font][/p] [p=30, 2, left]If
Plot1
Cross
Below
1350.50
Then[font="] [/font][/p] [p=30, 2, left]Alert[font="]([/font]"Price has crossed below 1350.00"[font="])[/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="]=[/font]
0
To
10
Begin[font="] [/font][/p] [p=30, 2, left]If
[font="]([/font]
close[font="][[/font]Value1[font="]][/font]
[font="]=[/font]
open[font="][[/font]Value1[font="]][/font]
[font="])[/font]
Then
Break;[font="][/font][/p] [p=30, 2, left]End; [font="][/font][/p] [p=30, 2, left]If
Value1
[font="]<=[/font]
10
Then
print[font="]([/font]"Open = Close ", Value1:0:0,
" Bars ago."[font="])[/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="]([/font]Close[font="])[/font];[font="][/font][/p] [p=30, 2, left]If
Plot1
Cross
Above
1350.50
Then[font="] [/font][/p] [p=30, 2, left]Alert[font="]([/font]"Price has crossed above 1350.00"[font="])[/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="]=[/font]9
DownTo
0
Begin[font="][/font][/p] [p=30, 2, left]HighPriceSum[font="]=[/font]HighPriceSum[font="]+[/font]High[font="][[/font]BarBackNo[font="]][/font];[font="][/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="][/font][/p] [p=30, 2, left]False[b]
[/b]And[b]
[/b]True[/p] [p=30, 2, left][font=宋体]下面的逻辑判断式返回值为[/font] False[font=宋体]:[/font][font="][/font][/p] [p=30, 2, left][b][font="]2[/font][/b][font="]=[/font][b][font="]1[/font][/b]
[/p] [p=30, 2, left][font=宋体]声明一个初始值为[/font]false[font=宋体]的逻辑变量[/font]LogicalVar[font=宋体]:[/font][/p] [p=30, 2, left]Variable:LogicalVar[font="]([/font]False[font="])[/font];[font="][/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="]([/font]False[font="])[/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="]=[/font]0
To
9
Begin[font="][/font][/p] [p=30, 2, left]HighPriceSum[font="]=[/font]HighPriceSum[font="]+[/font]High[font="][[/font]BarBackNo[font="]][/font];[font="][/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="]=[/font]9
DownTo
0
Begin[font="][/font][/p] [p=30, 2, left]HighPriceSum[font="]=[/font]HighPriceSum[font="]+[/font]High[font="][[/font]BarBackNo[font="]][/font];[font="][/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="]=[/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="][/font][/p] [p=30, 2, left]Condition1[font="] = [/font]True;[font="] [/font][/p] [p=30, 2, left]Condition2[font="] = [/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="]=[/font]1
Or
2[font="]>[/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="]=[/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="]=[/font]0
To
9
Begin[font="][/font][/p] [p=30, 2, left]HighPriceSum[font="]=[/font]HighPriceSum[font="]+[/font]High[font="][[/font]BarBackNo[font="]][/font];[font="][/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="]=[/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="]([/font]True[font="])[/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="]([/font]True[font="])[/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="]<[/font]10
Begin[font="][/font][/p] [p=30, 2, left]HighPriceSum[font="]=[/font]HighPriceSum[font="]+[/font]High[font="][[/font]BarBackNo[font="]][/font];[font="][/font][/p] [p=30, 2, left]BarBackNo= BarBackNo +1;[font="][/font][/p] [p=30, 2, left]End;
[/p] [/td] [/tr]
[/table]
页:
[1]