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的意思为何 不好意思 我是生手 所以有很多问题]
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;)
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年之後 都没有买进讯号出现 为什麽为这样 是哪里出错了吗
因为你只有作多没有作空
只有停损没有停利
所以在低点进场作多之後就没有符合的出场条件
以致於一直抱单不出
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
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年之後 都没有买进讯号出现 为什麽为这样 是哪里出错了吗
因为你只有作多没有作空
只有停损没有停利
所以在低点进场作多之後就没有符合的出场条件
以致於一直抱单不出
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
因为你只有作多没有作空
只有停损没有停利
所以在低点进场作多之後就没有符合的出场条件
以致於一直抱单不出
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
因为你只有作多没有作空
只有停损没有停利
所以在低点进场作多之後就没有符合的出场条件
以致於一直抱单不出
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