3、文华财经程序化交易编程函数
- 格式:pdf
- 大小:479.74 KB
- 文档页数:18
文华财经函数大全1、引用数据AVPRICE引用均价(在盘后对于国内三个期货交易所指结算价)SETTLE引用结算价(如果用在周期小于'日'的K线上如5分钟K线,一小时k 线,每根k线返回的值表示这根k线当日开盘时到这根k线的为止的结算价(均价)如果用在周期大于等于'日'的K线上,返回当根K线结束时间所在日的结算价.)CLOSE引用收盘价(在盘中指最新价),也可简写为C。
HIGH引用最高价,也可简写为H。
LOW引用最低价,也可简写为L。
OPEN引用开盘价,也可简写为O。
OPI引用持仓量REF(X,N)引用X在N个周期前的值例:REF(CLOSE,5);表示引用当前周期前第5个周期的收盘价REFX(X,N)引用N个周期后的数据。
(N为大于等于1的整数)『未来函数』例:REFX(CLOSE,5);表示引用自当前周期后第5个周期的收盘价VOL引用成交量,也可简写为V。
GETPRICE(N)根据文华码取出某一品种的最新价。
例子:GETPRICE(1209);返回文华码为1209的合约品种的最新价。
2、金融统计BACKSET(X,N)若X条件成立,则将当前位置到N周期前的数值设为1。
『未来函数』例:BACKSET(CLOSE>OPEN,3);表示当K线收阳时,自当前位置到3周期前的数值设为1该函数参数支持变量计算如BACKSET(CLOSE>OPEN,VAR1);//VAR1是变量BARSLAST(X)求上一次条件成立到当前的周期数。
例:BARSLAST(X):上一次满足X条件到现在的K线根数。
如果本根K线满足X条件,则BARSLAST(X)返回0.COUNT(X,N)表示统计在N周期内满足X条件的周期数。
若N=0则从本地数据的第一个有效值开始。
例:WR:=-100*(HHV(HIGH,N)-CLOSE)/(HHV(HIGH,N)-LLV(LOW,N));COUNT(WR>80,5);表示统计在5个周期内满足WR>80的次数。
已破解的交易策略源码:DIRECTION:=CLOSE-REF(CLOSE,10);VOLATILITY:=SUM(ABS((CLOSE-REF(CLOSE,1))),10);ER:=ABS(DIRECTION/VOLATILITY);FASTSC:=2/(2 + 1);SLOWSC:=2/(30 + 1);SSC:=ER*(FASTSC-SLOWSC)+SLOWSC;:c,nodraw;CONSTANT:=SSC*SSC;AMAHIGH:=REF(EMA(HIGH,100),1)+CONSTANT*(HIGH- EMA(HIGH,100)); AMACLOSE:=REF(EMA(CLOSE,100),1)+CONSTANT*(CLOSE- REF(EMA(CLOSE,100),1)); AMALOW:=REF(EMA(LOW,100),1)+CONSTANT*(LOW- EMA(LOW,100));REF(LOW>AMAHIGH,1),BK;REF(CLOSE<AMACLOSE OR CLOSE<=0.995*BKPRICE,1),SP;REF(HIGH<AMALOW,1),SK;REF(CLOSE>AMACLOSE OR CLOSE>=1.005*SKPRICE,1),BP;AUTOFILTER;源码解析:DIRECTION赋值:收盘价-10日前的收盘价VOLATILITY赋值:(收盘价-昨收)的绝对值的10日累和ER赋值:DIRECTION/VOLATILITY的绝对值FASTSC赋值:2/(2 + 1)SLOWSC赋值:2/(30 + 1)SSC赋值:ER*(FASTSC-SLOWSC)+SLOWSC输出:收盘价,NODRAWCONSTANT赋值:SSC*SSCAMAHIGH赋值:昨日最高价的100日指数移动平均+CONSTANT*(最高价- 最高价的100日指数移动平均)AMACLOSE赋值:昨日收盘价的100日指数移动平均+CONSTANT*(收盘价- 昨日收盘价的100日指数移动平均)AMALOW赋值:昨日最低价的100日指数移动平均+CONSTANT*(最低价- 最低价的100日指数移动平均)昨日最低价>AMAHIGH,BK昨日收盘价<AMACLOSEORCLOSE<=0.995*BKPRICE,SP昨日最高价<AMALOW,SK昨日收盘价>AMACLOSEORCLOSE>=1.005*SKPRICE,BPAUTOFILTER。
文华财经函数大全1、引用数据AVPRICE 引用均价(在盘后对于国内三个期货交易所指结算价)SETTLE 引用结算价(如果用在周期小于'日'的K线上如5分钟K线,一小时k线,每根k 线返回的值表示这根k线当日开盘时到这根k线的为止的结算价(均价)如果用在周期大于等于'日'的K线上,返回当根K线结束时间所在日的结算价.)CLOSE 引用收盘价(在盘中指最新价),也可简写为C。
HIGH 引用最高价,也可简写为H。
LOW 引用最低价,也可简写为L。
OPEN 引用开盘价,也可简写为O。
OPI 引用持仓量REF(X,N) 引用X在N个周期前的值例:REF(CLOSE,5);表示引用当前周期前第5个周期的收盘价REFX(X,N) 引用N个周期后的数据。
(N为大于等于1的整数)『未来函数』例:REFX(CLOSE,5);表示引用自当前周期后第5个周期的收盘价VOL 引用成交量,也可简写为V。
GETPRICE(N) 根据文华码取出某一品种的最新价。
例子:GETPRICE(1209);返回文华码为1209的合约品种的最新价。
2、金融统计BACKSET(X,N) 若X条件成立,则将当前位置到N周期前的数值设为1。
『未来函数』例:BACKSET(CLOSE>OPEN,3);表示当K线收阳时,自当前位置到3周期前的数值设为1该函数参数支持变量计算如BACKSET(CLOSE>OPEN,VAR1);COUNT(X,N) 表示统计在N周期内满足X条件的周期数。
若N=0则从本地数据的第一个有效值开始。
例:WR:=-100*(HHV(HIGH,N)-CLOSE)/(HHV(HIGH,N)-LLV(LOW,N));COUNT(WR>80,5);表示统计在5个周期内满足WR>80的次数。
DMA(X,N) 返回X的动态移动平均,其中N必须介于0及1之间。
计算方法:DMA(N)=DMA(N-1)*(1-A)+X(N)*A其中DMA(N-1)为第(N-1)天的DMA值。
⽂华财经编程规则⽂华财经编程规则⽬录⼀、操作符: (1)⼆、语法: (2)三、函数和常量 (3)1.引⽤数据 (3)2.⾦融统计 (4)3.数理统计 (6)4.逻辑判断 (7)5.数学运算 (8)6.时间函数 (9)7.绘图 (10)8、颜⾊常数 (11)9、level-2函数(只有嬴智版本⽀持) (11)10、头⼨函数(连接⽂华服务器才能使⽤) (14)11、信号记录函数(连接⽂华服务器才能使⽤) (15)四、交易指令 (15)五、编程举例: (16)⼀、操作符:操作符意义例+加法 CLOSE +OPEN 表⽰求收盘价及开盘价的和。
CLOSE -OPEN 表⽰求收盘价及开盘价的差。
CLOSE*OPEN 表⽰求收盘价及开盘价的积。
CLOSE/OPEN 表⽰求收盘价及开盘价的商。
-减法 *乘法 /除法 &&与(并且),也可简写为AND ||或(或者), 也可简写为OR >⼤于 CLOSE>OPEN 表⽰判断当前周期是否收阳。
<⼩于 CLOSE=OPEN 表⽰判断当前周期是否平盘。
>=⼤于等于 <=⼩于等于 <>不等于 =等于操作符:= 只定义⼀个局部变量(这个变量在画图时是不画的) TMP1:=(OPEN+CLOSE)/2; MA(TMP1,10); 上⾯的公式的第⼀个语句定义了⼀个局部变量TMP1,在下⾯⼀⾏:声明了⼀个变量,在画图时画出它并且按这个名字显⽰。
中引⽤了这个局部变量,但是要注意的是这个公式在画图的时候只画了第⼆条语句所求出的结果。
相反下⾯这个公式则需要画出两条线,第⼀条是⾃⼰定义的均价线,同时显⽰了均价的名称为AVP,第⼆条线是均价的简单移动平均线。
AVP:(OPEN+CLOSE)/2;MA(AVP,10);⼆、语法:1.关于公式名称:公式的名称不可以和已经存在的公式重复。
2.关于参数:每个⾃编公式最多可以定义四个参数,参数的定义如下,⾸先是参数名称,然后是参数的最⼩值,最⼤值,最后是参数的默认值。
交易开拓者函数一览表(文华对照)交易开拓者函数一览表(文华对照)交易开拓者文华数学函数绝对值Abs ABS(X) 反余弦值Acos ACOS(X) 反双曲余弦值Acosh反正弦值Asin ASIN(X) 反双曲正弦值Asinh反正切值Atan ATAN(X) 给定的X及Y坐标值的反正Atan2切值反双曲正切值Atanh沿绝对值增大方向按基数Ceiling舍入从给定数目的对象集合中Combin提取若干对象的组合数余弦值Cos COS(X) 双曲余弦值Cosh余切值Ctan沿绝对值增大方向取整后Even最接近的偶数e的N次幂Exp EXP(X) 数的阶乘Fact沿绝对值减少的方向去尾Floor舍入实数舍入后的小数值FracPart实数舍入后的整数值IntPart自然对数Ln LN(X)对数Log LOG(X) 余数Mod MOD(A,B) 负绝对值Neq指定数值舍入后的奇数Odd返回PI Pi给定数字的乘幂Power POW(A,B) 随机数Rand按指定位数舍入Round靠近零值,舍入数字RoundDown远离零值,舍入数字RoundUp数字的符号Sign SGN(X) 正弦值Sin双曲正弦值Sinh SIN(X)平方Sqr SQUARE(X)正平方根Sqrt SQRT(X)正切值Tan TAN(X)双曲正切值Tanh取整Trunc INTPART(X)字符串函数测试是否相同Exact返回字符串中的字符数Len大写转小写Lower数字转化为字符串Text取出文本两边的空格Trim小写转大写Upper文字转化为数字Value颜色函数黑色Black COLORBLACK蓝色Blue COLORBLUE青色Cyan COLORCYAN茶色DarkBrown深青色DarkCyan深灰色DarkGray深绿色DarkGreen深褐色DarkMagenta深红色DarkRed默认颜色DefaultColor绿色Green COLORGREEN浅灰色LightGray COLORLIGHTGREY 紫红色Magenta COLORMAGENTA 红色Red COLORRED自定义颜色Rgb Rgb白色White COLORWHITE黄色Yellow COLORYELLOW时间函数当前日期CurrentDate当前时间CurrentTime日期时间值转化为字符串DateTimeToString类型日期值转化为字符串类型DateToString获得当前bar的日信息Day DAY获得星期一值Monday获得星期二值Tuesday获得星期三值Wednesday获得星期四值Thursday获得星期五值Friday获得星期六值Saturday获得星期日值Sunday获得当前bar的小时信息Hour HOUR将参数生成日期值MakeDate将参数生成日期时间值MakeDateTime将参数生成时间值MakeTime获得当前bar的分钟信息Minute MINUTE 获得当前bar的月信息Month MONTH 获得当前bar的秒信息Second将字符串转化为日期StringToDate将字符串转化为日期时间StringToDateTime将字符串转化为时间StringToTime获得交易开拓者平台的当SystemDateTime前日期时间将时间值转化为字符串类TimeToString型获得当前bar的周信息Weekday WEEKDAY 获得当前bar的年信息Year YEAR数据函数当前商品数据的bar总数BarCount当前商品当前bar的状态BarStatus值当前bar收盘价 C当前bar收盘价Close CLOSE 当前商品当前bar的索引CurrentBar BARPOS 值当前bar日期 D当前bar日期Date当前bar的最高价H当前bar的最高价High HIGH当前历史数据是否有效HistoryDataExist当前bar的最低价L当前bar的最低价Low LOW下一个bar的收盘价(未来NextClose函数)下一个bar的最高价(未来NextHigh函数)下一个bar的最低价(未来NextLow函数)下一个bar的开盘价(未来NextOpen函数)下一个bar的持仓量(未来NextOpenInt函数)下一个bar的成交量(未来NextVol函数)当前bar的开盘价O当前bar的开盘价Open OPEN当前bar的持仓量OpenInt OPI当前bar的时间T当前bar的时间Time当前bar的成交量V当前bar的成交量Vol VOL属性函数当前商品的时间周期数值BarInterval当前商品的时间周期类型BarType当前商品数据的买卖盘个BidAskSize数当前商品的一个整数点价BigPointValue值是否支持市价委托CanMarketOrder是否支持做空CanShortTrade是否支持Stop委托CanStopOrder是否可以交易CanTrade当前商品合约大小ContractSize每张合约包含基本单位ContractUnit当前商品交易的货币名称CurrencyName当前商品交易的货币符号CurrencySymbol当前商品的交易所名称ExchangeName当前商品的初始保证金InitialMargin当前商品的维持保证金MaintenanceMargin当前商品的默认保证金MarginRatio当前商品单笔交易限量MaxSingleTradeSize当前商品最小变动量MinMove当前商品的计数单位PriceScale当前商品的点差Spread当前商品的代码Symbol当前商品的名称SymbolName当前商品的类型SymbolType行情函数(交易开拓者行情函数只对最后一个bar有效)最新卖盘价格Q_AskPrice最新卖盘量Q_AskVol实时均价Q_AvgPrice AVPRICE 卖盘价格变化标志Q_AskPriceFlag最新买盘价格Q_BidPrice买盘价格变化标志Q_BidPriceFlag最新买盘量Q_BidVol当日收盘价Q_Close CLOSE当日最高价Q_High HIGH 历史最高价Q_HisHigh历史最低价Q_HisLow内盘Q_InsideVol最新价Q_Last最新价变化标志Q_LastFlag最新成交时间Q_LastTime商品的现手Q_LastVol当日最低价Q_Low LOW当日跌停板价Q_LowerLimit当日开盘价Q_Open OPEN 当日持仓量Q_OpenInt OPI持仓量变化标志Q_OpenIntFlag当前商品的振幅Q_Oscillation当前商品的外盘Q_OutsideVol当前商品的昨日持仓量Q_PreOpenInt当前商品的昨日结算价Q_PreSettlePrice SETTLE 当日涨跌Q_PriceChg当日涨跌幅Q_PriceChgRatio当前商品的最新笔升跌Q_TickChg当日开仓量Q_TodayEntryVol当日平仓量Q_TodayExitVol当日成交量Q_TodayVol VOL成交金额Q_TurnOver当日涨停板价Q_UpperLimit行情数据是否有效QuoteDataExist账户函数(交易开拓者账户函数只对最后一个bar有效)交易账户ID A_AccountID对应交易商ID A_BrokerID当前账户下当前商品买入A_BuyAvgPrice持仓均价当前账户的买入冻结A_BuyFreeze当前账户的买入保证金A_BuyMargin当前账户的买入持仓A_BuyPosition当前账户的买入持仓盈亏A_BuyProfitLoss当前账户的动态权益A_CurrentEquity撤单指令A_DeleteOrder当前账户的可用资金A_FreeMargin返回当前商品最后一个未A_GetLastOpenOrderIndex成交单的索引返回当前商品的最后一个A_GetLastOrderIndex当日委托单索引返回当前商品的未成交委A_GetOpenOrderCount托单数量返回当前商品的当日委托A_GetOrderCount单数量返回当前商品的未成交委A_OpenOrderBuyOrSell 托单买卖类型返回当前账户当前商品的A_OpenOrderContractNo 某个委托单合同号当前账户当前商品某个未A_OpenOrderEntryOrExit 成交委托单的开平仓状态当前账户当前商品的某个A_OpenOrderFilledPrice 未成交委托单的成交价格当前账户当前商品的某个A_OpenOrderLot未成交委托单的委托数量当前账户当前商品的某个A_OpenOrderPrice未成交委托单的委托价格当前账户当前商品的某个A_OpenOrderStatus未成交委托单状态当前账户当前商品的某个A_OpenOrderTime未成交委托单的委托时间当前账户当前商品的某个A_OrderBuyOrSell交委托单的买卖类型当前账户当前商品的某个A_OrderContractNo交委托单的合同号当前账户当前商品的某个A_OrderCanceledLot交委托单的撤单数量返回当前公式应用的帐户A_OrderEntryOrExit下当前商品的某个委托单的开平仓状态。
注:此教程适用于赢智Wh8和乐期Wh4。
目录第一章公式系统介绍 (1)第二章模型编写语法与规则 (4)2.1 数据引用 (4)2.2 模型编写语法 (8)2.3 模型基本结构 (14)第三章一般模型编写示例 (18)3.1 条件描述 (18)3.2 K线形态描述 (20)3.3 技术指标范例 (24)3.4 价量走势编写范例 (29)3.5 盘中动态编写范例 (31)3.6 趋势类模型编写范例 (32)3.7 振荡类模型编写范例 (36)3.8 公式条件单范例 (37)3.9 常见模型公式编写问题 (40)第四章复杂模型编写示例 (42)4.1 跨指标模型 (42)4.2 跨周期模型 (44)4.3 分组指令 (47)4.4 日内模型 (48)4.5 TICK模型 (51)4.6 止损模型 (54)第五章模型的回测 (56)5.1模型回测 (56)5.2 参数优化 (60)5.3 日志检索 (66)第六章如何优化你的策略 (67)6.1 PANZHENG函数, 减少盘整行情中的交易次数 (67)6.2 TRADE_OTHER函数,在指数交易中的应用 (73)6.3 CHECKSIG函数,实现更具有优势进场价格 (73)6.4 MULTSIG函数,在一根k线上灵活进出 (73)第七章后台程序化 (73)7.1 后台程序化工作机理 (74)7.2 页面盒子 (74)7.3 运行模组 (77)7.4 盘口模型运行池 (77)第八章多账号下单 (77)第九章套利交易 (81)第十章软件的一些基本操作 (91)附录1:麦语言趋势模型函数列表 (100)附录2:交易测评报告术语详解 (222)附录3:图表分析各图表项说明 (225)第一章公式系统介绍软件的公式系统是一套功能强大、使用方便的计算机描述系统。
可供引用的函数近500个。
可以说其它软件能做的,该软件都能做到,而且能做得更好,更贴近实盘。
用户可以通过期货交易所和证券交易所发送的实时行情数据和软件保存的历史数据按照简单、复杂的运算法则进行分析、筛选、系统测试和自动交易,在软件中提供了用于公式编写的编辑器:交易系统公式编辑器交易系统旨在建议一套完整的交易规则体系,通过该编辑器对各个相关的交易环节,包括买入的切入、卖出、止损以及整体的交易性能检验等等做出定量的规定,帮助投资者建立一套属于自己的买卖规则和理论。
在15分钟图内,突破开盘后15分钟高低点的交易系统HH:=VALUEWHEN(TIME=0900,HIGH);//每天第一根15分钟K线的高点LL:=VALUEWHEN(TIME=0900,LOW); //每天第一根15分钟K线的低点CROSS(CLOSE,HH),BK; //只要价格上穿15分钟的高点,买进开仓;CROSS(LL,CLOSE),SK; //只要价格下穿15分钟的低点,卖出开仓;CROSS(CLOSE,HH)||CROSS(TIME,1444),BP; //只要价格上穿15分钟的高点,买入平仓;或时间在14:44之后平仓CROSS(LL,CLOSE)||CROSS(TIME,1444),SP; //只要价格下穿15分钟的低点,卖出平仓;或时间在14:44之后平仓在3分钟图内,突破开盘后15分钟的高低点的交易系统首先先建立一个指标就是HL.fml,然后用引用的方法#IMPORT[,MIN15,HL] AS VARHLHH1:=VARHL.HH;LL1:=VARHL.LL;CROSS(CLOSE,HH1),BK;CROSS(LL1,CLOSE),SK;CROSS(CLOSE,HH1)||CROSS(TIME,1456),BP;CROSS(LL1,CLOSE)||CROSS(TIME,1456),SP;一天只交易一次的编写方法NN:=BARSLAST(DATE<>REF(DATE,1))+1;买入开仓条件&&REF(EXIST(BB,NN),1)<1,BK;BS,SP;卖出开仓条件&&REF(EXIST(BB,NN)<1,1),SK;SS,BP;开盘交易,收盘退出DATE<>REF(DATE,1),BK;TIME>=1455,SP;周间日模型(固定金额止损)NN:=BARSLAST(DATE<>REF(DATE,1))+1;#IMPORT[,MIN15,HL] AS VARHLHH1:=VARHL.HH;LL1:=VARHL.LL;COB:=(WEEKDAY=1);CS:=(WEEKDAY=2||WEEKDAY=4);COB&&REF(EXIST(COB,NN),1)<1&&DATE<>REF(DATE,1),BK;CS&&REF(EXIST(CS,NN),1)<1&&DATE<>REF(DATE,1),SK;CROSS(TIME,1456)||CROSS(CLOSE,VALUEWHEN(TIME=0900,OPEN)+22),BP; CROSS(VALUEWHEN(TIME=0900,OPEN)-22,CLOSE)||CROSS(TIME,1456),SP;低点判断的程序编写方法RIBAO1:=(REF(LOW,1)>REF(LOW,2)&&REF(HIGH,1)<REF(HIGH,2))||(LOW>REF(LO W,1)&&HIGH<REF(HIGH,1));前一个K线低点高于前两个K线低点,同时前一个K线高点低于前两个K线高点(前一根K线被前第二个K线所包含)WAIBAO1:=(REF(LOW,1)<REF(LOW,2)&&REF(HIGH,1)>REF(HIGH,2))||(LOW<REF(L OW,1)&&HIGH>REF(HIGH,1)); 前第二根K线被前第一个K线所包含;LL:VALUEWHEN(NOT(WAIBAO1)&&NOT(RIBAO1)&&LOW>REF(LOW,1)&&REF(LOW,2)>RE F(LOW,1),REF(LOW,1));既非内孕线,也非外孕线,同时已经出现低点拐点,作为最近低点高点判断的程序编写方法RIBAO2:=(REF(LOW,1)>REF(LOW,2)&&REF(HIGH,1)<REF(HIGH,2))||(LOW>REF(LO W,1)&&HIGH<REF(HIGH,1));前一根K线被前第二个K线所包含)WAIBAO2:=(REF(LOW,1)<REF(LOW,2)&&REF(HIGH,1)>REF(HIGH,2))||(LOW<REF(L OW,1)&&HIGH>REF(HIGH,1)); 前第二根K线被前第一个K线所包含;HH:VALUEWHEN(NOT(WAIBAO2)&&NOT(RIBAO2)&&H<REF(H,1)&&REF(H,2)<REF(H,1) ,REF(H,1));既非内孕线,也非外孕线,同时已经出现高点拐点,作为最近高点利润回撤的处理1)系统发出平仓信号是需要平仓条件,没有条件系统无法发信号,2)获利回吐可以使用止赢止损编写,例如:当最高价与开仓收盘价盈利达到20—50点,回撤70%平仓。
二、基本语法1. 算法组件构成:全局变量定义、主函数定义、自定义函数定义。
注:a.全局变量定义要在主函数和自定义函数之外,主函数和自定义函数定义不分先后顺序。
b.运行原理:先读取全局变量,后直接运行主函数,在主函数运行过程中如果遇到自定义函数,在跳出主函数运行自定义函数。
2、变量定义与赋值:利用VAR函数对变量进行定义,定义好的变量可以对其进行赋值,让变量有具体的意义。
VAR N1; -----------------------//定义变量N1VAR N2; -----------------------//定义变量N2VAR N3; -----------------------//定义变量N3N1=3000; -----------------------//整型赋值N2=88.888; -----------------------//浮点型赋值N3=“股指期货”; -----------------------//字符串型赋值N4[0] = 1; -----------------------//数组型赋值N4[1] = 2; -----------------------//数组型赋值N4[2] = 3; -----------------------//数组型赋值3、主函数定义:VOID/VAR MAIN() -----------------------//定义主函数{主函数内容}例:VAR N; -----------------------//定义变量NVOID MAIN() -----------------------//定义主函数{N=“文华财经”; -----------------------//对N赋值MessageOut(N); -----------------------//输出N}4、自定义函数定义A、带返回值的函数VAR BDEAL() -----------------------//带返回值的函数{RETURN(10); -----------------------//返回值}例:带返回值函数定义VAR BDEAL(A,B) -----------------------//带返回值的函数{VAR M; -----------------------//定义变量MM=A+B;RETURN(M); -----------------------//返回值}……S=BDEAL(15,20) ; -----------------------//使用函数……B、不带返回值的函数VOID BDEAL() -----------------------//不带返回值函数{…}例:不带返回值函数定义VOID BDEAL() -----------------------//不带返回值的函数{T_Deal(“IF1312”,0,0,1,0);}……IF(…) -----------------------//当条件成立{BDEAL() -----------------------//运行函数}C、有返回值有参数的自定义函数定义例:VAR ADDTEST(VAR a,VAR b){VAR x;VAR y;x=a+b;y=a-b;MessageOut(x);MessageOut(y);RETURN(x*y);}5、循环语句while的用法:6、循环语句FOR的用法三、常用函数判断函数:IF,ELSE IFIF (F_Sig()==BK) -----------------------//如果当前是BK信号{BKDeal(); -----------------------//运行开多仓函数}ELSE IF (F_Sig()==SK) -----------------------//如果当前是SK信号{SKDeal(); -----------------------//运行开空仓函数}信号函数:F_FreshSig():取一个新信号(如果模型已经发出了多个信号,取最近发出的信号,信号消失也是一种新信号)返回1表示取到新信号,返回0表示失败即已经没有新信号可取。