以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- 求助 (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=100043) |
-- 作者:步步高6668 -- 发布时间:2016/7/4 10:58:08 -- 求助 这个模型只有买开仓及平仓语句,请根据这个策略反过来写个卖开仓及平仓的完整策略,谢谢 A:=500; 手数:=1; pc:=0; N:=BARPOS; VARIABLE:o_r[]=0;VARIABLE:s_g[]=0;VARIABLE:o_m[]=0;VARIABLE:p[]=0; if N=1 then begin SETUBOUND(o_r,0);SETUBOUND(s_g,0);SETUBOUND(o_m,0);SETUBOUND(p,0);
end n3:=UBOUND(o_r); IF N3>0 THEN BEGIN
for i=1 to n3 do begin
if p[i]=1 and close>s_g[i] then begin SELL(1,手数,MARKET);pc:=1;p[i]:=0;CONTINUE; end//止盈
if p[i]=2 and close>s_g[i] then begin SELL(1,手数,MARKET);pc:=1;p[i]:=0;CONTINUE; end//止盈
if p[i]=1 and close<o_m[i] then begin BUY(1,手数,MARKET); p[i]:=2; o_r:=o_m[i];s_g:=o_r+a/8;o_m:=o_r-a/4;p:=1; end//加仓 if p[i]=1 and TIME>185500 then begin SELL(1,手数,MARKET);pc:=1;p[i]:=5; end//收盘平仓 if p[i]=2 and TIME>185500 then begin SELL(1,手数,MARKET);pc:=1;p[i]:=5; end//收盘平仓
end end n1:=BARSLAST(pc=1)+1;IF valid(n1)=0 OR n1>n then n2:=N; else n2:=n1 ; zg:=HHV(c,N2); IF N3>0 THEN BEGIN
for i=1 to n3 do begin
if p[i]=0 and close<zg-a/4 and time<185000 then begin BUY(1,手数,MARKET);for j=i to n3 do p[j]:=4; o_r:=zg-a/4;s_g:=o_r+a/8;o_m:=o_r-a/4;p:=1; end
end end IF N3=0 THEN BEGIN if c<zg-a/4 and time<185000 then begin BUY(1,手数,MARKET);o_r:=zg-a/4;s_g:=o_r+a/8;o_m:=o_r-a/4;p:=1; end end |
-- 作者:jinzhe -- 发布时间:2016/7/4 11:07:21 -- 这段代码用在哪个合约哪个周期上有信号的? |
-- 作者:步步高6668 -- 发布时间:2016/7/4 11:13:55 -- 橡胶,1分钟,并且在窗格属性上指定时间是7月2日,谢谢 |
-- 作者:jinzhe -- 发布时间:2016/7/4 11:18:32 -- A:=500;
|
-- 作者:步步高6668 -- 发布时间:2016/7/4 11:53:30 -- 你好,应该是我没有把意思表达清楚,你上面写的是原来的多单平仓时即卖开仓,我不是这个意思 |
-- 作者:步步高6668 -- 发布时间:2016/7/4 12:06:35 -- 我上面代码的意思大致是这样的:从开盘开始市场形成的最高价下跌a/4,开1手多头,如果市场反弹a/8,平仓;如果市场没有反弹a/8就下跌,在原来开仓的位置再下跌a/4加仓1手,平仓以每次开仓位置反弹a/8平仓,以开仓位置下跌a/4加仓,如此循环。如果手里在平仓之后还有持仓,下一次开仓的位置是从最后一次平仓的价格下跌a/4的位置。如果手中的仓位全部平掉属于一个循环,下一个循环以最后一笔平仓K线的下一根开始寻找新的最高价,循环之前的交易流程。按照金字塔的时间,每天18:50后(交易所14:50)不再开新仓,每天18:55(也就是交易所14:55)全部强制平仓。 |
-- 作者:步步高6668 -- 发布时间:2016/7/4 12:09:22 -- 我需要你帮我写的意思大致是这样:从开盘开始市场形成的最低价上升a/4,开1手空头,如果市场下跌a/8,平仓;如果市场没有下跌a/8就反弹,在原来开仓的位置再反弹a/4加仓1手,平仓以每次开仓位置下跌a/8平仓,以开仓位置反弹a/4加仓,如此循环。如果手里在平仓之后还有持仓,下一次开仓的位置是从最后一次平仓的价格反弹a/4的位置。如果手中的仓位全部平掉属于一个循环,下一个循环以最后一笔平仓K线的下一根开始寻找新的最低价,循环之前的交易流程。按照金字塔的时间,每天18:50后(交易所14:50)不再开新仓,每天18:55(也就是交易所14:55)全部强制平仓。 |
-- 作者:步步高6668 -- 发布时间:2016/7/4 12:12:50 -- 请单独写个上面意思的卖开及平仓的完整代码,谢谢啦! |
-- 作者:jinzhe -- 发布时间:2016/7/4 13:27:16 -- 抱歉理解不了上面代码的意思,请找原作者修改成用户想要的 |