以文本方式查看主题

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

--  作者:jzt666
--  发布时间:2021/3/30 10:05:49
--  固定轮询-公式
老师帮我写成(固定轮询)模式:镍日内模型,下午3点收盘前15秒砍仓,夜盘凌晨1点收盘前15秒
砍仓;开仓时间:早9点-下午2:30,晚上9点-12:30;
,均价亏损50跳清仓;收盘价大于
金肯特纳上轨开多,浮动亏损20跳加仓一手,浮动亏损40跳再加仓一手,涨停清仓;空头自己写
跌停价写一下;

--  作者:FireScript
--  发布时间:2021/3/30 11:09:54
--  
//中间变量
INPUT:AVGLENGTH(40),ATRLENGTH(40),SS(1,1,10000,1);//定义参数值
INPUT:N(15,1,300,1);//提前的秒数N
MA1:=REF(MA((HIGH+LOW+CLOSE)/3,AVGLENGTH),1);//定义MA1
手数:=ss;
//交易条件
UPPERBAND:=MA1+REF(MA(TR,ATRLENGTH),1);//上轨
LOWERBAND:=MA1-REF(MA(TR,ATRLENGTH),1);//下轨
涨停:PRVSETTLEMENT*(1+0.07);//这个涨停比例自行修改下

kctime:(time>=130000 and time<=183000) or (time>=10000 and time<=43000);//开仓时间限制

kdcd:cross(c,UPPERBAND);//上次上轨开仓

buy(kdcd and holding=0,ss,market);

fdyk:(AVGENTERPRICE-c);//浮动盈亏点数
if fdyk>=50*MINDIFF then 亏损平仓:sell(1,holding,market);
if fdyk>=20*MINDIFF and fdyk<40*MINDIFF then 亏损加仓1:sell(1,holding,market);
if fdyk>=40*MINDIFF and fdyk<50*MINDIFF then 亏损加仓2:sell(1,holding,market);
if c>=涨停 then 涨停平仓:sell(1,holding,market);

MARK:=0;//用于记录当前是否满足某个收盘K结束前N分钟的变量
FOR I=0 TO 1 DO  //循环变量每个收盘时间来进行判断
BEGIN
abb:=timetot0(CLOSETIME(I))-time0,NODRAW;//当前K线时间距离收盘K线结束倒计时
abb3:=timetot0(CLOSETIME(I))-timetot0(dynainfo(207)),NODRAW;//当前时间距离收盘K时间   
IF     (abb<N*60 and abb>=0 and (not(ISLASTBAR))) or (ISLASTBAR and  abb3>=0 and abb3<N*60) THEN MARK:=1;
END


if MARK  then //兼顾实际交易时候的信号和历史回测信号
begin
收盘平仓1:sell(holding>0,holding,market);
收盘平仓2:sellshort(holding<0,holding,market);   
end


--  作者:jzt666
--  发布时间:2021/3/30 15:03:19
--  
老师很忙吗?没工夫回复


--  作者:FireScript
--  发布时间:2021/3/30 15:05:06
--  
 不是。。早就回复了,被论坛审核卡在那里了。没注意到。刚审核过了,你看下2楼。