您现在的位置:程序化交易>> 期货公式>> (MC)multicharts>> MC知识>>正文内容

请问这程式code哪里出错了 [MultiCharts MC]

  • 咨询内容:

     

    inputs: Price( Close ), Length1( 200 ), BollingerPrice( Close ), TestPriceUBand( Close ), TestPriceLBand( Close ), Length( 20 ), NumDevsUp( 2 ), NumDevsDn( -2 ), Displace( 0 ) ,        ConfirmBars( 1 ) Displace1( 0 ) ;   variables: var0( 0 ) ; var1( 0 ), var2( 0 ), var3( 0 ) , var4(0), var5(0); var1 = AverageFC( BollingerPrice, Length ) ; var2 = StandardDev( BollingerPrice, Length, 1 ) ; var3 = var0 + NumDevsUp * var1 ; var4 = var0 + NumDevsDn * var1 ;   condition1 = Displace >= 0 or CurrentBar > AbsValue( Displace ) ; if condition1 then  begin var0 = WAverage( Price, Length1 ) ; Plot1[Displace]( var0, "AvgWtd" ) ;        Plot2[Displace]( var3, "UpperBand" ) ; Plot3[Displace]( var2, "LowerBand" ) ; Plot4[Displace]( var0, "MidLine" ) ;   condition2 = Price > var0 and cross over var3 ; if condition2 then  var5 = var5 + 1  else var5 = 0 ;   condition2 = CurrentBar > ConfirmBars and var5 = ConfirmBars ; if condition2 then                        Buy ( "WMACrossLE" ) next bar at market ;   客服人员您好   我想写一个在200wma之上而且突破布林通道上缘的买进讯号 但是在第12行出错,请问这是何种错误     另外请问一下 Displace( 0 ) , 这是什麽意思 及 condition1 = Displace >= 0 or CurrentBar > AbsValue( Displace ) ; 含意为何 以及 condition1 = Price > AverageFC( Price, Length ) ; if condition1 then  var0 = var0 + 1  else var0 = 0 ;   condition1 = CurrentBar > ConfirmBars and var0 = ConfirmBars ; 这是买进讯号   var0=var0+1 这是什麽意思 以及condition1的意思为何   不好意思 我是生手 所以有很多问题]  

     


     

  • MC技术部: inputs: Price( Close ), Length1( 200 ), BollingerPrice( Close ), TestPriceUBand( Close ), TestPriceLBand( Close ), Length( 20 ), NumDevsUp( 2 ), NumDevsDn( -2 ), Displace( 0 ) ,        ConfirmBars( 1 ) Displace1( 0 ) ;   variables: var0( 0 ) ; var1( 0 ), var2( 0 ), var3( 0 ) , var4(0), var5(0); var1 = AverageFC( BollingerPrice, Length ) ; var2 = StandardDev( BollingerPrice, Length, 1 ) ; var3 = var0 + NumDevsUp * var1 ; var4 = var0 + NumDevsDn * var1 ;   condition1 = Displace >= 0 or CurrentBar > AbsValue( Displace ) ; if condition1 then  begin var0 = WAverage( Price, Length1 ) ; Plot1[Displace]( var0, "AvgWtd" ) ;        Plot2[Displace]( var3, "UpperBand" ) ; Plot3[Displace]( var2, "LowerBand" ) ; Plot4[Displace]( var0, "MidLine" ) ;   condition2 = Price > var0 and cross over var3 ; if condition2 then  var5 = var5 + 1  else var5 = 0 ;   condition2 = CurrentBar > ConfirmBars and var5 = ConfirmBars ; if condition2 then                        Buy ( "WMACrossLE" ) next bar at market ;   客服人员您好   我想写一个在200wma之上而且突破布林通道上缘的买进讯号 但是在第12行出错,请问这是何种错误   ConfirmBars( 1 ) Displace1( 0 ) ;<==第十二行是因为 中间少了","分隔..

    var0( 0 ) ;
    var1( 0 ),<==";"是用来告诉PL该断语法已经结束了,所以正确该是var(0),var1(0),

    condition2 = Price > var0 and cross over var3 ;<== 这里少了Price..正确为condition2 = Price > var0 and Price cross over var3 ;

    最後因为是讯号!所以以下都不能出现在讯号里..

    if condition1 then
    begin
    var0 = WAverage( Price, Length1 ) ;
    Plot1[Displace]( var0, "AvgWtd" ) ;
           Plot2[Displace]( var3, "UpperBand" ) ;
    Plot3[Displace]( var2, "LowerBand" ) ;
    Plot4[Displace]( var0, "MidLine" ) ;<==(而且这里也少了end;正确为if ...then begin...end;)

     


    第2篇

     

  • MC技术部:

     

    inputs: BollingerPrice( Close ), TestPriceLBand( Close ),    Price( Close ), Length1( 200 ),                                                       Length( 20 ), NumDevsDn( 2 ) ;   variables: var0( 0 ), var1(0);   var0 = BollingerBand( BollingerPrice, Length, NumDevsDn ) ; var1 = WAverage(price,Length1);   condition1 = Price > var1 and Price cross over var0 ; if condition1 then                                                                      Buy ( "Bwma" ) next bar at market ; setstopcontract; setstoploss(10000);   这是我後来的code 不过在2007年之後 都没有买进讯号出现 为什麽为这样 是哪里出错了吗
    第3篇

     

  • MC技术部: var0 = BollingerBand( BollingerPrice, Length, NumDevsDn ) ; var1 = WAverage(price,Length1);   condition1 = Price > var1 and Price cross over var0 ; 您可以尝试另外画出var0及var1以确认是否有符合进场条件~ 因为我这里测试也是交易一段後就不再有进场动作...^^
    第4篇

     

  • MC技术部:

    因为你只有作多没有作空

    只有停损没有停利

    所以在低点进场作多之後就没有符合的出场条件

    以致於一直抱单不出


    第5篇

     

  • MC技术部:

     

    inputs: BollingerPrice( Close ), TestPriceLBand( Close ),    Price( Close ), Length1( 200 ),                                                       Length( 20 ), NumDevsUp( 2 ), NumDevsDn( -2 ); variables: var0( 0 ), var1(0),        var2(0),        var3(0),        var4(0); var0 = WAverage(price,Length1); var1 = AverageFC( BollingerPrice, Length ) ; var2 = StandardDev( BollingerPrice, Length, 1 ) ; var3 = var1 + NumDevsUp * var2 ; var4 = var1 + NumDevsDn * var2 ;   condition1 = Price > var0 and Price cross over var3 ; if condition1 then                                                                      Buy ( "BUYwma" ) next bar at market ; condition3 = Price > var0 and Price cross under var4 ; if condition3 then         sell ("BUYSTOP") next bar at market;   condition2 = Price < var0 and Price cross under var4 ; if condition2 then        SellShort("SELLwma") next bar at market;   condition4 = Price < var0 and Price cross over var3 ; if condition4 then        buytocover ("SELLSTOP") next bar at market;     在请问客服人员 这程式码在编译的时候出现函数错误 请问是哪里出错了 谢谢客服人员   编辑文章 by 陈胖 2012-01-03 16:17:26

     

  • MC客服:

     

    inputs: BollingerPrice( Close ), TestPriceLBand( Close ),    Price( Close ), Length1( 200 ),                                                       Length( 20 ), NumDevsDn( 2 ) ;   variables: var0( 0 ), var1(0);   var0 = BollingerBand( BollingerPrice, Length, NumDevsDn ) ; var1 = WAverage(price,Length1);   condition1 = Price > var1 and Price cross over var0 ; if condition1 then                                                                      Buy ( "Bwma" ) next bar at market ; setstopcontract; setstoploss(10000);   这是我後来的code 不过在2007年之後 都没有买进讯号出现 为什麽为这样 是哪里出错了吗
    第3篇

     

  • MC客服: var0 = BollingerBand( BollingerPrice, Length, NumDevsDn ) ; var1 = WAverage(price,Length1);   condition1 = Price > var1 and Price cross over var0 ; 您可以尝试另外画出var0及var1以确认是否有符合进场条件~ 因为我这里测试也是交易一段後就不再有进场动作...^^
    第4篇

     

  • MC客服:

    因为你只有作多没有作空

    只有停损没有停利

    所以在低点进场作多之後就没有符合的出场条件

    以致於一直抱单不出


    第5篇

     

  • MC客服:

     

    inputs: BollingerPrice( Close ), TestPriceLBand( Close ),    Price( Close ), Length1( 200 ),                                                       Length( 20 ), NumDevsUp( 2 ), NumDevsDn( -2 ); variables: var0( 0 ), var1(0),        var2(0),        var3(0),        var4(0); var0 = WAverage(price,Length1); var1 = AverageFC( BollingerPrice, Length ) ; var2 = StandardDev( BollingerPrice, Length, 1 ) ; var3 = var1 + NumDevsUp * var2 ; var4 = var1 + NumDevsDn * var2 ;   condition1 = Price > var0 and Price cross over var3 ; if condition1 then                                                                      Buy ( "BUYwma" ) next bar at market ; condition3 = Price > var0 and Price cross under var4 ; if condition3 then         sell ("BUYSTOP") next bar at market;   condition2 = Price < var0 and Price cross under var4 ; if condition2 then        SellShort("SELLwma") next bar at market;   condition4 = Price < var0 and Price cross over var3 ; if condition4 then        buytocover ("SELLSTOP") next bar at market;     在请问客服人员 这程式码在编译的时候出现函数错误 请问是哪里出错了 谢谢客服人员   编辑文章 by 陈胖 2012-01-03 16:17:26

     

  • MC客服: var0 = BollingerBand( BollingerPrice, Length, NumDevsDn ) ; var1 = WAverage(price,Length1);   condition1 = Price > var1 and Price cross over var0 ; 您可以尝试另外画出var0及var1以确认是否有符合进场条件~ 因为我这里测试也是交易一段後就不再有进场动作...^^
    第4篇

     

  • MC客服:

    因为你只有作多没有作空

    只有停损没有停利

    所以在低点进场作多之後就没有符合的出场条件

    以致於一直抱单不出


    第5篇

     

  • MC客服:

     

    inputs: BollingerPrice( Close ), TestPriceLBand( Close ),    Price( Close ), Length1( 200 ),                                                       Length( 20 ), NumDevsUp( 2 ), NumDevsDn( -2 ); variables: var0( 0 ), var1(0),        var2(0),        var3(0),        var4(0); var0 = WAverage(price,Length1); var1 = AverageFC( BollingerPrice, Length ) ; var2 = StandardDev( BollingerPrice, Length, 1 ) ; var3 = var1 + NumDevsUp * var2 ; var4 = var1 + NumDevsDn * var2 ;   condition1 = Price > var0 and Price cross over var3 ; if condition1 then                                                                      Buy ( "BUYwma" ) next bar at market ; condition3 = Price > var0 and Price cross under var4 ; if condition3 then         sell ("BUYSTOP") next bar at market;   condition2 = Price < var0 and Price cross under var4 ; if condition2 then        SellShort("SELLwma") next bar at market;   condition4 = Price < var0 and Price cross over var3 ; if condition4 then        buytocover ("SELLSTOP") next bar at market;     在请问客服人员 这程式码在编译的时候出现函数错误 请问是哪里出错了 谢谢客服人员   编辑文章 by 陈胖 2012-01-03 16:17:26

     

  • MC客服:

    因为你只有作多没有作空

    只有停损没有停利

    所以在低点进场作多之後就没有符合的出场条件

    以致於一直抱单不出


    第5篇

     

  • MC客服:

     

    inputs: BollingerPrice( Close ), TestPriceLBand( Close ),    Price( Close ), Length1( 200 ),                                                       Length( 20 ), NumDevsUp( 2 ), NumDevsDn( -2 ); variables: var0( 0 ), var1(0),        var2(0),        var3(0),        var4(0); var0 = WAverage(price,Length1); var1 = AverageFC( BollingerPrice, Length ) ; var2 = StandardDev( BollingerPrice, Length, 1 ) ; var3 = var1 + NumDevsUp * var2 ; var4 = var1 + NumDevsDn * var2 ;   condition1 = Price > var0 and Price cross over var3 ; if condition1 then                                                                      Buy ( "BUYwma" ) next bar at market ; condition3 = Price > var0 and Price cross under var4 ; if condition3 then         sell ("BUYSTOP") next bar at market;   condition2 = Price < var0 and Price cross under var4 ; if condition2 then        SellShort("SELLwma") next bar at market;   condition4 = Price < var0 and Price cross over var3 ; if condition4 then        buytocover ("SELLSTOP") next bar at market;     在请问客服人员 这程式码在编译的时候出现函数错误 请问是哪里出错了 谢谢客服人员   编辑文章 by 陈胖 2012-01-03 16:17:26

【字体: 】【打印文章】【查看评论

相关文章

    没有相关内容