我想问一下大神,我如何实现后台程序化交易手动开仓后自动委托的问题。
是这样,首先,我手动开仓,然后我如何取得进场价位,然后按照这个价位自动向下报委托
假设,我在1000点手动开多头,然后我如何实现向下在买1处,按照每个最小变动价位报单,然后报10个,意思是我开仓后报了10个委托,分别在买1——买10
你这描述 我没有看明白你到底需要什么样的操作。可否再详细说明下。
比如我在焦煤1805现在价格1960开10手多头,然后我如何用后台程序调取我的开仓信息,就是1960的价格开了10手多头,然后按照1960的基准,在1959——1950处挂单多头买单,每个最小变动价位开1手,
你是要先手动开仓 然后后面的按照手动开仓的价格基础再后台开仓。是这样吗?
只能按照手工下单的持仓均价来,按照手工开仓时的价格是不行的。
好的,麻烦给个Demo参考一下写法。
如果我想做手工开仓时的价格,就是开仓成交后的价格呢?
因为如果是持仓均价的话,我进行每个变动价位的委托不就是不断地在开仓了么?
不建议你手工和程序化在一起混合使用,因为麻烦的地方在于稍微复杂点的就没办法进行完整的控制,有不少不方便之处。
GLOBALVARIABLE:rm:=0;//记住初始下单后(手工下单)的持仓均价
if rm=0 and TAVGENTERPRICE<>0 then rm:=TAVGENTERPRICE;//获取并记住初始持仓价格,这里假设手工下单前没有仓位
tbuy(rm>0,1,lmt,rm+1*MINDIFF);//第一档挂单
.....//第二档挂单
.....
......
我很奇怪的是我模拟的我下单后,成交,并且有交易记录,但是用ENTERPRICE或者ENTERBARS,都返回不出结果,用ENTERBARS直接返回-1,。
tbuy(rm>0,1,lmt,rm+1*MINDIFF);//第一档挂单.....//第二档挂单
我怎么写循环?就是第一档,第二档,第三档,手数是固定的,就是变动价位改变了,
我这样写对么
for i:=0 to 10 do
begin
tbuy(rm>0,1,lmt,rm-i*MINDIFF);//第一档挂单
end
就是假设我1960开仓多头,然后1959.5开挂一手多头,1959挂一手多头,1958.5挂一手多头
[此贴子已经被作者于2018/1/19 15:32:19编辑过]