Rss & SiteMap

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

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

标题:请老师看下代码哪里有问题

1楼
xhbsy007 发表于:2019/7/17 16:03:25
老师:请帮忙看下这个代码盈利5跳后不止盈?(固定轮询)美原油

KD:=REF(high>=REF(high,1),1) ;

KK:=REF(high<REF(high,1),1);

 

 

//开多止盈5

IF H-ENTERPRICE>=5*MINDIFF and holding>0 THEN BEGIN

SELL(1,0,MARKET),orderQueue;

END

 

//开空止盈5

IF ENTERPRICE-low>=5*MINDIFF and holding<0 THEN BEGIN

sellshort(1,0,MARKET),orderQueue;

END

 

//开多止损20

IF ENTERPRICE-low>=20*MINDIFF and holding>0 THEN BEGIN

SELL(1,0,MARKET),orderQueue;

END

 

//开空止损20

IF HIGH-ENTERPRICE>=20*MINDIFF and holding<0 THEN BEGIN

sellshort(1,0,MARKET),orderQueue;

END

 

//------------------开多

if (KD AND HOLDING=0) then

begin

BUY(1 ,手数,marketr),orderQueue;

end

//-----------------开空

if (KK AND HOLDING=0) then

begin

BUYSHORT(1,手数,marketr),orderQueue;

end

 

//-----------------------------k走完提前2秒平仓

abb:=(time0-timetot0(dynainfo(207))<=2) or not(islastbar); //tq是设定的提前下单的秒数

if abb then begin

sell(1,0,MARKET),orderQueue;

sellshort(1,0,MARKET),orderQueue;                          

END

2楼
FireScript 发表于:2019/7/17 16:38:27
 有没有输出当时的条件呢。因为我看你用的止盈是按照H-ENTERPRICE>=5*MINDIFF 这个计算的。最好把条件单独输出下看的比较直观点。代码逻辑上应该没有影响到止盈止损的执行。
[此贴子已经被作者于2019/7/17 16:39:23编辑过]
3楼
xhbsy007 发表于:2019/7/17 16:44:35
止盈可以用 ENTERPRICE  吗? AvGENTERPRICE 还是用这个合适?条件单独输出?看日志吗?从哪里看
4楼
FireScript 发表于:2019/7/17 16:52:01
 2个函数都可以啊。如果有加仓用AvGENTERPRICE比较好。

不是日志输出,是把条件当做一个变量输出下。
类似这样:
//开多止盈5
cd:H-ENTERPRICE>=2*MINDIFF and holding>0;
IF cd THEN BEGIN

SELL(1,0,MARKET),orderQueue;

END

然后你代码里面点数设置的不是很合理吧。美原油的话,设置3-4个点差不多。否则平仓条件都触发了,也触发不了止盈止损。
5楼
FireScript 发表于:2019/7/17 16:53:00
另外就是可以这样:
IF ENTERPRICE-low>=2*MINDIFF and holding<0 THEN BEGIN
止盈2:sellshort(1,0,MARKET),orderQueue;
END
这样可以在图表上看到止盈止损的字样。



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

比较明显。
共5 条记录, 每页显示 10 条, 页签: [1]


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