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