金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 2985|回复: 9

平仓

[复制链接]

507

主题

2975

帖子

2985

积分

Rank: 2

等级: 标准版

注册:
2023-2-16
曾用名:
发表于 2023-5-18 17:09 | 显示全部楼层 |阅读模式
比如1分钟行情 59分出现信号,我要在下一个K提前20秒判断出当根K的情况进行平仓,逐K能不能在收盘前执行平仓 能不能被平掉不考虑,只考虑动作。 比如前20秒判断当根K的实体小于前一个K的3倍


补充内容 (2023-5-18 17:09):
如果不行 老师把收盘前20秒的代码写出来 我用限价的方式试试
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-5-18 17:11 | 显示全部楼层
有现成范例的:
https://www.weistock.com/bbs/for ... =2909&pid=40261

截图202305181711354479.png

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

使用道具 举报

507

主题

2975

帖子

2985

积分

Rank: 2

等级: 标准版

注册:
2023-2-16
曾用名:
 楼主| 发表于 2023-5-18 17:15 | 显示全部楼层
技术009 发表于 2023-5-18 17:11
有现成范例的:
https://www.weistock.com/bbs/forum.php?mod=redirect&goto=findpost&ptid=2909&pid=4026 ...

这个是整数分钟的意思吗?
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-5-18 17:17 | 显示全部楼层
你看第二段代码范例。那个是完整的。你参考那段代码的逻辑,他是可以提前N秒的。不是说一定要分钟数。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

507

主题

2975

帖子

2985

积分

Rank: 2

等级: 标准版

注册:
2023-2-16
曾用名:
 楼主| 发表于 2023-5-18 17:18 | 显示全部楼层
技术009 发表于 2023-5-18 17:11
有现成范例的:
https://www.weistock.com/bbs/forum.php?mod=redirect&goto=findpost&ptid=2909&pid=4026 ...


范例是market 执行 就是当前K收盘平仓 我要的是收盘前秒数平仓
M1: T0TOTIME(TIMETOT0(CLOSETIME(0))-20);这是剩余20秒的意思吧  
应该用限价可以做到这种平仓 但是我要知道剩余20秒的写法
回复

使用道具 举报

507

主题

2975

帖子

2985

积分

Rank: 2

等级: 标准版

注册:
2023-2-16
曾用名:
 楼主| 发表于 2023-5-18 17:22 | 显示全部楼层
技术009 发表于 2023-5-18 17:11
有现成范例的:
https://www.weistock.com/bbs/forum.php?mod=redirect&goto=findpost&ptid=2909&pid=4026 ...

INPUT:N(3,1,200,1);//N是提前的分钟数
MARK:=0;//用于记录当前是否满足某个收盘K结束前N分钟的变量

FOR I=0 TO 3 DO  //循环遍历每个收盘时间来进行判断。这里可以调整I起始位置 来控制需要处理的收盘节点。
BEGIN
abb:=timetot0(CLOSETIME(I))-time0,NODRAW;//当前K线时间距离收盘K线结束倒计时,在一个K上对应一个固定值
abb3:=timetot0(CLOSETIME(I))-timetot0(dynainfo(207)),NODRAW;//当前时间(当前的北京时间)距离收盘K时间 ,   在最新K上会一直变动。因为这个返回的是具体秒数
IF         (abb<N*60 and abb>=0 and (not(ISLASTBAR))) or (ISLASTBAR and  abb3>=0 and abb3<N*60) THEN MARK:=1;
END


if MARK  then //兼顾实际交易时候的信号和历史回测信号
begin
sell(holding>0,holding,market);
sellshort(holding<0,holding,market);        
DRAWICON(1,h,1);
end


这种 能不能 (abb<N*60 and abb>=0 and (not(ISLASTBAR))) or (ISLASTBAR and  abb3>=0 and abb3<N*60)  把这个变成收盘前20秒的写法  平仓这些不考虑 我自己去考虑
时间帮我写到各个收盘节点提前20秒就好
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-5-18 17:24 | 显示全部楼层
本帖最后由 技术009 于 2023-5-18 17:26 编辑

1.提前多少秒 这个效果 在回测上完全无法体现的。实际下单时候才奏效
2. market 指令“就是当前K收盘平仓 ”效果 也仅仅是处理回测而已。回测就相当于走完K下单。

你不要把他们混淆在一起。

你这样你弄个简单下单语句 测试这个代码实际效果。比我在这里想办法给你解释要直接得多。
另外这个代码范例 直接是可以用得。如果用户要自定义修改之类得,建议先理解代码思路,以及代码实际运行效果后再做处理。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

507

主题

2975

帖子

2985

积分

Rank: 2

等级: 标准版

注册:
2023-2-16
曾用名:
 楼主| 发表于 2023-5-18 17:33 | 显示全部楼层
技术009 发表于 2023-5-18 17:24
1.提前多少秒 这个效果 在回测上完全无法体现的。实际下单时候才奏效
2. market 指令“就是当前K收盘平仓  ...

INPUT:N(3,1,200,1);//N是提前的分钟数
那我要提前20秒  这个N要怎么改呢?
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-5-19 08:51 | 显示全部楼层
(abb<N*60 and abb>=0 and (not(ISLASTBAR))) or (ISLASTBAR and  abb3>=0 and abb3<N*60)

我觉得你没有在理解代码思路基础上在使用他。这个转换为分钟 也是通过乘60 来转换得。你只要去掉这个60 那N就直接等效于秒数了。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

507

主题

2975

帖子

2985

积分

Rank: 2

等级: 标准版

注册:
2023-2-16
曾用名:
 楼主| 发表于 2023-5-19 08:57 | 显示全部楼层
技术009 发表于 2023-5-19 08:51
(abb=0 and (not(ISLASTBAR))) or (ISLASTBAR and  abb3>=0 and abb3

那我看明白了·····另外你这个ISLASTBAR 我能用剩余周期数替换吧   ISLASTBAR有风险提示 我这个剩余周期数=0就是最后一个周期  其他收盘时间都能对应个具体点数去
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-12 19:42 , Processed in 0.106143 second(s), 24 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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