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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 如何同方向连亏两次后,禁止同方向开仓

   

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


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

主题:如何同方向连亏两次后,禁止同方向开仓

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


加好友 发短信
等级:新手上路 帖子:40 积分:0 威望:0 精华:0 注册:2019/3/7 20:54:46
如何同方向连亏两次后,禁止同方向开仓  发帖心情 Post By:2019/3/22 14:37:57    Post IP:116.22.134.148[只看该作者]

诸位同行高人,我有一个想法不知如何实现,请诸位帮忙!

如何同方向连亏两次后,禁止同方向开仓。如果在禁止开仓仍然连续发出同方向信号,则在第二次信号出现时 允许开仓 。 谢谢!

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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2019/3/22 15:01:41    Post IP:180.169.30.6[只看该作者]

需要明确下:
1.亏损按照完整的平仓亏损计算。
2.连亏的定义。如果先开多 平仓后再次开空,等空头平了再开多,这种是否算按照连续开多处理还是说必须连续2次不间断的开多平多。



命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
STREAM
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:40 积分:0 威望:0 精华:0 注册:2019/3/7 20:54:46
  发帖心情 Post By:2019/3/22 15:05:25    Post IP:116.22.134.148[只看该作者]

是的
1.亏损按照完整的平仓亏损计算。
2.连亏的定义。必须连续2次不间断的开多平多。   谢谢!  

  刚刚  金字塔系统 竟然还崩溃了

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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2019/3/22 16:34:51    Post IP:180.169.30.6[只看该作者]

input:p(26,20,100,8),s(12,5,40,4),m(9,2,60,6),n(9,1,100,10),p1(3,2,40,4),p2(3,2,40,4);//参数设置
VARIABLE:ct1:=0,ct2:=0;
RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;
K:=SMA(RSV,P1,1);
D:=SMA(K,P2,1);
J:=3*K-2*D;

DIFF:=EMA(CLOSE,S) - EMA(CLOSE,P);
DEA :=EMA(DIFF,M);
MACD1:=2*(DIFF-DEA), COLORSTICK;


macdjc:cross(diff,dea);//macd金叉
macdsc:cross(dea,diff);

kdjjc:cross(k,d);//kdj金叉
kdjsc:cross(d,k);

if macdjc and holding=0 and not(ct1=2 and NUMPROFIT(1)<0 and NUMPROFIT(2)<0) then //macd金叉 且满足条件 not(连续开多且2次开多盈亏均为负) 开多
begin
buy(holding=0,1,MARKET);
ct1:=ct1+1;//ct1记录连续开多次数
ct2:=0;//开多时重置开空的计数
end

if macdsc and holding>0 then //macd死叉平多
begin
sell(holding>0,holding,MARKET);
end


if kdjsc and holding=0 and not(ct2=2 and NUMPROFIT(1)<0 and NUMPROFIT(2)<0)  then
begin
buyshort(holding=0,1,market);//kdj死叉开空
ct2:=ct2+1;//ct2记录开空的次数
ct1:=0;//开空时重置开多的计数
end

if kdjjc and holding<0 then
begin
sellshort(holding<0,holding,market);//kdj金叉平空
end

提供一个范例供参考,代码有点多,你先消化下思路。我尽量多做了写注释,有些地方不清晰的可以跟帖。


命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
STREAM
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:40 积分:0 威望:0 精华:0 注册:2019/3/7 20:54:46
  发帖心情 Post By:2019/3/23 14:27:14    Post IP:119.129.71.169[只看该作者]

谢谢FireScript! 我基本看懂了。顺着你的思路 ,我消化一下。图片点击可在新窗口打开查看

 回到顶部