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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 关于仓位管理问题

   

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


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

主题:关于仓位管理问题

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


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

 如果是固定手的开仓。其实直接加一个对仓位的判断就行了。


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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2019/12/20 15:00:37    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:mark:=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);//多头买入条件
macdsc:cross(dea,diff);//多头卖出条件
kdjjc:cross(k,d);//kdj金叉 空头卖出条件
kdjsc:cross(d,k);//空头买入条件

if macdjc   then
begin
mark:=mark+1;
buy(1,1,market);     
end

if macdsc and holding>0 and mark=2 then
begin
sell(holding>0 and macdsc,holding,market);
mark:=0;
end

DRAWICON(macdsc,l,2);



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


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

笑脸位置就是符合平仓条件的K,都标识出来了。


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


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

就只需要申明一个全局变量就行了。不是把全部代码都申明一遍。
上面的简化下就这样,你自己替换成你的开仓,平仓条件进去就行了。
 VARIABLE:mark:=0;

if 开仓条件 then
begin
mark:=mark+1;
buy(1,1,market);     
end

if 平仓条件  and holding>0 and mark=2 then
begin
sell(holding>0,holding,market);
mark:=0;
end


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


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

 //交易系统
if kd   then
begin
mark:=mark+1;
buy(holding=0,5%,market),PERTRADER;   
end


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


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

 你需要确认下那个平仓到底谁触发的。sd1已经限制住了,但是你还要其他几个地方有平仓。

建议改进下代码,方便观察多个离场触发的位置:

if sd2 then sd2离场:sell(holding>0,0,market); //卖信号

另一个也是这样处理下。

[此贴子已经被作者于2019/12/24 13:37:27编辑过]


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


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

 你那个代码 我本地是看不到信号的。你给出一个能完整编译的版本吧。 我直接加载到本地看。

[此贴子已经被作者于2019/12/24 13:59:35编辑过]


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


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

 你是不是没有定义全局变量啊?
 VARIABLE:mark:=0;

这个部分有吗?


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


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

 那你给我完整代码吧。不行你站内短信我。否则这样沟通太慢了。


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


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

从这里改了些代码。百分比开仓那个我暂时去掉了,以方便测试。

kd:TJ0 AND TJ2;//买入条件

SD:C<日中;//卖出条件1
if sd then
begin
sd离场:sell(holding>0,holding,market); //卖信号
mark:=0;//如果sd触发了离场,也重置全局变量
end
LL10:ref(llv(l,10),ENTERBARS+1);
sd1:C<LL10;//卖出条件2
//交易系统
if kd  and mark<2 then  //增加了限制,加仓不超过2次
begin
mark:=mark+1;
buy(1,1,market);   
end

if sd1 and holding>0 and mark=2 then
begin
sd1离场:sell(holding>0 and sd1,holding,market);
mark:=0;
end
DRAWICON(sd1,l,2);
//资产:asset,noaxis ,LINETHICK3 COLORRED;


现在效果就是这样:

图片点击可在新窗口打开查看此主题相关图片如下:temp.png
图片点击可在新窗口打开查看

2次加仓/开仓 然后离场。


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