超出数量后不开仓,剔除ST、近5日平均成交额低于5千万、上市小于200个交易日的股票。
上面的条件使用股票池功能进行条件筛选,筛选条件请自行处理。买入和卖出处理代码如下,其代码仅作为参考学习。你
//买入条件:日线周期近5日内有1个以上的涨停,60分钟周期10日均线>40日均线,且60分钟收盘价上穿10日均线。符合条件按60分钟收盘价买入。
//卖出条件:买入后的第二日,按照高点回撤4%做跟踪止盈,截至第二日收盘,累计涨幅小于5%的则按收盘价卖出。
ztcond:COUNT((c>=ref(c,1)*1.1),5)>=1;
day_ztcond:STKINDI('','Formula1.ztcond',0,6,-1);
if ma(c,10)>ma(c,40) and CROSS(close,ma(close,10))=1 then begin
tbuy(1,200000/close,MKT);
end
//A有三种数值状态:1,0,最新价;
//当A=1时表示当前有持仓,A=0时表示移动止损执行完毕,A=最新价时用于比较价格是否回落
//将A赋值为1,表示当前有持仓
IF TBUYHOLDINGEX( '','' ,0 )>0 AND EXTGBDATA(STKLABEL )=0 THEN BEGIN
EXTGBDATASET( STKLABEL,1 );
END
//使A始终表示监控开始后的最高价
IF DYNAINFO( 7)>EXTGBDATA(STKLABEL ) and EXTGBDATA(STKLABEL )>0 THEN BEGIN
EXTGBDATASET( STKLABEL,DYNAINFO( 7));
END
//发现价格回落止损,并将A赋值为0表示移动止损动作完成
IF EXTGBDATA(STKLABEL )-DYNAINFO( 7)>5*MINDIFF and EXTGBDATA(STKLABEL )>0 THEN BEGIN
TSELL(1,0,MKT );
EXTGBDATASET( STKLABEL,0);
END
if time=150000 and DYNAINFO( 14)<0.05 then BEGIN
tsell(1,0,MKT);
end