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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 止损后再加仓

   

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


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

主题:止损后再加仓

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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2017/12/18 10:16:55    Post IP:180.169.30.6[显示全部帖子]

能否把完整代码贴下,不方便你就发给客服。  上面代码没办法看出问题。


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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2017/12/18 10:56:58    Post IP:180.169.30.6[显示全部帖子]

这里你原本意思是加空方向的仓?

BUY(HOLDING<0,20%,LIMITR,LL20+MINDIFF),ignorecheckprice;   //开多单

如果是,那你要用buyshort.

 

金字塔图表不支持锁仓,有空仓情况下不能下多方向的单,反之同理。一般是先平再开。



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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2017/12/18 11:11:18    Post IP:180.169.30.6[显示全部帖子]

代码看了,别的地方没问题。就是5楼回复的那个地方错了。

 

//空单减仓后再加仓
IF EXCPT=1 AND KKTJ=1 AND HOLDING<0 AND TIMES<1 THEN BEGIN
  BUY(HOLDING<0,20%,LIMITR,LL20+MINDIFF),ignorecheckprice;   //开多单         这里错了。
  TIMES=1;
END
 
 
改成buyshort


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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2017/12/18 11:30:17    Post IP:180.169.30.6[显示全部帖子]

那个品种,那个周期,有没有复权,你所指的K线的时间是在什么位置。 我直接本地看下更方便。



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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2017/12/18 13:11:58    Post IP:180.169.30.6[显示全部帖子]

你判断哪个地方应该开空的依据是什么? 那个地方的条件是没有满足开空的条件的。除了KKTJ的条件之外,你代码里面还有holding来作为限制条件的。


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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2017/12/18 16:12:05    Post IP:180.169.30.6[显示全部帖子]

原先回复错了,重新回复下。 

这个地方的

//空单减仓后再加仓
IF EXCPT=1 AND KKTJ=1 AND HOLDING<0 AND TIMES<1 THEN BEGIN
  BUYSHORT(HOLDING<0,20%,LIMITR,LL20+MINDIFF),ignorecheckprice;   //开多单
  TIMES=1;
END

 

因为你前面只要开仓了 times肯定就大于1了,所以这段代码就不能执行了。这段代码修改成:

 

//空单减仓后再加仓
IF EXCPT=1 AND KKTJ=1 AND HOLDING<0 AND TIMES<4 THEN BEGIN
  BUYSHORT(HOLDING<0,20%,LIMITR,LL20+MINDIFF),ignorecheckprice;   //开多单
   TIMES:=TIMES+1;
END

 

还有有个地方 因为你开平仓语句比较多可以用这个方式来标记不同方式的开仓信号,这样就能很容易区分到底那个语句触发的了。

  开多单1:BUYSHORT(HOLDING<0,20%,LIMITR,LL20+MINDIFF),ignorecheckprice;   //开多单

 

 



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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2017/12/19 11:00:23    Post IP:180.169.30.6[显示全部帖子]

以下是引用waimm2020在2017/12/18 17:09:43的发言:
加载在镍1805上面信号不对。
图片点击可在新窗口打开查看此主题相关图片如下:22.png
图片点击可在新窗口打开查看

加仓也要满足KKTJ的值等于1 才行吧 。 你把关键的变量值输出在图表上看看。 

[此贴子已经被作者于2017/12/19 11:02:43编辑过]


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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2017/12/19 11:02:22    Post IP:180.169.30.6[显示全部帖子]

以下是引用waimm2020在2017/12/19 10:13:01的发言:
请教老师,怎么保证信号混合时只要满足条件都能显示出来。或者各自信号独立,不相互干扰?

在各个开仓条件相互独立情况下,多个开仓语句 同时满足 信号都会发出的。 如果某个开仓语句和其他开仓语句的条件有关联,那肯定是会有影响的。



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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2017/12/19 14:03:25    Post IP:180.169.30.6[显示全部帖子]

我仔细看了你21楼的图中问号位置以及代码 你其实是需要减仓不能和减仓后的加仓在同一个K上是吗?

 



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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2017/12/19 15:31:36    Post IP:180.169.30.6[显示全部帖子]

取部分代码 作为一个范例。

temp:=1;//设置一个临时变量作为一个锁。  使得减仓后的加仓和减仓不在一个K上同时触发

//空单减仓后再加仓
IF EXCPT=1 AND KKTJ=1 AND HOLDING<0 AND TIMES<4 and temp  THEN BEGIN
减仓后加仓:BUYSHORT(HOLDING<0,20%,LIMITR,LL20+MINDIFF),ignorecheckprice;   //开多单
  TIMES:=TIMES+1;
  temp:=0;
END

X: EXCPT;
//空单减仓条件
JCKD:=LL20+MINDIFF*M3;
KKZS:=IF(JCKD<C,1,0);

//空单减仓
IF HOLDING<0 AND KKZS=1 AND EXCPT<1 and temp THEN BEGIN//若持有多单
减仓:SELLSHORT(KKZS=1,INTPART(HOLDING/3),marketr);//平空单
  EXCPT:=1;
END

 

 

思路是这样的,设置了一个临时变量temp 加入到2个交易语句的条件里面,减仓和减仓后的加仓 任意一个触发,就把temp置为0 ,这样就能限制另一个的执行了。就普通变量就可以了,不要设置成全局变量了。

[此贴子已经被作者于2017/12/19 15:34:44编辑过]


命数如织,当如磐石。
 回到顶部
总数 11 1 2 下一页