以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  公式模型编写问题提交  (http://222.73.7.161/bbs/list.asp?boardid=4)
----  股票模型编写  (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=165935)

--  作者:霹雳游侠
--  发布时间:2018/10/17 15:34:20
--  股票模型编写
请教股票交易策略如何编写:
共100万资金,每只股票20万,超出数量后不开仓,剔除ST、近5日平均成交额低于5千万、上市小于200个交易日的股票。
买入条件:日线周期近5日内有1个以上的涨停,60分钟周期10日均线>40日均线,且60分钟收盘价上穿10日均线。符合条件按60分钟收盘价买入。
卖出条件:买入后的第二日,按照高点回撤4%做跟踪止盈,截至第二日收盘,累计涨幅小于5%的则按收盘价卖出。

如果做股票的后台自动交易,软件中需要如何设置?

--  作者:FireScript
--  发布时间:2018/10/17 16:06:56
--  
 “共100万资金,每只股票20万”  单账户情况下,在实际交易时候这种资金分配是做不到的。


--  作者:霹雳游侠
--  发布时间:2018/10/17 16:44:33
--  
就按每只股票20万来写吧,不考虑资金总量
--  作者:霹雳游侠
--  发布时间:2018/10/18 9:26:23
--  
除了资金分配这块,其他内容如何编写?
--  作者:FireScript
--  发布时间:2018/10/18 9:49:21
--  
 你运行的周期是什么周期?日线吗?
--  作者:wenarm
--  发布时间:2018/10/18 9:53:41
--  

超出数量后不开仓,剔除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


--  作者:FireScript
--  发布时间:2018/10/18 10:02:08
--  
补一个上市日的判断代码

ssrq:DATEDIFF(FINANCE( 3),CURRENTDATE);//上市日