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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件金字塔软件问题提交 → [求助]请教定期增加下单量的写法

   

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


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

主题:[求助]请教定期增加下单量的写法

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


加好友 发短信
等级:论坛游侠 帖子:276 积分:0 威望:0 精华:0 注册:2018/1/12 10:58:52
[求助]请教定期增加下单量的写法  发帖心情 Post By:2018/1/18 10:37:19 [只看该作者]

//该模型为简单示范模型,用户需根据自己交易经验,修改完善后再实际应用!!!
//作者 Z7C9

RUNMODE:0;
//中间变量
INPUT:AVGLENGTH(40),ATRLENGTH(40),SS(1,1,10000,1);//定义参数值
MA1:=REF(MA((HIGH+LOW+CLOSE)/3,AVGLENGTH),1);//定义MA1
手数:=ss;
//交易条件
UPPERBAND:=MA1+REF(MA(TR,ATRLENGTH),1);//上轨
LOWERBAND:=MA1-REF(MA(TR,ATRLENGTH),1);//下轨
ENTRYLONGCOND:=MA1>REF(MA1,1) AND HIGH>=UPPERBAND;//开多条件
EXITLONGCOND:=LOW<=MA1;//平多条件
ENTRYSHORTCOND:=MA1<REF(MA1,1) AND LOW<=LOWERBAND;//开空条件
EXITSHORTCOND:=HIGH>=MA1;//平空条件
//交易系统

IF HOLDING=0 THEN BEGIN //若持仓为0
 IF ENTRYLONGCOND THEN //且满足开多条件
  BUY(1,手数,LIMITR,MAX(OPEN,UPPERBAND));//开多单
END

IF HOLDING=0 THEN BEGIN//若持仓为0
 IF ENTRYSHORTCOND THEN//且满足开空条件
  BUYSHORT(1,手数,LIMITR,MIN(OPEN,LOWERBAND));//开空单
END

IF HOLDING>0 THEN BEGIN//若持有多单
 IF EXITLONGCOND THEN//且满足平多条件
  SELL(1,HOLDING,LIMITR,MIN(OPEN,MA1));//平多单
END

IF HOLDING<0 THEN BEGIN//若持有空单
 IF EXITSHORTCOND THEN//且满足平空条件
  SELLSHORT(1,HOLDING,LIMITR,MAX(OPEN,MA1));//平空单
END

//其他
当前持仓:HOLDING,COLORGRAY,LINETHICK0;
当前资产:ASSET,NOAXIS,COLORGRAY;

 

以系统自带策略为例,默认下单的手数为1,如果我想每过2个月时间间隔,策略自动把下单量增加某个数量。也就是每过2个月后,新的默认下单手数变成之前的默认下单手数+N。请教该怎么写?


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


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

你这个每过2个月,是要按照严格的天数跨度来吗?



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


加好友 发短信
等级:论坛游侠 帖子:276 积分:0 威望:0 精华:0 注册:2018/1/12 10:58:52
  发帖心情 Post By:2018/1/18 12:28:09 [只看该作者]

以下是引用FireScript在2018/1/18 11:12:51的发言:

你这个每过2个月,是要按照严格的天数跨度来吗?

基本上是的。可以粗略设定为60天间隔。


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


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

那按照如下方式处理:

比如说策略在图表上第一个K是落在2017一月,那么在图表的历史信号上, 2017一月下单是按照每次1手,到了2017四月的信号就按照2手来下单,后面一直按照60天增加。  这样符合你的需求吧?

 

 

 

 



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


加好友 发短信
等级:论坛游侠 帖子:276 积分:0 威望:0 精华:0 注册:2018/1/12 10:58:52
  发帖心情 Post By:2018/1/18 14:12:09 [只看该作者]

是的。
以下是引用FireScript在2018/1/18 14:01:46的发言:

那按照如下方式处理:

比如说策略在图表上第一个K是落在2017一月,那么在图表的历史信号上, 2017一月下单是按照每次1手,到了2017四月的信号就按照2手来下单,后面一直按照60天增加。  这样符合你的需求吧?

 

 

 

 


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


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

FirstDate:ref(date,BARPOS-1);//第一个K对应的日期
diff:DATEDIFF(FIRSTDATE, date);//当前日期和初始位置的间隔(日)
ss:INTPART(diff/60)+1;//下单手数


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


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

试下上面的代码。


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


加好友 发短信
等级:论坛游侠 帖子:276 积分:0 威望:0 精华:0 注册:2018/1/12 10:58:52
  发帖心情 Post By:2018/1/18 17:42:45 [只看该作者]

 
以下是引用FireScript在2018/1/18 14:33:32的发言:
试下上面的代码。

您的代码完美解决,非常感谢。


 回到顶部