A函数发单返回F
我用A函数发单返回F,但是消息中心并无报错记录,这是为什么呢?或者请老师告诉我:A函数发单失败的原因有哪些,我来一个个排查,谢谢!IF (A_SendOrderEx(Enum_Sell, Enum_Entry, Lots, Q_Last-MinDiff*SellJs,OrderIds))//追空(市价-点)
{
SellJs=SellJs+1;//开空单成交时重置为0
}
Else//报单出错
{
PlotString("追空单报错","F",O,Yellow);
}
Print("追空次数="+TEXT(SellJs)+ "/时间="+TEXT(CurrentTime));
Print("追空价="+TEXT(Q_Last-MinDiff*SellJs));
😭
回复:你脑子太快了跟不上很正常
回复:你脑子太快了跟不上很正常
啊 我终于知道你的问题了打开k线不等于访问策略单元的内容!打开k线相当于重新新建一个新的图表然后跑公式!运行路径完全不一样的!!!!你以为的打开k线是在读这个策略单元生成的print内容其实不是的,等于是克隆一个完全一样的人,虽然性格身材器官完全一样,但是这个克隆人有自己的人生!不能通过观察这个克隆人的人生去定义母体的人生!
专门给你录了视频 https://www.bilibili.com/video/BV1Xo8KzYEcb/
回复:谢谢老师费心讲解!!!PRINT的问题,我改用日志记录去解决了。我现在问的已不是PRINT的问题了,想问:A函数发单失败的原因有哪些?你在视频中准备讲后来又叉开了
回复:视频里其实讲了第一 没有开启自动交易第二 不是最新的实时bar你的问题其实是,订单是无图表策略单元发出的,然后你打开k线,发现k线图的控制台没有输出print,所以觉得结构有问题。其实图表的控制台输出的是图表的内容,图表k线没有启动自动交易,那就执行不了print
回复:老刘你终于明白了👍
回复:辛苦了太不容易了
回复:他主要还是编码习惯问题好的逻辑可以避免很多已知未知的问题
回复:谢谢!!!策略单元按A函数发单,图表k线不发单(因为没有启动自动交易)所以不执行IF(A)下的print。设计者的神思路,也可能是出于全盘考虑不得不选择如此曲折离奇的设计.对于使用者,我们只要记住就好了,再次感谢!!!
回复:这个设计是合理且有必要的你要系统的梳理一下编码逻辑和习惯如果觉得我几次回复比较刻薄不开心你说一下后期不打扰了
回复:A函数大多都会诸如此类的反复提醒:该函数直接发单,不经过任何确认,并会在每次公式计算时发送,一般需要配合着仓位头寸进行条件处理,在不清楚运行机制的情况下,请慎用。注:不能使用于历史测试,仅适用于实时行情交易。所以编码逻辑是1、过滤历史补充行情数据(特定情况还需要过滤集合竞价)1、多数据源处理好数据对齐(官方有推荐方案 特定场景需要自己设计算法 比如我近期刚开发完成的股指期权策略 数据延时3秒需要自己设计新算法)2、触发开仓条件3、仓位头寸计算 即资金要够 或 在设定的风险度以内4、检验行情状态 类高频:这种状况图表交易函数局限性太大 为了兼顾回溯和实盘 非实时用图表函数 实时用账户函数; 趋势、波段:两者同步 无图表交易和图表观察 做到实盘和回溯所见即所得在符合以上条件下发单(控制报单次数)以及后续的撤单重发逻辑控制
回复:大多时候策略逻辑并不复杂逻辑控制都是细节
回复:老师,您多虑了😆