本帖最后由 错错熊 于 2012-7-6 18:55 编辑
Buy函数用法说明说明:针对当前公式进行买入开仓操作。 语法:Bool Buy(Numeric volume,Numeric Price,String symbol="")。 参数:Volume 建仓数量
Price 价格,0表示市价单
Symbol 指定合约代码,默认为当前合约 说明:产生一个买入建仓操作,返回值为布尔型,执行成功返回True,否则返回False。
如果当前公式存在卖持仓,且用户设置了"先平反向仓再开仓"选项,公式会同时发出一个平卖仓和一个开买仓的指令。但不保证这两个指令会同时成交,两个指令成交的先后顺序也不能被保证。 Sell函数用法说明说明:针对当前公式进行卖仓平仓操作 语法:Bool Sell(Numeric volume,Numeric Price,String symbol="")。 参数:Volume 建仓数量
Price 价格,0表示市价单
Symbol 指定合约代码,默认为当前合约 说明:如果公式没有持买仓,该函数不执行任何操作。
如果volume等于0,该函数将平掉所有买仓,否则只平掉volume的买仓。 SellShort函数用法说明说明:针对当前公式进行卖出开仓操作 语法:Bool SellShort(Numeric volume,Numeric Price,Stringsymbol="") 参数:Volume 建仓数量
Price 价格,0表示市价单
Symbol 指定合约代码,默认为当前合约 说明:产生一个卖出建仓操作,返回值为布尔型,执行成功返回True,否则返回False。
如果当前公式存在买持仓,且用户设置了"先平反向仓再开仓"选项,公式会同时发出一个平买仓和一个开卖仓的指令。但不保证这两个指令会同时成交,两个指令成交的先后顺序也不能被保证。 BuyToCover函数用法说明说明:针对当前公式进行买入平仓操作 语法:Bool BuyToCover(Numeric volume,Numeric Price,Stringsymbol="") 参数:Volume 建仓数量
Price 价格,0表示市价单
Symbol 指定合约代码,默认为当前合约 说明:如果公式没有持空仓,该函数不执行任何操作。
如果如果volume等于0,该函数将平掉所有卖仓,否则只平掉volume的卖仓。 简单示例l 编写简单交易指令用到以上交易函数,显示交易函数用法。 //-------------------------------------------------------------- //交易思路:当最新价大于布林带中轨线,中轨线向上趋势明显,且最高价上穿上轨线,则开空仓。当最新价小于布林带中轨线,中轨线向下趋势明显,且最低价下穿下轨线则开多仓。 //盈利大于10个点止盈,亏损大于5个点止损。每日到达指定时间后平仓离场 //-------------------------------------------------------------- Params Numeric Length(26); Numeric Offset(2); Numeric LeaveTime(0.145000); Vars Numeric UpLine; //上轨 Numeric DownLine; //下轨 NumericSeries MidLine; //中间线 Numeric Band; Begin MidLine = AverageFC(Close,Length); Band = StandardDev(Close,Length,2); UpLine = MidLine + Offset * Band; DownLine = MidLine - Offset * Band; PlotNumeric("UpLine",UpLine); PlotNumeric("DownLine",DownLine); PlotNumeric("MidLine",MidLine); If(A_TotalPosition == 0 &&CurrentTime <= LeaveTime) { If(Close > MidLine && MidLine > MidLine[5] && High> UpLine) { SellShort(1,Q_BidPrice); //开空仓 } If(Close < MidLine&& MidLine < MidLine[5] && Low < DownLine) { Buy(1,Q_AskPrice); //开多仓 } } Else { If(Close - A_BuyAvgPrice >10 && A_BuyPosition > 0) { Sell(0,Q_BidPrice); //平多仓 } If(A_SellAvgPrice- Close < -5 && A_SellPosition > 0) { BuyToCover(0,Q_AskPrice);//平空仓 } //临近离场时间平仓 if(CurrentTime >= LeaveTime) { if(A_BuyPosition > 0) { Sell(0,Q_BidPrice); //平多仓 } if(A_SellPosition > 0) { BuyToCover(0,Q_AskPrice);//平空仓 } } } End
|