开拓者期货期权程序化系统交易论坛

标题: 请教,为何一根K线开了6单 [打印本页]

作者: tbtrader0    时间: 2019-8-12 19:59:59     标题: 请教,为何一根K线开了6单

        在K线上开多条件满足了,也执行了,看账户开了6单。
我本意是一根K线只能开一单,波段,如果后面的K线满足,还可以开多,最多3单。

//多仓操作
        If(A_BuyPosition() < 3 And 。。。 )
        {
                A_SendOrder(Enum_Buy,Enum_Entry,LotsA,Q_AskPrice());       
        }
lotsA为1.

请帮助完善代码,谢谢。
作者: 小米    时间: 2019-8-13 13:54:44

A函数的交易,需要自己去控制的细节很多,不是象使用BUY,SELL那样条件满足就执行指令就好 的。
建议一定要多花些时间 ,了解熟悉A函数的相关属性以及完全了解其用法后再来使用。
作者: tbtrader0    时间: 2019-8-13 14:26:05

多谢小米
今天的情况。

        //多仓操作
        If(A_BuyPosition() < 3 And Vol > 5 And
                macdvalue>0 && macdvalue>avgmacd && avgValue1>AvgValue2 && open<avgvalue1 && close>avgvalue1 And
                GetGlobalVar(1)!=Time())
        {
                BuyFlag=A_SendOrder(Enum_Buy,Enum_Entry,LotsA,Q_AskPrice());       
                If(BuyFlag)
                        SetGlobalVar(1,Time());
               
                //PlotBool("up",True,Low-1,red,1);
                PlotString("多头建仓","买",low-1,Yellow,1);
        }
       
       //多头平仓
        If(A_BuyPosition() > 0 And open>avgvalue2 && close<avgvalue2 )
        {
                A_SendOrder(Enum_Sell,Enum_Exit,A_BuyPosition(),Q_BidPrice());
       
                PlotString("多头平仓","平",high+4,red,1);
        }

如上代码,开仓再没有发生异常,一单接着一单开,开到3单。
但平仓,第一次3单全平正常。接着又平了两次,状态显示“已作废”。
为什么没有持仓了,还在平仓。仓已经平了A_BuyPosition() > 0 不满足了。
请指教。
作者: 小米    时间: 2019-8-13 16:05:23

tbtrader0 发表于 2019-8-13 14:26
多谢小米
今天的情况。

从发单 到成交回报返回本地,是有延时的。
如果仅用持仓量来控制下单 次数是不够的。还需要另外加全局变量等控制





欢迎光临 开拓者期货期权程序化系统交易论坛 (http://bbs.tb18.net/) Powered by Discuz! X2