龙听期货论坛's Archiver

C
+
+


 微信: QQ:

龙听 发表于 2018-3-25 17:44

文华赢智算法交易-编程举例

[font=宋体][size=12px][b]1. 数学计算算法组件编写实例[/b]
VAR result; [color=#ff00]                ---------------//定义变量result[/color]
[/size][/font][color=#00ff][font=宋体][size=12px]VAR[/size][/font][/color][font=宋体][size=12px] ADDTEST([/size][/font][color=#00ff][font=宋体][size=12px]VAR[/size][/font][/color][font=宋体][size=12px] a,[/size][/font][font=宋体][size=12px]VAR[/size][/font][font=宋体][size=12px] b) [/size][/font][color=#ff00][font=宋体][size=12px]   ---------------//定义自定义函数ADDTEST 设定参数a,b[/size][/font][/color][font=宋体][size=12px]
{
[/size][/font][font=宋体][size=12px]VAR[/size][/font][font=宋体][size=12px] x; [/size][/font][color=#ff00][font=宋体][size=12px]                     ---------------//定义局部变量x[/size][/font][/color]
[font=宋体][size=12px]VAR[/size][/font][font=宋体][size=12px] y; [/size][/font][color=#ff00][font=宋体][size=12px]                     ---------------//定义局部变量y[/size][/font][/color][font=宋体][size=12px]
x = a + b;                  [/size][/font][color=#ff00][font=宋体][size=12px]---------------//将 a+b 的结果赋值给x[/size][/font][/color][font=宋体][size=12px]
y = a - b; [/size][/font][color=#ff00][font=宋体][size=12px]                 ---------------//将 a-b 的结果赋值给y[/size][/font][/color]
[font=宋体][size=12px]MessageOut[/size][/font][font=宋体][size=12px](x); [/size][/font][color=#ff00][font=宋体][size=12px]             ---------------//输出变量x的值[/size][/font][/color]
[font=宋体][size=12px]MessageOut[/size][/font][font=宋体][size=12px](y); [/size][/font][color=#ff00][font=宋体][size=12px]             ---------------//输出变量y的值[/size][/font][/color][font=宋体][size=12px]
RETURN (x*y); [/size][/font][color=#ff00][font=宋体][size=12px]              ---------------//返回数值x*y[/size][/font][/color][font=宋体][size=12px]
}
[/size][/font][font=宋体][size=12px]VOID[/size][/font][font=宋体][size=12px] MAIN() [/size][/font][color=#ff00][font=宋体][size=12px]                ---------------//定义主函数[/size][/font][/color][font=宋体][size=12px]
{
result = ADDTEST(50,100); [/size][/font][color=#ff00][font=宋体][size=12px]--------//调用自定义函数ADDTEST 并将结果赋值给result[/size][/font][/color]
[font=宋体][size=12px]MessageOut[/size][/font][font=宋体][size=12px](result);         [/size][/font][color=#ff00][font=宋体][size=12px]---------------//输变量r出esult的值[/size][/font][/color][font=宋体][size=12px]
}

[b]2. 1-100自然数累加算法组件编写实例[/b]
[/size][/font][font=宋体][size=12px]VAR[/size][/font][font=宋体][size=12px] SUM,N; [/size][/font][color=#ff00][font=宋体][size=12px]                 ---------------//定义变量SUM、N[/size][/font][/color]
[font=宋体][size=12px]VOID[/size][/font][font=宋体][size=12px] MAIN() [/size][/font][color=#ff00][font=宋体][size=12px]                ---------------//定义主函数[/size][/font][/color][font=宋体][size=12px]
{
N=0; [/size][/font][color=#ff00][font=宋体][size=12px]                       ----------------//将0赋值给变量N[/size][/font][/color][font=宋体][size=12px]
SUM=0; [/size][/font][color=#ff00][font=宋体][size=12px]                     ----------------//将0赋值给变量SUM[/size][/font][/color]
[font=宋体][size=12px]WHILE[/size][/font][font=宋体][size=12px](N<=100) [/size][/font][color=#ff00][font=宋体][size=12px]              ----------------//运行WHILE循环函数,条件为N<=100[/size][/font][/color][font=宋体][size=12px]
{
SUM=SUM+N; [/size][/font][color=#ff00][font=宋体][size=12px]                 ----------------//将SUM+N赋值给SUM[/size][/font][/color][font=宋体][size=12px]
N=N+1; [/size][/font][color=#ff00][font=宋体][size=12px]                     ----------------//将N+1赋值给N[/size][/font][/color][font=宋体][size=12px]
}
[/size][/font][font=宋体][size=12px]MessageOut[/size][/font][font=宋体][size=12px](SUM); [/size][/font][color=#ff00][font=宋体][size=12px]           ----------------//输出变量SUM的值[/size][/font][/color][font=宋体][size=12px]
}
注:输出后返回结果为5050。

[b]3、信号刷新显示实例[/b]
[/size][/font][font=宋体][size=12px]IF[/size][/font][font=宋体][size=12px] ([/size][/font][font=宋体][size=12px]F_FreshSig[/size][/font][font=宋体][size=12px]()==1) [/size][/font][color=#ff00][font=宋体][size=12px]     ---------------//如果当前信号是没有处理过的新信号[/size][/font][/color][font=宋体][size=12px]
{
[/size][/font][font=宋体][size=12px]   IF[/size][/font][font=宋体][size=12px]([/size][/font][font=宋体][size=12px]F_SigValid[/size][/font][font=宋体][size=12px]()==1)   [/size][/font][color=#ff00][font=宋体][size=12px]---------------//如果当前信号没有消失[/size][/font][/color][font=宋体][size=12px]
   {
   [/size][/font][font=宋体][size=12px]MessageOut[/size][/font][font=宋体][size=12px]("出现啦");[/size][/font][color=#ff00][font=宋体][size=12px]  ---------------//输出“出现啦”[/size][/font][/color][font=宋体][size=12px]
   }
   [/size][/font][font=宋体][size=12px]IF[/size][/font][font=宋体][size=12px]([/size][/font][font=宋体][size=12px]F_SigValid[/size][/font][font=宋体][size=12px]()==0) [/size][/font][color=#ff00][font=宋体][size=12px]   ---------------//如果当前信号消失了[/size][/font][/color][font=宋体][size=12px]
   {
   [/size][/font][font=宋体][size=12px]MessageOut[/size][/font][font=宋体][size=12px]("消失时");[/size][/font][color=#ff00][font=宋体][size=12px]   ---------------//输出“消失时”[/size][/font][/color][font=宋体][size=12px]
   }
}
[/size][/font][font=宋体][size=12px]ELSE IF[/size][/font][font=宋体][size=12px] ([/size][/font][font=宋体][size=12px]F_FreshSig[/size][/font][font=宋体][size=12px]()==0) [/size][/font][color=#ff00][font=宋体][size=12px]---------------//如果当前是旧信号[/size][/font][/color][font=宋体][size=12px]
{
   [/size][/font][font=宋体][size=12px]IF[/size][/font][font=宋体][size=12px]([/size][/font][font=宋体][size=12px]F_SigValid[/size][/font][font=宋体][size=12px]()==1)     [/size][/font][color=#ff00][font=宋体][size=12px]---------------//如果当前信号没有消失[/size][/font][/color][font=宋体][size=12px]
   {
   [/size][/font][font=宋体][size=12px]MessageOut[/size][/font][font=宋体][size=12px]("持有中");[/size][/font][color=#ff00][font=宋体][size=12px]   ---------------//输出“持有中”[/size][/font][/color][font=宋体][size=12px]
   }
   [/size][/font][font=宋体][size=12px]IF[/size][/font][font=宋体][size=12px]([/size][/font][font=宋体][size=12px]F_SigValid[/size][/font][font=宋体][size=12px]()==0) [/size][/font][color=#ff00][font=宋体][size=12px]    ---------------//如果当前信号消失了[/size][/font][/color][font=宋体][size=12px]
   {
   [/size][/font][font=宋体][size=12px]MessageOut[/size][/font][font=宋体][size=12px]("消失后"); [/size][/font][color=#ff00][font=宋体][size=12px]   ---------------//输出“消失后”[/size][/font][/color][font=宋体][size=12px]
   }
}[/size][/font]

页: [1]