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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → [求助]后台倒金字塔加仓怎么写?

   

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


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

主题:[求助]后台倒金字塔加仓怎么写?

美女呀,离线,留言给我吧!
D
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:黑侠 帖子:635 积分:1329 威望:0 精华:0 注册:2010/9/10 23:31:32
[求助]后台倒金字塔加仓怎么写?  发帖心情 Post By:2019/8/16 0:35:48    Post IP:223.74.85.204[只看该作者]

 1 2 4 8 16
按照这个顺序 后台倒金字塔加仓怎么写?

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


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

 可以把加仓手数单独定义成一个全局变量:

GLOBALVARIABLE:ss:=1;

if 加仓条件 then
begin
tbuy(1,ss,mkt);
ss:=if(ss<=8,ss*2,ss); //加仓手数递增,最多不超过16
end


命数如织,当如磐石。
 回到顶部
美女呀,离线,留言给我吧!
D
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:黑侠 帖子:635 积分:1329 威望:0 精华:0 注册:2010/9/10 23:31:32
  发帖心情 Post By:2019/8/16 10:34:01    Post IP:123.65.232.162[只看该作者]

没有逐步加上去,是一下子开到17手的,这个怎么回事?

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


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


if 加仓条件 then
begin
tbuy(1,ss,mkt);
ss:=if(ss<=8,ss*2,ss); //加仓手数递增,最多不超过16
end

这个加仓条件必须严格,也就是说这个条件触发了,下单必须是一定会触发的。如果你这里tbuy里面还有单独写一个开仓条件,那可能就会导致ss直接就增加到了最大值。不过你这里增加到了17是怎么回事,是有其他改变手数的操作了吧。

最好可以提供下你加仓部分的代码给我看下。


命数如织,当如磐石。
 回到顶部
美女呀,离线,留言给我吧!
D
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:黑侠 帖子:635 积分:1329 威望:0 精华:0 注册:2010/9/10 23:31:32
  发帖心情 Post By:2019/8/16 10:52:06    Post IP:123.65.232.162[只看该作者]

很简单的开仓条件,就上根k线的阴阳:
openlong:=REF(C>O,1); 
openshort:=REF(C<O,1);
 //后台下单
if openlong then
begin
tbuy(1,ss,mkt);
ss:=if(ss<=8,ss*2,ss); //加仓手数递增,最多不超过16
end
if openshort then
begin
tbuy(1,ss,mkt);
ss:=if(ss<=8,ss*2,ss); //加仓手数递增,最多不超过16
end

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


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

那这样吧。


GLOBALVARIABLE:ss:=1;
openlong:=REF(C>O,1);
openshort:=REF(C<O,1);
 //后台下单
if openlong then
begin
tbuy(1,ss,mkt);
ss:=if(tENTERVOL<=8,tENTERVOL*2,16); //加仓手数递增,最多不超过16
end
if openshort then
begin
tbuy(1,ss,mkt);
ss:=if(tENTERVOL<=8,tENTERVOL*2,16); //加仓手数递增,最多不超过16
end


命数如织,当如磐石。
 回到顶部
美女呀,离线,留言给我吧!
D
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:黑侠 帖子:635 积分:1329 威望:0 精华:0 注册:2010/9/10 23:31:32
  发帖心情 Post By:2019/8/16 13:53:22    Post IP:123.65.232.162[只看该作者]

问题如下:
1,从2手开始不正确
2,最高加仓到46手,不是16手

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


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

1.
图片点击可在新窗口打开查看此主题相关图片如下:temp.png
图片点击可在新窗口打开查看
我修改后的是从1手开始的。你可以再确认下。就是6楼的那个代码。

2.ss:=if(tENTERVOL<=23,tENTERVOL*2,16); //加仓手数递增,最多不超过16
这里改成23即可。


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