Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共3 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:求助个后台交易的小问题

1楼
hj007s 发表于:2018/1/19 13:07:55
我想问一下大神,我如何实现后台程序化交易手动开仓后自动委托的问题。

是这样,首先,我手动开仓,然后我如何取得进场价位,然后按照这个价位自动向下报委托

假设,我在1000点手动开多头,然后我如何实现向下在买1处,按照每个最小变动价位报单,然后报10个,意思是我开仓后报了10个委托,分别在买1——买10
2楼
fly 发表于:2018/1/30 11:15:30
可以实现,但会取到和操作一个品种的所有持仓,您的代码正在编写,请稍等。

本代码将以期货品种--多头为例实现
3楼
FireScript 发表于:2018/1/30 16:03:48

代码处理按照如下思路,因为你是利用手工下单结合后台程序化,所以会有一些必要的限制,我们假设之前没有多头持仓。在手工下单成交后触发后台下单语句的执行,在手工单之前后台语句无法下单。以多头为例:

1.定义了一个全局变量。在手工开仓后程序读取到持仓变化,就会重置全局变量的值,使得后面的下单语句条件被触发。

2.以手工下单的价格作为基准价格下10手不同价格的单子。

 

 

//因为有手工单参与,所以这里假设手工单之前没有该品种多头持仓,否则的话后台无法判读手工单。

GLOBALVARIABLE:rm:=0;//全局变量限制手工下单之前不下单。

if rm=0 and TBUYHOLDINGEX('','',1)<>0 then
begin 
MSGOUT(1,'已有初始仓位');//因为这里只会输出一次,用msgout只是为了迅速的知道已经下过了手工单,且程序也察觉到了。
rm:=TAVGENTERPRICEEX2('' ,'' ,0 );//记住初始下单后(手工下单)的持仓均价,其实就是成交价。
end

//在手工单开仓价基础上,限价挂10单.挂单价格递减

tbuy(rm>0,1,lmt,rm-1*MINDIFF);//第一单
tbuy(rm>0,1,lmt,rm-2*MINDIFF);//第二单
.
.
.
tbuy(rm>0,1,lmt,rm-10*MINDIFF);//第十单

共3 条记录, 每页显示 10 条, 页签: [1]


Powered By Dvbbs Version 8.3.0
Processed in 0.01563 s, 3 queries.