wahrgt 发表于 2014-3-31 21:04:48

老师,给我看看这个编程,我刚开始学,不会的地方太多了.

我试着编了一个程序,用一个5日波动幅度,在5分或15分钟线上做的一个日内系统,全文如下,我知道错了地方太多,只是不知道都在什么地方,请帮我修改一下,正在学习中.
我将5日波动幅度用了一个读取数据库操作,在超级图表上建立了一个日线图和分钟线图.
现全文如下:
Params
   numeric tr1(0.3);    \\开仓波动系数
   numeric tr2(0.5);    \\止损波动系数
   numeric tr3(0.7);    \\止赢波动系数
Vars
   numeric trvalue;     \\日线图上的波动幅度
   numeric TRV1;        \\开仓价格幅度
   numeric trv2;        \\止损价格幅度
   numeric trv3;        \\止赢价格幅度
   numeric myentry1;     \\我的多仓建仓价格
   numeric myexit2;      \\我的多仓止损价格
   numeric myexit3;     \\我的多仓止赢价格
   numeric myentry4;   \\我的空仓建仓价格
   numeric myexit5;    \\我的空仓止损价格
   numeric myexit6;    \\我的空仓止赢价格
   Numeric kp;        \\全局变量的值即当天的开盘价
Begin
   trvalue=GetTBProfileString("dayATR",ATR);   \\读取日内波动幅度并赋值于变量
   trv1=tr1*trvalue;                           \\建仓价格幅度
   trv2=tr2*trvalue;                            \\止损价格幅度
   trv3=tr3*trvalue;                            \\止赢价格幅度
   if(date!=date&&time!=time)             \\如果是当天的第一根K线
     {
         SetGlobalVar(0,open);               \\将开盘价赋值于全局变量
         kp=GetGlobalVar(0);                 \\从全局变量取量并赋值于变量
         }
    myentry1=kp-trv1;                \\我的多仓开盘价格=当天开盘价格-建仓幅度
        myexit2=kp-trv2;                 \\我的多仓止损价格=当天开盘价格-止损幅度
        myexit3=kp+trv3;                 \\我的多仓止赢价格=当天开盘价格+止赢幅度
        myentry4=kp+tr1;                  \\我的空仓开盘价格=当天开盘价格+建仓幅度
        myexit5=kp+trv2;                 \\我的空仓止损价格=当天开盘价格+止损幅度
        myexit6=kp-trv3;                 \\我的空仓止赢价格=当天开盘价格-止赢幅度
        if(open<=myentry1&&open>=myexit2) \\如果开盘价小于我的多仓建仓价格并且大于我的多仓止损价格,以开盘价建立多仓
          Buy(1,open);
          if(MarketPosition==1&&BarsSinceEntry>=1)      \\如果在我有多仓的情况下,并且当前K线不是建仓K线
            if(open<=myexit2)                           \\如果开盘价小于我的多仓止损价,以开盘价平掉多仓
                Sell(1,open);
                Else if(open>=myexit3}                        \\如果开盘价大于我的多仓止赢价,以开盘价平掉多仓
                Sell(1,open);
        if(open>=mytrv4&&open<=myexit5)                   \\如果开盘价大于我的空仓建仓价格并且小于我的空仓止损价格,以开盘价建立空仓
          SellShort(1,open);
          if(MarketPosition==-1&&BarsSinceEntry>=1)             \\如果在我有空仓的情况下并且当前K线不是我的建仓K线
            if(open>=myexit5)                                   \\如果开盘价大于我的空仓止损价格,以开盘价平掉空仓
                BuyToCover(1,open);
                Else if(open<=myexit6)                             \\如果开盘价小于我的空仓止赢价格,以开盘价平掉空仓
                BuyToCover(1,open);
        If(time==0.1455&&CurrentTime<=0.1459)                        \\时间在14:55分至14:59分时,全部平仓
        Sell(0,open);
        End
第一个错误就显示在第30行缺少分号,我实在搞不懂.

abc123wh 发表于 2014-4-1 11:49:12

人工置顶!

hxqh69011111 发表于 2014-4-1 20:11:00

\\ 改成 //就行了。这是window程序,不是unix
页: [1]
查看完整版本: 老师,给我看看这个编程,我刚开始学,不会的地方太多了.