欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 请高手改一个策略

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有5201人关注过本帖树形打印复制链接

主题:请高手改一个策略

帅哥哟,离线,有人找我吗?
闪灵
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:2 积分:2 威望:0 精华:0 注册:2011/9/1 16:53:54
请高手改一个策略  发帖心情 Post By:2011/9/1 16:57:15    Post IP:218.29.91.178[只看该作者]

改成金字塔的... Inputs: bollingerLengths(50),trendLiqLength(50),numStdDevs(2), swingPrcnt1(0.50),swingPrcnt2(0.75),atrLength(10), swingTrendSwitch(20); Vars:cmiVal(0),buyEasierDay(0),sellEasierDay(0),trendLokBuy(0), trendLokSell(0),keyOfDay(0),swingBuyPt(0),swingSellPt(0), trendBuyPt(0),trendSellPt(0),swingProtStop(0); cmiVal = ChoppyMarketIndex(30); buyEasierDay = 0; sellEasierDay = 0; trendLokBuy = Average(Low,3); trendLokSell= Average(High,3); keyOfDay = (High + Low + Close)/3; if(Close > keyOfDay) then sellEasierDay = 1; if(Close <= keyOfDay) then buyEasierDay = 1; if(buyEasierDay = 1) then begin swingBuyPt = Open of tomorrow + swingPrcnt1*AvgTrueRange(atrLength); swingSellPt = Open of tomorrow - swingPrcnt2*AvgTrueRange(atrLength); end; if(sellEasierDay = 1) then begin swingBuyPt = Open of tomorrow + swingPrcnt2*AvgTrueRange(atrLength); swingSellPt = Open of tomorrow - swingPrcnt1*AvgTrueRange(atrLength); end; swingBuyPt = MaxList(swingBuyPt,trendLokBuy); swingSellPt = MinList(swingSellPt,trendLokSell); trendBuyPt = BollingerBand(Close,bollingerLengths,numStdDevs); trendSellPt = BollingerBand(Close,bollingerLengths,- numStdDevs); if(cmiVal < swingTrendSwitch)then begin if (MarketPosition <> 1) then Buy("SwingBuy") next bar at swingBuyPt stop; if(MarketPosition <> -1) then SellShort("SwingSell") next bar at swingSellPt stop; end else begin swingProtStop = 3*AvgTrueRange(atrLength); Buy("TrendBuy") next bar at trendBuyPt stop; SellShort("TrendSell") next bar at trendSellPt stop; Sell from Entry("TrendBuy") next bar at Average(Close,trendLiqLength) stop; BuyToCover from Entry("TrendSell") next bar at Average(Close,trendLiqLength) stop; Sell from Entry("SwingBuy") next bar at EntryPrice - swingProtStop stop; BuyToCover from Entry("SwingSell") next bar at EntryPrice + swingProtStop stop; end;
[此贴子已经被作者于2011-9-1 17:00:03编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
闪灵
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:2 积分:2 威望:0 精华:0 注册:2011/9/1 16:53:54
  发帖心情 Post By:2011/9/1 17:00:20    Post IP:218.29.91.178[只看该作者]

晕啊怎么不能换行啊..

 回到顶部
帅哥哟,离线,有人找我吗?
26327756l
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:黑侠 帖子:676 积分:2548 威望:0 精华:3 注册:2011/4/13 16:18:50
  发帖心情 Post By:2011/9/1 17:17:40    Post IP:58.246.57.26[只看该作者]

我来帮你换行,请使用IE浏览器。

 

 

Inputs: bollingerLengths(50),trendLiqLength(50),numStdDevs(2), swingPrcnt1(0.50),swingPrcnt2(0.75),atrLength(10), swingTrendSwitch(20);
Vars:cmiVal(0),buyEasierDay(0),sellEasierDay(0),trendLokBuy(0), trendLokSell(0),keyOfDay(0),swingBuyPt(0),swingSellPt(0), trendBuyPt(0),trendSellPt(0),swingProtStop(0);
 cmiVal = ChoppyMarketIndex(30);
 buyEasierDay = 0;
 sellEasierDay = 0;
 trendLokBuy = Average(Low,3);
  trendLokSell= Average(High,3);
  keyOfDay = (High + Low + Close)/3;
   if(Close > keyOfDay) then sellEasierDay = 1;
  if(Close <= keyOfDay) then buyEasierDay = 1;
  if(buyEasierDay = 1) then
   begin
   swingBuyPt = Open of tomorrow + swingPrcnt1*AvgTrueRange(atrLength);
  swingSellPt = Open of tomorrow - swingPrcnt2*AvgTrueRange(atrLength);
  end;
   if(sellEasierDay = 1) then begin swingBuyPt = Open of tomorrow + swingPrcnt2*AvgTrueRange(atrLength);
    swingSellPt = Open of tomorrow - swingPrcnt1*AvgTrueRange(atrLength);
  end;
  swingBuyPt = MaxList(swingBuyPt,trendLokBuy); swingSellPt = MinList(swingSellPt,trendLokSell);
   trendBuyPt = BollingerBand(Close,bollingerLengths,numStdDevs);
   trendSellPt = BollingerBand(Close,bollingerLengths,- numStdDevs);
if(cmiVal < swingTrendSwitch)then begin if (MarketPosition <> 1) then Buy("SwingBuy") next bar at swingBuyPt stop;
 if(MarketPosition <> -1) then SellShort("SwingSell") next bar at swingSellPt stop;
 end else
 begin swingProtStop = 3*AvgTrueRange(atrLength);
  Buy("TrendBuy") next bar at trendBuyPt stop;
SellShort("TrendSell") next bar at trendSellPt stop;
Sell from Entry("TrendBuy") next bar at Average(Close,trendLiqLength) stop;
 BuyToCover from Entry("TrendSell") next bar at Average(Close,trendLiqLength) stop;
Sell from Entry("SwingBuy") next bar at EntryPrice - swingProtStop stop;
 BuyToCover from Entry("SwingSell") next bar at EntryPrice + swingProtStop stop;
 end;

[此贴子已经被作者于2011-9-1 17:18:16编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
fly
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:5082 积分:17642 威望:0 精华:6 注册:2010/7/15 9:05:58
  发帖心情 Post By:2011/9/2 9:08:55    Post IP:58.246.57.26[只看该作者]

看不懂.

还不如说出这段代码的思路,看能否实现呢



金字塔—专业程序化交易量化投资平台

客户服务部

-----------------------------------------------------------

欢迎您参加我公司的技术培训,具体培训需求请发邮件到

service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

 回到顶部