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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件金字塔软件问题提交 → 减仓如何写

   

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


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

主题:减仓如何写

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


加好友 发短信
等级:超级版主 帖子:4994 积分:0 威望:0 精华:0 注册:2016/9/1 10:46:51
  发帖心情 Post By:2017/8/25 10:14:26 [显示全部帖子]

if holding>0 and c-enterprice>20*mindiff then sell(1,1,MARKET);
if holding<0 and enterprice-c>20*mindiff then sellshort(1,1,MARKET);

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


加好友 发短信
等级:超级版主 帖子:4994 积分:0 威望:0 精华:0 注册:2016/9/1 10:46:51
  发帖心情 Post By:2017/8/25 15:44:55 [显示全部帖子]

if holding>0 and c-enterprice>20*mindiff then sell(1,1,MARKET);

if 平多 and holding>0 then sell(1,holding,market);

 

这个是平多的案例,加在最后面就可以。另外图表上是不支持双边持仓的,即有多仓的时候,是不能开空仓的。所以你前面的代码在开了多仓,后面及时满足死叉,也无法开空仓,需要在开空前平掉多仓。


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


加好友 发短信
等级:超级版主 帖子:4994 积分:0 威望:0 精华:0 注册:2016/9/1 10:46:51
  发帖心情 Post By:2017/8/25 16:49:33 [显示全部帖子]

可以的,只是图表单个窗口中的虚拟仓位不能双边持仓,账户中是可以的。

[此贴子已经被作者于2017/8/25 16:50:30编辑过]

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


加好友 发短信
等级:超级版主 帖子:4994 积分:0 威望:0 精华:0 注册:2016/9/1 10:46:51
  发帖心情 Post By:2017/9/7 16:36:32 [显示全部帖子]

盈利20点减一手,后面又满足了止盈条件啊,所以又减了一手,你是要控制止盈的次数?

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


加好友 发短信
等级:超级版主 帖子:4994 积分:0 威望:0 精华:0 注册:2016/9/1 10:46:51
  发帖心情 Post By:2017/9/7 16:41:47 [显示全部帖子]

是一天之内只止盈一次?

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


加好友 发短信
等级:超级版主 帖子:4994 积分:0 威望:0 精华:0 注册:2016/9/1 10:46:51
  发帖心情 Post By:2017/9/7 16:54:43 [显示全部帖子]

可以用全局变量来控制止盈次数。

参考如下案例

variable:n=0;

if holding>0 and c-enterprice>20*mindiff and n=0 then

   begin

   sell(1,1,MARKET);

   n:=n+1;

   end


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


加好友 发短信
等级:超级版主 帖子:4994 积分:0 威望:0 精华:0 注册:2016/9/1 10:46:51
  发帖心情 Post By:2017/9/7 17:13:23 [显示全部帖子]

这个只是案例啊,你要看什么时候重新把N置0,所以问你是不是一天只止盈一次,是不是要收盘的时候把n置为0。或者是触发其他情况下能再次止盈,你不置为0,那后面就不会止盈了啊。

[此贴子已经被作者于2017/9/7 17:15:50编辑过]

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


加好友 发短信
等级:超级版主 帖子:4994 积分:0 威望:0 精华:0 注册:2016/9/1 10:46:51
  发帖心情 Post By:2017/9/7 17:32:05 [显示全部帖子]

那就再平仓反手后把n置0,以下代码仅供参考。

 

 

RSV:=(CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*100;
K:=SMA(RSV,3,1);
D:=SMA(K,3,1);

 

variable:n=0;
手数:=3;
//交易条件

开多平空条件:=CROSS(K,D);//开多平空条件
开空平多条件:=CROSS(D,K);//开空平多条件

long:=CROSS(K,D);//开多平空条件
short:=CROSS(D,K);//开空平多条件

 

 if long then
  begin
  sellshort(holding<0,holding,MARKET);
 buy(long,手数,MARKET);

n:=0;
 end


if short then
 begin
 sell(holding>0,holding,MARKET);
 buyshort(short,手数,MARKET);
 n:=0;
 end


if holding>0 and c-enterprice>20*mindiff and n=0 then
   begin
   zyd:sell(1,1,MARKET);
   n:=n+1;
   end
  
if holding<0 and enterprice-c>20*mindiff and n=0 then
   begin
   zyk:sellshort(1,1,MARKET);
   n:=n+1;
   end

[此贴子已经被作者于2017/9/8 8:43:07编辑过]

 回到顶部