金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 4356|回复: 7

时间问题

[复制链接]

93

主题

284

帖子

284

积分

等级: 免费版

注册:
2021-11-23
曾用名:
发表于 2022-5-21 09:48 | 显示全部楼层 |阅读模式
你好老师 有没有在收盘提前下单的函数,除了提前下单功能以外。因为有的信号23.00收盘才出来,早上开盘下单 滑点特别大,或者限价单成交不了。
回复

使用道具 举报

37

主题

9943

帖子

6万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
wenarm
发表于 2022-5-21 09:53 | 显示全部楼层
这个只能通过代码实现。,下面不能用于中金所,因为CLOSETIME(1)函数指的是夜盘时间,而中金所指的是中午收盘时间
M1: T0TOTIME(TIMETOT0(CLOSETIME(0))-60); //收盘前1分钟
M15:T0TOTIME(TIMETOT0(CLOSETIME(0))-60*15); //收盘前15分钟

if T0TOTIME(TIMETOT0(CLOSETIME(0))-60)<=DYNAINFO(207) or (time=CLOSETIME(1) and not(ISLASTBAR)) then begin
    sell(1,holding,MARKET);
    sellshort(1,holding,MARKET);
end
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

93

主题

284

帖子

284

积分

等级: 免费版

注册:
2021-11-23
曾用名:
 楼主| 发表于 2022-5-22 23:29 | 显示全部楼层
技术006 发表于 2022-5-21 09:53
这个只能通过代码实现。,下面不能用于中金所,因为CLOSETIME(1)函数指的是夜盘时间,而中金所指的是中午收 ...

if (T0TOTIME(TIMETOT0(CLOSETIME(0))-60)<=DYNAINFO(207) AND  (time=CLOSETIME(1) and not(ISLASTBAR)) )AND (开多条件 or 开空条件) then begin
    sell(1,holding,MARKET);
    sellshort(1,holding,MARKET);
end
老师 是不是这样就可以在原有代码不变的情况 下,这样就可以在收盘前开仓了
回复

使用道具 举报

93

主题

284

帖子

284

积分

等级: 免费版

注册:
2021-11-23
曾用名:
 楼主| 发表于 2022-5-23 00:11 | 显示全部楼层
技术006 发表于 2022-5-21 09:53
这个只能通过代码实现。,下面不能用于中金所,因为CLOSETIME(1)函数指的是夜盘时间,而中金所指的是中午收 ...

if (T0TOTIME(TIMETOT0(CLOSETIME(3))-60)<=DYNAINFO(207) AND (time=CLOSETIME(3) and not(ISLASTBAR))) AND 开多条件 then begin
    BUY(手数,holding,LIMITR,C);

end
平空:SELLSHORT(平空条件 AND holding<0,手数,MARKET);
开多:BUY(开多条件 AND holding=0,手数,MARKET),IGNORECHECKPRICE;
QQ截图20220523000842.png 老师 你看下 我在中午11.30收盘的时候用limt 提前下单,单是为什么还是在13.30 markt的下单,

回复

使用道具 举报

37

主题

9943

帖子

6万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
wenarm
发表于 2022-5-23 08:12 | 显示全部楼层
3楼不对,3楼是平仓。开仓应该是开仓语句函数
4楼也不对。
你这个信号不一定是这个语句产生的,LIMITR是本周期指令,标记之后再本根,实际下单时,本周期或者此周期指令效果一样没有区别。这个指令只在图表显示和回测上有区别
if (T0TOTIME(TIMETOT0(CLOSETIME(3))-60)<=DYNAINFO(207) OR (time=CLOSETIME(3) and not(ISLASTBAR)))  then begin
    BUY(开多条件,手数,LIMITR,C);
end

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

使用道具 举报

93

主题

284

帖子

284

积分

等级: 免费版

注册:
2021-11-23
曾用名:
 楼主| 发表于 2022-5-23 11:31 | 显示全部楼层
技术006 发表于 2022-5-23 08:12
3楼不对,3楼是平仓。开仓应该是开仓语句函数
4楼也不对。
你这个信号不一定是这个语句产生的,LIMITR是 ...

PP:SMA(C,30,10);
LL:HHV(L,18);
TT:TIME>152500 AND TIME<=173500;
//DRAWICON(TT=0,h,1);
开多条件:=C>PP AND TT;
平多条件:=C<PP;
开空条件:=C<PP AND TT;
平空条件:=C>PP;
手数:=1;

if (T0TOTIME(TIMETOT0(CLOSETIME(3))-60)<=DYNAINFO(207) OR (time=CLOSETIME(3) and not(ISLASTBAR))) AND 开多条件 then begin
    BUY(手数,holding,MARKET);
END
if (T0TOTIME(TIMETOT0(CLOSETIME(3))-60)<=DYNAINFO(207) OR (time=CLOSETIME(3) and not(ISLASTBAR))) AND 开多条件 then begin
    BUYSHORT(手数,holding,MARKET);
END

平空:SELLSHORT(平空条件 AND holding<0,手数,LIMITR,C-0*MINDIFF);
开多:BUY(开多条件 AND holding=0,手数,LIMITR,C-15*MINDIFF),IGNORECHECKPRICE;

平多:SELL(平多条件 AND holding>0,手数,LIMITR,C+0*MINDIFF);
开空:BUYSHORT(开空条件 AND holding=0,手数,LIMITR,C+15*MINDIFF),IGNORECHECKPRICE;
  老师我想用什么代码做个实验 怎么变成这样了
回复

使用道具 举报

93

主题

284

帖子

284

积分

等级: 免费版

注册:
2021-11-23
曾用名:
 楼主| 发表于 2022-5-23 11:31 | 显示全部楼层
QQ截图20220523113125.png
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2022-5-23 15:53 | 显示全部楼层
if (T0TOTIME(TIMETOT0(CLOSETIME(3))-60)<=DYNAINFO(207) OR (time=CLOSETIME(3) and not(ISLASTBAR))) AND 开多条件 then begin
    BUY(手数,holding,MARKET);
END
if (T0TOTIME(TIMETOT0(CLOSETIME(3))-60)<=DYNAINFO(207) OR (time=CLOSETIME(3) and not(ISLASTBAR))) AND 开多条件 then begin
    BUYSHORT(手数,holding,MARKET);
END

你这个开仓语句写的不对啊。手数写在了条件的位置。。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-29 06:51 , Processed in 0.153688 second(s), 23 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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