建议这种需求,你自己采用手工下单操作。
止盈止损可以直接使用系统自带的止盈止损功能处理。通过实现止盈止损也行。
综合整理了你两个帖子的内容。示例代码如下,希望能满足你的需求。
需要使用金字塔专业版或者机构版。
被引用公式
公式名:MINCOND
cond:all(close>ref(close,1),5);//统计相邻5根k是否连续上涨。范围可以自行修改。
公式2:
运行在IF00合约上的5分钟周期代码。采用固定时间间隔运行
//以一分钟周期相邻的5根k线作为判断是否上涨的依据。(引用的周期约小,其数据切片也会越精细。不建议引用秒级别数据,会造成计算负荷,并且条件可能不容易满足。)
AA:STKINDI('SH600000','MINCOND.COND',0,1);
BB:STKINDI('SH600004','MINCOND.COND',0,1);
CC:STKINDI('SH600006','MINCOND.COND',0,1);
DD:STKINDI('SH600007','MINCOND.COND',0,1);
EE:STKINDI('SH600008','MINCOND.COND',0,1);
//time的时间自行调节
COND:VALUEWHEN(TIME=100000,AA AND BB AND CC AND DD AND EE);//获取10:00 k线对应的5根1分钟k是否为连续上涨(9:56-10:00)。
//指定当前5分钟周期上的k线 time=10:05分时开仓。
if COND=1 and time=100500 then begin
tbuy(THOLDING=0,1,mkt);
//buy(1,1,MARKET);
end
//浮动盈亏大于5个变动价位产生的利润。
if TOPENPROFIT>5*MINDIFF*MULTIPLIER*TBUYHOLDINGEX('','',2) then
begin
tsell(1,0,mkt);
end
//当前行情时间大于开仓时间300秒,则进行平仓。
if TIMETOT0(DYNAINFO(207)) -TIMETOT0(TORDERTIME( 1,1 ))>300 then
begin
tsell(1,0,mkt);
end
非常感谢您,用心了!我们的思想是股指期货涨跌离不开指数涨跌,指数由成分股构成,不同时期,大盘的涨跌由不同的成分股引领,我们发现在某几个时间段的成分股的涨跌会引导股指的涨跌,会有一些投资机会。另外,还有一个问题请教老师:我们研究的时间段中包括竞价阶段,竞价阶段中的股价涨跌数据可以映入到程序中吗
如果竞价阶段的数据无法引入到程序中,我们希望有一套程序可以弥补,就是主观决定多空决策后,在某个固定时间点之前输入多或空,下单后,3分钟或者5分钟成立这个交易的周期,盈利n个点止赢,周期结束自动平仓
如果你说的15k是15分钟周期的话。自己去调整前面代码中time。
如果不是指15分钟周期。请您说清楚点。