Rss & SiteMap

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

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

标题:我这个只会开多。不会开空,请教老师这个在平多开空,平空开多要怎么写呀。帮我加一条可以吗。谢谢

1楼
sjl5303 发表于:2015/12/23 12:47:32

MA1:=MA(CLOSE,5);
MA2:=MA(CLOSE,30);

variable:maxprofit=0;//有仓位时最大获利幅度

//开仓
IF CROSS(MA1,MA2) THEN
 BEGIN
 BUY(1,1);
 maxprofit:=0;
 END

//平仓
SELL(CROSS(MA2,MA1),0);

//判断当前持仓状态下的最大盈利
win:=0;
 win2:=0;

if holding > 0 and enterbars > 0 then
 begin
 win:=(c-enterprice)/enterprice*100; //记录最大盈利
if win > maxprofit then
   maxprofit:=win;
  
 win2:=(maxprofit-win)/maxprofit*100; //最大盈利后的回调幅度
end

if holding < 0 and enterbars > 0 then
 begin
 win:=(enterprice-c)/enterprice*100; //记录最大盈利
if win > maxprofit then
   maxprofit:=win;

 

我这个只会开多。不会开空,请教老师这个在平多开空,平空开多要怎么写呀。帮我加一条可以吗。谢谢

2楼
jinzhe 发表于:2015/12/23 13:11:43
你的代码里面只有开多,并没有开空
3楼
sjl5303 发表于:2015/12/23 14:20:32
是的。能帮我加个代码进去。开空吗
4楼
jinzhe 发表于:2015/12/23 14:25:01

MA1:=MA(CLOSE,5);
MA2:=MA(CLOSE,30);

variable:maxprofit=0;//有仓位时最大获利幅度

//开仓

sellshort(cross(ma1,ma2),0);

IF CROSS(MA1,MA2) and holding=0 THEN
 BEGIN

 BUY(1,1);
 maxprofit:=0;
 END

//平仓

SELL(CROSS(MA2,MA1),0);

if cross(ma2,ma1) and holding=0 then

 begin

   buyshort(1,1);

   maxprofit:=0;

end

//判断当前持仓状态下的最大盈利
win:=0;
 win2:=0;

if holding > 0 and enterbars > 0 then
 begin
 win:=(c-enterprice)/enterprice*100; //记录最大盈利
if win > maxprofit then
   maxprofit:=win;
  
 win2:=(maxprofit-win)/maxprofit*100; //最大盈利后的回调幅度
end

if holding < 0 and enterbars > 0 then
 begin
 win:=(enterprice-c)/enterprice*100; //记录最大盈利
if win > maxprofit then
   maxprofit:=win;

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


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