以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://222.73.7.161/bbs/index.asp) -- 公式模型编写问题提交 (http://222.73.7.161/bbs/list.asp?boardid=4) ---- 有人修改成金字塔吗 (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=2503) |
-- 作者:期指新手 -- 发布时间:2010/8/17 18:24:10 -- 有人修改成金字塔吗 Numeric ceilingAmt(60); Numeric floorAmt(20); Numeric bolBandTrig(2.00); Vars Numeric lookBackDays(20); Numeric todayVolatility(0); Numeric yesterDayVolatility(0); Numeric deltaVolatility(0); NumericSeries buyPoint(0); NumericSeries sellPoint(0); NumericSeries longLiqPoint(0); NumericSeries shortLiqPoint(0); Numeric upBand(0); Numeric dnBand(0); Numeric MidLine(0); Numeric Band(0); Begin todayVolatility = StandardDev(Close,30,1); yesterDayVolatility = StandardDev(Close[1],30,1); deltaVolatility = (todayVolatility - yesterDayVolatility)/todayVolatility; lookBackDays = lookBackDays * (1 + deltaVolatility); lookBackDays = Round(lookBackDays,0); lookBackDays = Min(lookBackDays,ceilingAmt); lookBackDays = Max(lookBackDays,floorAmt); MidLine = AverageFC(Close,lookBackDays); Band = StandardDev(Close,lookBackDays,bolBandTrig); upBand = MidLine + bolBandTrig * Band; dnBand = MidLine - bolBandTrig * Band; buyPoint = Highest(High[1],lookBackDays); sellPoint = Lowest(Low[1],lookBackDays); longLiqPoint = Average(Close[1],lookBackDays); shortLiqPoint = Average(Close[1],lookBackDays); if(Close > upBand) { If(CrossOver(high,buyPoint)) { Buy(1,max( buyPoint, Low )); } Commentary("多头触发价:"+Text(buyPoint)); } if(Close < dnBand) { If(CrossUnder(Low,sellPoint )) { SellShort(1,min( sellPoint , High )); } Commentary("空头触发价:"+Text(sellPoint)); } if(MarketPosition == 1) { If(CrossUnder(Low,longLiqPoint )) { Sell(1,min( longLiqPoint , High )); } Commentary("多头退出:"+Text(longLiqPoint)); } if(MarketPosition == -1) { If(CrossOver(high,shortLiqPoint)) { BuyToCover(1,max( shortLiqPoint, Low )); } Commentary("多头退出:"+Text(shortLiqPoint)); } End |