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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 如何跳过一次完整的买卖过程

   

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


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

主题:如何跳过一次完整的买卖过程

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


加好友 发短信
等级:论坛游侠 帖子:127 积分:117 威望:0 精华:0 注册:2012/4/17 13:31:15
如何跳过一次完整的买卖过程  发帖心情 Post By:2019/2/13 10:34:40    Post IP:219.147.69.22[只看该作者]

代码如下:

 if c>ma(c,30) then buy
 if c<ma(c,30) then sell

我想跳过一次完整的买卖过程,即上两条语句,以前有使用 COUNT(c>ma(c,30),BARSLAST(c<ma(c,30)))>=2,但这只能跳过开仓信号,下一个周期还有c>ma(c,30)的话还会执行开仓,如何跳过一次完整的买卖过程呢,请老师帮助


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


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

你是要连续2次 跳过 c>ma(c,30)的开仓和c<ma(c,30)的平仓。 没能完全明白你这个需求到底是怎样的情况。可否再详细说明下。


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


加好友 发短信
等级:论坛游侠 帖子:127 积分:117 威望:0 精华:0 注册:2012/4/17 13:31:15
  发帖心情 Post By:2019/2/13 10:55:33    Post IP:219.147.69.22[只看该作者]

是的,跳过 c>ma(c,30)的开仓和c<ma(c,30)的平仓,1次就行,谢谢老师

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


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

你的意思是上一次开平仓之后跳过中间一次 满足条件的开平仓吗。等到第三次满足c>ma(c,30)再开仓。






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


加好友 发短信
等级:论坛游侠 帖子:127 积分:117 威望:0 精华:0 注册:2012/4/17 13:31:15
  发帖心情 Post By:2019/2/13 11:26:00    Post IP:219.147.69.22[只看该作者]

是的,是这个意思,请老师帮助

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


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

 
buycond:c>ma(c,30) and holding=0;
sellcond:c<ma(c,30) and holding>0;

buy(buycond and mod(count(buycond,0),2)=1,1,market);
sell(sellcond and mod(count(buycond,0),2)=1,1,market);

这样试下吧。


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


加好友 发短信
等级:论坛游侠 帖子:127 积分:117 威望:0 精华:0 注册:2012/4/17 13:31:15
  发帖心情 Post By:2019/2/20 15:21:56    Post IP:219.147.69.22[只看该作者]

老师,我试了这个代码不行,我再跟您说一下我的想法:在一次交易完成(即平仓后)获得很大收益比如1万元,我不想进行在这后面的交易(开仓+平仓),我的代码如下,但实际执行的话没有任何交易发生,该如何实现呢?

n:=numprofit(1);

m:=ma(c,30);
buycond:=cross(c,m);
sellcond:=cross(m,c);

if buycond and mod(count(buycond,barslast(n>10000)),2)=1 then   buy(holding=0,1,limitr,close);


if sellcond and mod(count(sellcond,barslast(n>10000)),2)=1 then     sell(1,0,limitr,close);
 

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


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

 n:numprofit(1);

m:=ma(c,30);
buycond:cross(c,m);
sellcond:=cross(m,c);
mark:if(n>100,1,0);
len:BARSLAST(mark=0);
if buycond and (mod(count(buycond,len),2)=0 or n<=0) then   buy(holding=0,1,limitr,close);
if sellcond  then sell(1,0,limitr,close);

这样试下。

主要numprofit(1)一开始是0反倒限制了交易。


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