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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 请教如何实现以下想法呀?文字多但逻辑很简单

   

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


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

主题:请教如何实现以下想法呀?文字多但逻辑很简单

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


加好友 发短信
等级:论坛游侠 帖子:124 积分:0 威望:0 精华:0 注册:2020/12/11 16:17:55
请教如何实现以下想法呀?文字多但逻辑很简单  发帖心情 Post By:2021/1/4 12:00:18    Post IP:117.176.71.42[显示全部帖子]

       1.如果今天是12月15日之后的第一个交易日(比如从12月16日开始找,如果12月16日是非交易日就再往后找12月17日,如果还是非交易日就再找12月18日,以此类推,直到找到第一个交易日为止)。
       2.如果上面条件满足,则取得12月16日以前,离12月16日最相邻的一个交易日的收盘价为基准(比如12月15日离12月16日最相邻,那就取得12月15日的收盘价。如果12月15日为节假日等非交易日,则再往前取12月14日收盘价,如果还是非交易日则再往前找12月13日,以此类推一直找下去,直到找到最相邻的一个交易日的收盘价为止)
       3.以这个最相邻的收盘价为基准,如果今天的收盘价>它 就做多,如果今天的收盘价<它 就做空。
          如果今天的收盘价=它 就什么都不做并等下一交易日(第2个交易日),如果下一交易日收盘价>它 就做多,如果<它就做空,如果还是=它 就再等下一交易日(第3个交易日),以此类推一直找下去,直到不=它为止,然后照样判断>就做多,<就做空。
       4.如果今天是12月15日之后的第2个交易日(包含)到6月16日之前跟6月16日最相邻的交易日(包含)之间的日子,则当天收盘价金叉条件2中的基准收盘价就平掉全部仓位并做多,如果死叉条件2中的基准收盘价就平掉全部仓位并做空。
       5.如果今天是6月15日之后的第一个交易日,则以当天收盘价无论盈亏都平仓。

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


加好友 发短信
等级:论坛游侠 帖子:124 积分:0 威望:0 精华:0 注册:2020/12/11 16:17:55
回复:(FireScript) 1.你这里1和2 其实不需要额...  发帖心情 Post By:2021/1/4 16:46:27    Post IP:117.176.71.42[显示全部帖子]

对你第二个问题的回答:日线
你第3点说不好弄,意思我的这个想法无法实现程序化罗?那我用自然日坐标就可以避开寻找交易日的麻烦了吗?我就直接指定自然日

那我用自然日坐标改为下面这个,程序应该怎么写呢?
1.如果今天是2005年12月16日,则以2005年12月15日的收盘价为基准,今日收盘>它 就做多,<它 就做空,=它 就什么都不做。
2.如果今天的日期>2005年12月16日 且<2006年6月16日,则当天收盘价金叉2005年12月15日的基准收盘价就做多,死叉它就做空,=它就什么都不做。
3.如果今天的日期是2006年6月16日,则以收盘价平掉所有仓位。

上面3点都用日线级别。

这个就大大简化了,那么这个该怎么写程序呢?

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


加好友 发短信
等级:论坛游侠 帖子:124 积分:0 威望:0 精华:0 注册:2020/12/11 16:17:55
回复:(FireScript)你这个思路 大致就是 以某个日期...  发帖心情 Post By:2021/1/4 17:29:48    Post IP:117.176.71.42[显示全部帖子]

哦 我上面写错了一点点 重新写过:
1.如果今天是2005年12月16日,则以2005年12月15日的收盘价为基准,今日收盘>它 就做多,<它 就做空,=它 就什么都不做。
2.如果今天的日期>2005年12月16日 且<2006年6月16日,则当天收盘价金叉2005年12月15日的基准收盘价就平仓并做多,死叉它就平仓并做空,=它就什么都不做。
3.如果今天的日期是2006年6月16日,则以收盘价平掉所有仓位,并不再开仓。

这回都有平仓了,这个程序该怎么写啊?


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


加好友 发短信
等级:论坛游侠 帖子:124 积分:0 威望:0 精华:0 注册:2020/12/11 16:17:55
回复:(FireScript) INPUT:year1(2016,1990,21...  发帖心情 Post By:2021/1/5 11:05:14    Post IP:223.85.41.66[显示全部帖子]

多谢。请问你是按照我第一次发的文字(以交易日为准绳),还是按照我第三次发的修改后文字(以自然日为准绳)写的程序啊?

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


加好友 发短信
等级:论坛游侠 帖子:124 积分:0 威望:0 精华:0 注册:2020/12/11 16:17:55
回复:(FireScript) 交易日操作的。5楼的那个。...  发帖心情 Post By:2021/1/5 11:24:15    Post IP:223.85.41.66[显示全部帖子]

好的。昨天你2楼说:没有办法判断下一个日期 是否是交易日。
今天你写的程序里解决这个问题了否?能判断了吗?

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


加好友 发短信
等级:论坛游侠 帖子:124 积分:0 威望:0 精华:0 注册:2020/12/11 16:17:55
回复:(FireScript) 不能。代码里是后知后觉 发...  发帖心情 Post By:2021/1/5 12:20:25    Post IP:223.85.41.66[显示全部帖子]

你的意思是比如16号是周日 非交易日,17号是周一 交易日。
结果程序在16号发出开仓或平仓信号,它就自动默认把这个开仓或平仓信号挪到17日去发出?
如果是这样,那么是17日开盘就发出(以开盘价买入),还是17日收盘时发出呢(以收盘价买入)?

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


加好友 发短信
等级:论坛游侠 帖子:124 积分:0 威望:0 精华:0 注册:2020/12/11 16:17:55
回复:(FireScript) “结果程序在16号发出开仓...  发帖心情 Post By:2021/1/5 14:04:59    Post IP:223.85.41.66[显示全部帖子]

额 我问乱了。我重新问一下,一个一个问。基础教程等下我会去看的。
问题1:你写的这个程序 如果发出开仓或平仓信号的那天 刚好是16号周日非交易日,那么软件会不会自动把开仓或平仓信号挪到17号周一交易日去发出?
也就说本来16号开仓100手,就变成了17号开仓100手。

问题2:基础教程在哪里看?
[此贴子已经被作者于2021/1/5 14:06:56编辑过]

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


加好友 发短信
等级:论坛游侠 帖子:124 积分:0 威望:0 精华:0 注册:2020/12/11 16:17:55
回复:(FireScript) 1.不会的。非交易日在坐标...  发帖心情 Post By:2021/1/5 15:04:30    Post IP:223.85.41.66[显示全部帖子]

那么按照你程序的写法,这个17号时的开仓平仓是以开盘价开平,还是以收盘价开平呢?

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


加好友 发短信
等级:论坛游侠 帖子:124 积分:0 威望:0 精华:0 注册:2020/12/11 16:17:55
回复:(FireScript) 回测里是收盘价。  发帖心情 Post By:2021/1/5 15:36:41    Post IP:223.85.41.66[显示全部帖子]

好,回到你14楼的第1点。
1.我回测时选择自然日坐标,那节假日不就有K线了吗?我看到它是用圆点表示的呀。当天就有数据了吧。
2.如果我的开平仓信号,程序就写死了在日期=16号的时候才开平,那它又怎么会弄成17号的时候开平呢?尽管16号是非交易日,可我的程序是写的16啊,17这个数字在我的程序里出都没出现过。它执行应该是100%按我的程序写的走啊。

 回到顶部