金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 2549|回复: 6

定轮询时做到,以收盘价平仓,下一根K线开盘,以开盘价限价开仓。

[复制链接]

45

主题

257

帖子

262

积分

等级: 免费版

注册:
2021-5-20
曾用名:
发表于 2021-7-29 15:19 | 显示全部楼层 |阅读模式
定轮询时做到:1、以收盘价平仓,下一根K线开盘,以开盘价限价开仓。
2、确保只开一手。

回复

使用道具 举报

19

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2021-7-29 15:29 | 显示全部楼层
需要确认下:
“以收盘价平仓,下一根K线开盘,以开盘价限价开仓。” 你是 要刚好在这个K结束时候 开仓,以这个K已经确定的收盘价开仓?然后次根K立即开盘价平仓?
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

45

主题

257

帖子

262

积分

等级: 免费版

注册:
2021-5-20
曾用名:
 楼主| 发表于 2021-7-29 15:38 | 显示全部楼层
技术009 发表于 2021-7-29 15:29
需要确认下:
“以收盘价平仓,下一根K线开盘,以开盘价限价开仓。” 你是 要刚好在这个K结束时候 开仓, ...

我需要的是,固定轮询时:
1、在当根K线结束时收盘价平空仓,下根k线开盘价限价开多仓。
2、开平多仓均以收盘价。
3、确保只开一手。
谢谢您了



补充内容 (2021-7-29 15:48):
纠正:1、在当根K线结束时收盘价平空仓,下根k线开盘价限价开空仓。
回复

使用道具 举报

19

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2021-7-29 15:52 | 显示全部楼层
本帖最后由 技术009 于 2021-7-29 16:09 编辑

1.“在当根K线结束时收盘价平空仓,”。这个没办法很精准控制的。最简单的一个例子就是,某个1分钟K,最后1秒时间  只有一个分笔了(通常是一到二分笔,不活跃的甚至没有分笔过来)。也就是说要获取最终的收盘价,必须等到这个K结束。否则的话,就上面的例子  我相当于要做一个预测:这个最后一秒后面 是不是还有个分笔,以及这个分笔的价格。

所以这个需求只能做到这样的程度:K线结束前最后一秒,按照当时的最新价平仓。并且固定轮训必须是1秒或者tick级别否则可能捕捉不到这个信号。

2.“下根k线开盘价限价开空仓。”
这个如果是和前面平仓是作为一组的话,那么条件是需要保持一个关系。这样在次根K就会满足开空条件。
buyshort(ref(平空条件,1),1,limit,o);

然后价格 就直接下单指令里限价 限位当前K开盘价就行了。同样和前面一样,如果要时机卡在这个K刚开始的时候,那么固定轮训间隔要很短再行。


手数和价格都是在下单函数里面进行控制的。你参照下单函数说明看下就行了。

用法:
BUY(COND,V,Type,P);表示当COND条件成立时,  //所有指令 四个参数函数都一样的。
买入V股(手)当前品种,TYPE表示买入类型,
P表示买入价格,所有参数均可以省略。
V:买入股(手)数或买入资金百分比(V%),若为0或者省略表示100%,若使用实际资金百分比买入请参考PERTRADER函数;
TYPE:可以是本周期收盘:THISCLOSE(本周期入场),市价:MARKET(次周期开盘价入场),
限价单:LIMITR(本周期入场),停损单:STOP(次周期入场)等交易方式控制符;
P:对于限价单、停损单需要指定的买入价格

例如:
BUY(C>O ,1000,THISCLOSE);表示收阳线则在本周期收盘价上买入1000股(手)。
BUY(C>0,50%,LIMITR,CLOSE-0.2);表示在指定限价CLOSE-0.2元位置下买入限价单,
若价格达到或低于该价格则用50%资金买入。

金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

45

主题

257

帖子

262

积分

等级: 免费版

注册:
2021-5-20
曾用名:
 楼主| 发表于 2021-7-29 16:09 | 显示全部楼层
技术009 发表于 2021-7-29 15:52
1.“在当根K线结束时收盘价平空仓,”。这个没办法很精准控制的。最简单的一个例子就是,某个1分钟K,最后1 ...

谢谢老师:
若固定轮训是1秒或者tick级别,且K线结束前最后一秒,能做到确保捕捉到信号且按照当时的最新价平仓吗?代码如何写呢?
回复

使用道具 举报

19

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2021-7-29 16:12 | 显示全部楼层
本帖最后由 技术009 于 2021-7-29 16:19 编辑

[PEL] 复制代码

t:timetot0(time)-timetot0(dynainfo(207)),nodraw;//当前时间结束倒计时
平空条件:cross(ma(c,5),ma(c,10));

if     (not(islastbar) or (islastbar and  t>=0 and t<=1))  and 平空条件 and holding<0 then 
begin
sellshort(1,1,limitr,c);    //收盘价平空
end 


if ref(平空条件,1) and holding=0 then buyshort(1,1,limitr,o);//开盘价开空



参考这个范例代码。平空条件换成你自己的应该就差不多了。

轮训tick级别的话级别可以捕捉到。1秒轮训也差不多。但是如果本地卡顿之类也可能导致漏单。你可以适当调整前面的秒数,比如2秒这样子。具体看你本地运行情况吧。   

金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

45

主题

257

帖子

262

积分

等级: 免费版

注册:
2021-5-20
曾用名:
 楼主| 发表于 2021-7-29 16:26 | 显示全部楼层
谢谢帮助。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 微信登录

本版积分规则

手机版|小黑屋|上海金之塔信息技术有限公司 ( 沪ICP备13035422号 )

GMT+8, 2024-11-16 15:03 , Processed in 0.289528 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表