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


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

   

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


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

主题:关于仓位管理问题

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


加好友 发短信
等级:论坛游侠 帖子:112 积分:0 威望:0 精华:0 注册:2014/9/25 9:59:36
关于仓位管理问题  发帖心情 Post By:2019/12/20 11:51:31    Post IP:180.175.74.173[只看该作者]

请问如何写 
第一次开仓后,符合平仓条件不平仓,等到第二次开仓后,符合第二次平仓条件再把第一次和第二次开仓的都平仓

 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | 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[只看该作者]

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


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


加好友 发短信
等级:论坛游侠 帖子:112 积分:0 威望:0 精华:0 注册:2014/9/25 9:59:36
  发帖心情 Post By:2019/12/20 14:21:16    Post IP:180.175.74.173[只看该作者]

不知道怎么描述,,
我每次开仓总仓位5%,如何描述
第一次开仓后,符合平仓条件不平仓,等到第二次开仓后,符合第二次平仓条件再把第一次和第二次开仓的都平仓

 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | 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
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | 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,都标识出来了。


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


加好友 发短信
等级:论坛游侠 帖子:112 积分:0 威望:0 精华:0 注册:2014/9/25 9:59:36
  发帖心情 Post By:2019/12/20 15:19:03    Post IP:180.175.74.173[只看该作者]

全局变量只要把我的代码全部声明一下可以吗?有跨周期引用数据不要紧把

 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | 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


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


加好友 发短信
等级:论坛游侠 帖子:112 积分:0 威望:0 精华:0 注册:2014/9/25 9:59:36
  发帖心情 Post By:2019/12/20 16:05:42    Post IP:180.175.74.173[只看该作者]

if sd then sell(holding>0,0,market); //卖信号
sd2:日中<REF(日中,1);
if sd2 then sell(holding>0,0,market); //卖信号
LL10:ref(llv(l,10),ENTERBARS+1);
sd1:C<LL10;//卖出条件2
//交易系统
if kd   then
begin
mark:=mark+1;
buy(holding=0,5%,market),PERTRADER;   
end
if sd1 and holding>0 and mark=2 then
begin
sell(holding>0 and sd1,holding,market);
mark:=0;
end
DRAWICON(sd1,l,2);

这样写后,出现一个问题是,第一次开仓后,出现第一次平仓条件sd1确实没有平仓,但后面再出现第二个开仓信号没有开仓5%仓位,只有第一次的5%持仓

 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | 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


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


加好友 发短信
等级:论坛游侠 帖子:112 积分:0 威望:0 精华:0 注册:2014/9/25 9:59:36
  发帖心情 Post By:2019/12/20 16:22:35    Post IP:180.175.74.173[只看该作者]

该怎么改

 回到顶部
总数 38 1 2 3 4 下一页