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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 不开仓,可平仓

   

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


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

主题:不开仓,可平仓

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


加好友 发短信
等级:论坛游侠 帖子:360 积分:0 威望:0 精华:0 注册:2017/7/2 20:47:59
不开仓,可平仓  发帖心情 Post By:2018/3/8 15:12:07    Post IP:110.188.69.45[只看该作者]

为什么我的代码,平仓和开多单都正常,但是却没有按照要求开空单?可能是什么原因呢?谢谢版主

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


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

描述下具体的现象,然后帖下你的代码  说明下你开空条件初始的思路是什么样子的。 这种可能是你的代码并没有实现你需求。具体我还要看下你的描述和代码。


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


加好友 发短信
等级:论坛游侠 帖子:360 积分:0 威望:0 精华:0 注册:2017/7/2 20:47:59
  发帖心情 Post By:2018/3/8 17:47:57    Post IP:110.188.69.45[只看该作者]

开多: =CROSS(MA1,MA2);
平多:=CROSS(MA2,MA1);
开空: =CROSS(MA2,MA1);
平空:=CROSS(MA1,MA2);
滤多:=sumbars(开空,1)>70 ;
滤空:=sumbars(平空,1)>90 ;

//交易系统

if 开多 and 滤多  then begin
SELLSHORT(HOLDING<0,100%,market),PERTRADER; //交易系统之平空操作
end

if 开多 and 滤多 then begin//交易系统之开多操作
BUY(HOLDING=0,100%,market),PERTRADER;
end 


if 开空 and 滤空 then begin
SELL(HOLDING>0,100%,market),PERTRADER; //交易系统之平多操作
end

if 开空 and 滤空  then begin
BUYSHORT(HOLDING=0,100%,market),PERTRADER; //交易系统之开空操作
end



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


加好友 发短信
等级:论坛游侠 帖子:360 积分:0 威望:0 精华:0 注册:2017/7/2 20:47:59
  发帖心情 Post By:2018/3/8 17:49:52    Post IP:110.188.69.45[只看该作者]

代码贴上来了,麻烦帮我看一下,谢谢~!
平多和开空的条件是一样的,但是系统平掉了多单,却没有开空单(实盘账户资金是够开2手的)

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


加好友 发短信
等级:管理员 帖子:26631 积分:0 威望:0 精华:7 注册:2015/4/9 14:59:07
  发帖心情 Post By:2018/3/8 18:27:22    Post IP:180.170.163.23[只看该作者]

你的缕空条件不成立吧。
你把你的代码中的条件输出看下就知道了,还有编写中不要夹带中文字符。可能会造成问题。
ma1:ma(close,5);
ma2:ma(close,10);
开多:=CROSS(MA1,MA2);
平多:=CROSS(MA2,MA1);
开空:CROSS(MA2,MA1);
平空:=CROSS(MA1,MA2);
滤多:sumbars(开空,1)>70 ;
滤空:sumbars(平空,1)>90 ;
//交易系统
if 开多 and 滤多  then begin
SELLSHORT(HOLDING<0,100%,market),PERTRADER; //交易系统之平空操作
end
if 开多 and 滤多 then begin//交易系统之开多操作
BUY(HOLDING=0,100%,market),PERTRADER;
end

if 开空 and 滤空 then begin
SELL(HOLDING>0,100%,market),PERTRADER; //交易系统之平多操作
end
if 开空 and 滤空  then begin
BUYSHORT(HOLDING=0,100%,market),PERTRADER; //交易系统之开空操作
end
aaa:holding;


编程无捷径,技巧靠积累。
 回到顶部
帅哥哟,离线,有人找我吗?
大豆0911
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:360 积分:0 威望:0 精华:0 注册:2017/7/2 20:47:59
  发帖心情 Post By:2018/3/8 23:52:28    Post IP:125.70.178.10[只看该作者]

 
仔细核对了一下,确实是红色部分条件出了问题,中文字符我以后注意,非常感谢版主!
以下是引用wenarm在2018/3/8 18:27:22的发言:
你的缕空条件不成立吧。
你把你的代码中的条件输出看下就知道了,还有编写中不要夹带中文字符。可能会造成问题。
ma1:ma(close,5);
ma2:ma(close,10);
开多:=CROSS(MA1,MA2);
平多:=CROSS(MA2,MA1);
开空:CROSS(MA2,MA1);
平空:=CROSS(MA1,MA2);
滤多:sumbars(开空,1)>70 ;
滤空:sumbars(平空,1)>90 ;
//交易系统
if 开多 and 滤多  then begin
SELLSHORT(HOLDING<0,100%,market),PERTRADER; //交易系统之平空操作
end
if 开多 and 滤多 then begin//交易系统之开多操作
BUY(HOLDING=0,100%,market),PERTRADER;
end

if 开空 and 滤空 then begin
SELL(HOLDING>0,100%,market),PERTRADER; //交易系统之平多操作
end
if 开空 and 滤空  then begin
BUYSHORT(HOLDING=0,100%,market),PERTRADER; //交易系统之开空操作
end
aaa:holding;


 回到顶部