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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → [原创]请教开仓问题

   

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


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

主题:[原创]请教开仓问题

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


加好友 发短信
等级:论坛游侠 帖子:194 积分:0 威望:0 精华:0 注册:2020/2/11 13:06:09
[原创]请教开仓问题  发帖心情 Post By:2020/2/11 13:30:17    Post IP:144.123.5.122[只看该作者]

请看如下代码开不了仓,在图表上也没有箭头显示,但是回测历史正常。
测试出来问题出在开仓次数:=1上,如果没有这行代码就可以开仓.
请问是什么原因。

VARIABLE:开仓次数=0;
初始开仓手数:=1;
多单开仓条件:=1;

if holding=0 and 开仓次数=0 THEN 
begin
   开多: buy(多单开仓条件,初始开仓手数,THISCLOSE);
   止损位:=ENTERPRICE-止损跳点*MINDIFF;
   开仓次数:=1;
end

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


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

你图表上肯定是有的,但是因为在第一个K,所以你可能没注意到。


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


如果上面这段就是完整代码得话,那么
开仓次数:=1;

这个加不加效果都是一样的。因为代码逻辑决定你这个只会开一次仓。


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


加好友 发短信
等级:论坛游侠 帖子:194 积分:0 威望:0 精华:0 注册:2020/2/11 13:06:09
  发帖心情 Post By:2020/2/11 15:20:56    Post IP:144.123.5.122[只看该作者]

这个不是完整代码,我一条条的排到这的。我需要根据这个开仓次数做后续判断。

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


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

那就是了。
这个全局变量会限制这个地方只开仓一次。你需要在其他地方 比如平仓的时候 执行一个:

开仓次数:=0;


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


加好友 发短信
等级:论坛游侠 帖子:194 积分:0 威望:0 精华:0 注册:2020/2/11 13:06:09
  发帖心情 Post By:2020/2/11 15:48:57    Post IP:144.123.5.122[只看该作者]

平仓后赋0有写,我现在单独拿出这一小段代码是开不了仓的,把开仓次数注释掉就能开。

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


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

你给出完整代码吧。否则我也不知道你这里其他地方什么逻辑。全局变量是很常规的用法,并无特殊之处。


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


加好友 发短信
等级:论坛游侠 帖子:194 积分:0 威望:0 精华:0 注册:2020/2/11 13:06:09
  发帖心情 Post By:2020/2/11 16:14:20    Post IP:144.123.5.122[只看该作者]

VARIABLE:开仓次数=0;
VARIABLE: 回撤平仓跳点=10;
止损跳点:=20;
加仓间距:=10;
初始开仓手数:=1;
加仓倍数:=1;
加仓次数循环:=3;
空单开仓条件:=1;
//回撤跳点评测1:=(DYNAINFO(  3)*初始开仓手数+DYNAINFO(  3)*加仓间距*加仓倍数*初始开仓手数)/(加仓倍数*初始开仓手数+初始开仓手数);
//回撤跳点评测2:=DYNAINFO(  3)*加仓间距-回撤平仓跳点;
if holding=0 and 开仓次数=0 THEN
 begin
   开空: buyshort(1,初始开仓手数,MARKETR);
   止损:=ENTERPRICE+止损跳点*MINDIFF;
   开仓次数:=1;
   end
//回撤出:=ENTERPRICE+回撤平仓跳点*MINDIFF;
     
if holding<0 then
begin 
if c>=止损 then begin
        sellshort(holding<0,0,MARKETR);
        开仓次数:=0;
        end
     if 开仓次数>1  then 
     begin  
      if c>=ENTERPRICE+回撤平仓跳点*MINDIFF then begin
        sellshort(holding<0,0,MARKETR);   
    开仓次数:=0;
    end
end
//----------------------------------------------------------------------------    
if 0<开仓次数 and 开仓次数>=开仓次数%加仓次数循环 and 开仓次数%加仓次数循环<>0 then
   begin  
      if c<=ENTERPRICE-加仓间距*MINDIFF THEN
        begin
        开空2:buyshort(1,entervol*加仓倍数,MARKETR);
        开仓次数:=开仓次数+1;
    end     
        end
        
      if 0<开仓次数  and 开仓次数%加仓次数循环=0 then 
         begin  
      if c<=ENTERPRICE-加仓间距*MINDIFF THEN
        begin
        开空1:buyshort(1,初始开仓手数,MARKETR);
        开仓次数:=开仓次数+1;
    end     
        end  
end    

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


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

你这个看效果不是正常的么。见下图:


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


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


加好友 发短信
等级:论坛游侠 帖子:194 积分:0 威望:0 精华:0 注册:2020/2/11 13:06:09
  发帖心情 Post By:2020/2/11 16:30:21    Post IP:144.123.5.122[只看该作者]

看图是正常的,真正SHIFT+Z跑的时候不开仓

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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2020/2/11 17:01:50    Post IP:183.194.169.103[只看该作者]

有几个地方要明确下:

1.是完整代码 不开仓 还是只那单独的一部分程序化不开仓? 
2.单独那部分代码。无论是注释还是保留 赋值为1的那一句代码。效果都是一样,你这里说注释了就开仓  这个现象和代码效果不是一致的。我建议你再确认下。 

目前完整代码过了遍,应该不存在大问题。建议明天盘中再观察下再反馈下。


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