您现在的位置:程序化交易>> 期货公式>> 交易开拓者(TB)>> 开拓者知识>>正文内容

A_sendorder实盘问题,再开一手怎么写公式 [开拓者 TB]

  • 咨询内容: 本帖最后由 gyhq20051579 于 2016-3-22 09:25 编辑

    老师们好,我用A_sendorder函数实盘。已经多仓一手,用这个条件If(A_BuyPosition==0 And HasSendOrderD==0 And Con_EntryD)
    现在,我想再开一手(即连续开仓),条件怎么写呢?
    注1:我在同一个账户下,已经多仓一手,现在用If( HasSendOrderD==0 And Con_EntryD) 这个条件,老是开不了,加载公式后HasSendOrderD老是自动跳为1,开不了仓,怎么办?
    注2:开多仓公式全文
                If(A_BuyPosition==0 And HasSendOrderD==0 And Con_EntryD)
                   
                    {
                            A_SendOrder(Enum_Buy,Enum_Entry,TurtleUnits,Q_AskPrice+minpoint);
                            SetTBProfileString("DualThrust_Ni_WAR2","HasSendOrderD",Text(1));
                            preEntryPriceD = Q_AskPrice;
                            SetTBProfileString("DualThrust_Ni_WAR2","TurtleUnits",Text(TurtleUnits));
                            SetTBProfileString("DualThrust_Ni_WAR2","preEntryPriceD",Text(preEntryPriceD));// 保存第一次开仓的价格到数据库
                            FileAppend("c:\DualThrust_Ni_WAR2.log","Date = "+Text(Date)+"Time = "+Text(Time)+"currentTime = "+Text(currentTime) +"开多仓 = "+Text(preEntryPriceD)+"手数 = "+Text(TurtleUnits));
                            PlotString("开多仓", "开多仓",High);
                           
            }

     

  • TB技术人员: a_buyposition==0 时是指没有持仓时,这个做为开仓条件是可以的。
    但如果要加仓时,这个条件就会限制住了,不符合条件没法再加仓。
    您可以改为a_buyposition==1试试 ,同时仍要注意其它的条件以及控制。。
    a_sendorder的使用需要更多的精密的控制。。

     

  • TB客服: 谢谢小米老师,那如果像海龟策略,加仓4次,在A_sendorder函数的if控制语句中应该怎么实现啊?

     

  • 网友回复:
    gyhq20051579 发表于 2016-3-22 12:58
    谢谢小米老师,那如果像海龟策略,加仓4次,在A_sendorder函数的if控制语句中应该怎么实现啊? ...

    条件上是肯定不能搬用海龟的那一套。感觉没有什么特别好的办法吧?或许只有每一个条件单独来写。。
    至少我个人是没有其它更简单更有效的办法 。

 

有思路,想编写各种指标公式,程序化交易模型,选股公式,预警公式的朋友

可联系技术人员 QQ: 511411198  点击这里给我发消息进行 有偿 编写!不贵!点击查看价格!


【字体: 】【打印文章】【查看评论

相关文章

    没有相关内容