Rss & SiteMap

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

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

标题:请教老师

1楼
诗与远方 发表于:2020/12/25 13:12:03

//中间变量

MA1:=MA(OPEN,A);

MA2:=MA(OPEN,B);

MA3:=MA(OPEN,D);

MA4:=MA(OPEN,E);

手数:=ss;

//交易条件

开多条件:=CROSS(MA1,MA2)AND(MA2>MA3)AND(MA3>MA4);//开多条件

开空条件:=CROSS(MA2,MA1)AND(MA2<MA3)AND(MA3<MA4);//开空条件

开多:BUY(开多条件,手数,MARKET);

(有时有信号,有时没信号。有时刚下单,下一秒就平仓)

开空:BUYSHORT(开空条件,手数,MARKET);

(有时有信号,有时没信号。有时刚下单,下一秒就平仓)

 

//320秒内的连续视为异常持仓同步行为(320秒内同一方向不重复下单),怎样编写?

 

//移动止损部分************************

//求出持仓以来的最高价或最低价,通过与当前价做比较,判断资金回落的幅度

hh:=hhv(h,enterbars+1);

ll:=llv(l,enterbars+1);

if c<hh-20*mindiff and holding>0 then sell(1,holding,marketr);

if c>ll+20*mindiff and holding<0 then sellshort(1,holding,marketr);

//*************************************

(不执行止损)

 

//下午3点前10秒强平,晚上11点前10秒强平。

 if time=29990 or time=189990 then

begin 

sell(holding>0,holding,market);

sellshort(holding<0,holding,market);   

end

(不执行强平)

2楼
FireScript 发表于:2020/12/25 13:44:48
 “(有时有信号,有时没信号。有时刚下单,下一秒就平仓)
把平仓代码放到开仓代码前面。

hh:=hhv(h,enterbars+1);
ll:=llv(l,enterbars+1);
if c<hh-20*mindiff and holding>0 then sell(1,holding,marketr);
if c>ll+20*mindiff and holding<0 then sellshort(1,holding,marketr);
开多:BUY(开多条件,手数,MARKET);
开空:BUYSHORT(开空条件,手数,MARKET);


//320秒内的连续视为异常持仓同步行为(320秒内同一方向不重复下单),怎样编写?
无法用代码实现。而且有现成的功能,直接用就行了。

(不执行止损)
参考第一个的调整。


调整后信号都是正常的。

图片点击可在新窗口打开查看此主题相关图片如下:temp.png
图片点击可在新窗口打开查看


(不执行强平)
//只能固定轮询模式下执行下面的代码。
abb1:=timetot0(30000)-timetot0(dynainfo(207)),NODRAW;
abb2:=timetot0(190000)-timetot0(dynainfo(207)),NODRAW;  
cd:((abb1>0 and abb1<=10) or (time=30000 and not(ISLASTBAR))) or ( (abb2>0 and abb2<=10) or  (time=190000 and  not(ISLASTBAR)));

 if cd then
begin
强平1:sell(holding>0,holding,market);
强平2:sellshort(holding<0,holding,market);  
end

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


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