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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 同一做多信号,多头止损后不再开多单

   

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


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

主题:同一做多信号,多头止损后不再开多单

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


加好友 发短信
等级:超级版主 帖子:18691 积分:0 威望:0 精华:0 注册:2013/7/15 9:22:16
同一做多信号,多头止损后不再开多单  发帖心情 Post By:2020/6/18 8:44:33    Post IP:58.246.57.26[只看该作者]

请教:同一做多信号,多头止损后不再开多单。同一做空信号,空头止损后不再开空单。怎么表达

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


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

 1.你这个应该描述成多久不再开多,比如10个周期,20个周期或者限定当日日内过滤此信号。否则逻辑上是不完整的。
 2.是否是多个开仓条件?

[此贴子已经被作者于2020/6/18 9:06:46编辑过]


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


加好友 发短信
等级:新手上路 帖子:4 积分:0 威望:0 精华:0 注册:2020/6/17 12:45:04
  发帖心情 Post By:2020/6/18 9:19:45    Post IP:39.162.233.127[只看该作者]

哦,20个周期或者限定当日日内过滤此信号,怎么表达?谢谢

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


加好友 发短信
等级:新手上路 帖子:4 积分:0 威望:0 精华:0 注册:2020/6/17 12:45:04
过滤信号  发帖心情 Post By:2020/6/18 9:21:56    Post IP:39.162.233.127[只看该作者]

20个周期或者限定当日日内过滤此信号。怎么表达?谢谢

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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2020/6/18 10:00:24    Post IP:58.246.57.26[只看该作者]

 没有直接的函数可以做到这个需求,只能用全局变量去标记然后限制。
请参考这个例子:
kdj,macd金叉2个开多条件,12个点位止损条件。死叉 是正常平仓条件。

input:n(9,1,100,10),p1(3,2,40,4),p2(3,2,40,4);//参数设置
VARIABLE:mark1:=0,mark2:=0;//定义2个不同的全局变量
//KDJ
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,NODRAW;
//MACD
input:p(26,20,100,8),s(12,5,40,4),m(9,2,60,6);
DIFF :=EMA(CLOSE,S) - EMA(CLOSE,P);
DEA  :=EMA(DIFF,M);
MACD1 :=2*(DIFF-DEA), COLORSTICK;



macdjc:cross(diff,dea),NODRAW;//macd金叉
macdsc:cross(dea,diff),NODRAW;
kdjjc:cross(k,d),NODRAW;//kdj金叉
kdjsc:cross(d,k),NODRAW;


if macdjc and holding=0 and mark1=0 then
begin
kd1:buy(1,1,market);
mark1:=1;     //开仓时候全局变量设为1
end

if kdjjc and holding=0 and mark2=0 then
begin
kd2:buy(1,1,market);
mark2:=1;        //开仓时候全局变量设为1
end

if holding>0 and macdsc  then
begin
sell(1,holding,market);//KDJ,MACD死叉平仓
mark2:=0;    //正常平仓重置为0   
end

if holding>0 and  kdjsc then
begin
sell(1,holding,market);//KDJ,MACD死叉平仓   
mark2:=0;    //正常平仓重置为0
end



zscd:(ENTERPRICE-c)>=12*MINDIFF;//12个点位止损


if zscd and holding>0 then
begin
止损平仓:sell(holding>0,holding,market);
if mark1=1 then mark1:=-1;//止损触发的平仓,将全局变量重置为-1,以限制下次开仓
if mark2=1 then mark2:=-1;
end

if all(mark1=-1,20) then mark1:=0;//超过20周期后 全局变量复原为0
if all(mark2=-1,20) then mark2:=0;




命数如织,当如磐石。
 回到顶部