设为首页收藏本站

 找回密码
 注册
查看: 2317|回复: 1
打印 上一主题 下一主题

程序这样写可以吗? [复制链接]

Rank: 4

精华
0
UID
2282
积分
265
帖子
51
主题
17
阅读权限
50
注册时间
2008-9-5
最后登录
2012-2-27
跳转到指定楼层
1#
发表于 2009-9-5 21:49:28 |只看该作者 |倒序浏览
各位老大,小弟初学编程,对程序写法还不大了解下面一段代码有误之处请各位老大给予修正,不胜感激!


Params
Numeric Length(10);
Numeric exitbar(3);   //持仓天数设置
Numeric cc(1);          //持仓次数控制

Numeric Xb1(2);       //买入百分比
Numeric Xs1(-5);      //卖出开仓百分比
   
Vars
Numeric ROCValue;
Numeric qj;     //盈利值
  

Begin

ROCValue = (Close - Close[Length])/Close[Length]*100;


If(rocvalue<0 and rocvalue<Xb1  And (MarketPosition<>1 Or (MarketPosition==1 And  CurrentEntries<cc )))       //控制连续开仓次数可否这样些
{
buy(1,close);
qj=(Close[length]-Close);    //建仓时计入俩BAR差值,这样写对吗?
}

    if(rocvalue>0 and rocvalue>XS1 And (MarketPosition<>-1 Or (MarketPosition==-1 And  CurrentEntries<cc )))
{
    SellShort(1,close);
qj=(close-close[length]);
    }
}




If( BarsSinceEntry==ExitBar )  
{
  Sell( 0,Close );
  BuyToCover( 0,Close );
}      //这段代码可以放在 If(rocvalue<0 and rocvalue<Xb1 。。。上吗,顺序不大明白



SetProfitTarget(1,qj*0.3,False);  //这公式不知道怎么写,意思就是当盈利值达到开仓时

                                                 //两BAR价差的30%平仓
End

[ 本帖最后由 qqboy1978 于 2009-9-5 21:51 编辑 ]

Rank: 10Rank: 10Rank: 10

精华
2
UID
4130
积分
20906
帖子
6519
主题
17
阅读权限
200
注册时间
2009-4-15
最后登录
2019-4-12
2#
发表于 2009-9-7 09:54:03 |只看该作者
1.可以的
2.bar的差值qj有可能是负数,如果需要取绝对值可以用abs()这个函数
3.可以的
4.这样写可以的,不过,qj应该为正数

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

bottom

静态版|手机版|联系我们|交易开拓者 ( 粤ICP备07044698   

GMT+8, 2024-5-23 22:55

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部