jamesmagic 發表於 11-7-6 17:40

請問為什麼自己設定的訊號一直顯示"未編譯"??

如題~
今天第一次玩
試著把MACD的多空進場"指標" 程式碼 直接複製貼上 並且自己加上多空單的出場策略在後面 也有記得在最後寫end
可是我要匯出的時候他就一直說這個指標還"未編譯"
未編譯一直在 "fastlength"這邊反白 可是後面不是原本就已經有設定好參數了??? 這個選項究竟哪裡未編譯呢?
而且fastlength示灰色 但是slowlength卻是紅色(沒問題的) 這兩個參數都是原本公式就已經附上的
(原始版單純多空訊號 單獨叫出來在線圖上也沒問題)

到底問題在哪呢??

謝謝!!!!!!!!

mewmi 發表於 11-7-7 10:36

可是我要匯出的時候他就一直說這個指標還"未編譯"
jamesmagic 發表於 11-7-6 05:40 PM http://coco-in.net/images/common/back.gif

你的動作有點怪怪的.. {:4_144:}
在power language editor 寫完後.. 為什麼要匯出呢? 匯出後要匯入哪用呢?
還有要編譯就按 "F3" 即可..

jamesmagic 發表於 11-7-10 06:46

我的問題是 他一直告訴我我的程式碼是屬於未編譯的狀態
一直無法使用
但是我明明就有打進場訊號end 也打了 分號也沒忘
為什麼會這樣呢???

謝謝!!!

minime 發表於 11-7-10 06:59

本帖最後由 minitrader 於 11-7-10 07:00 AM 編輯

你是否犯了指標和策略不可寫在一起的同樣錯誤?
參考
http://coco-in.net/thread-12056-1-1.html

mewmi 發表於 11-7-10 12:11

我的問題是 他一直告訴我我的程式碼是屬於未編譯的狀態
一直無法使用
但是我明明就有打進場訊號end 也打 ...
jamesmagic 發表於 11-7-10 06:46 AM http://coco-in.net/images/common/back.gif

J大.. 那下方的視窗應該有出現錯誤的訊息..
方便的話貼上來.. 看看有什麼問題吧..

jamesmagic 發表於 11-7-10 13:10

我簡單的想寫個DMI+大於DMI-就買進的策略
我把裡面內建的DMIPLUS跟DMIMINUS複製上去
並且在下面寫上condition1=..... 然後if then .....buy 1 contract這樣~

先補個錯誤馬:
Wrong expression
errLine 2 ,errColumn 5,errLineEnd 2 ,errColumnEnd 20
編譯錯誤:(函數)

謝謝!

minime 發表於 11-7-10 13:21

把你不想 show 人的部分程式碼除掉後 PO 上來

你這樣別人無法幫你 debug

jamesmagic 發表於 11-7-10 15:38

大大誤會囉 因為我的程式碼真的只是複製貼上加個買入動作而已才懶得打XDD
在這裡補上:
inputs:
        Len( 14 ) ;                                             

variables:
        var0( 0 ),
        var1( 0 ),
        var2( 0 ),
        var3( 0 ),
        var4( 0 ),
        var5( 0 ) ;

Value1 = DirMovement( H, L, C, Len, var0, var1, var2, var3, var4,
var5 ) ;

DMIMinus = var1 ;
DMIPlus = var0 ;

condition1=var0 > var1 ;
if condition1 then buy 1 contract next bar at market ;
end ;

jamesmagic 發表於 11-7-10 15:40

喔~還有當我按f3編議的時候 他會反白在DMIminus前面的那個"D" 這樣代表什麼嗎
因為我有試著直接把裡面的kd提出來改 也是會有類似的問題 怎樣都是未編譯!!

mewmi 發表於 11-7-10 16:00

大大誤會囉 因為我的程式碼真的只是複製貼上加個買入動作而已才懶得打XDD
在這裡補上:
inputs:
        Len( 14...
jamesmagic 發表於 11-7-10 03:38 PM http://coco-in.net/images/common/back.gif

inputs:
      Len( 14 ) ;                                             

variables:
      var0( 0 ),
      var1( 0 ),
      var2( 0 ),
      var3( 0 ),
      var4( 0 ),
      var5( 0 ) ;

Value1 = DirMovement( H, L, C, Len, var0, var1, var2, var3, var4,
var5 ) ;

DMIMinus = var1 ;
DMIPlus = var0 ;
刪除以上兩行


condition1=var0 > var1 ;
if condition1 then buy 1 contract next bar at market ;
end ;
刪除此行 因為上面沒有對應的Begin

這是從Function中複製出來的程式.. 基本上沒有問題..
但 DMIMinus = var1 ; DMIPlus = var0 ; 這是Function中要設定此Function回傳值用的..
你這個是訊號.. 故這樣設定會錯誤..
請參考.. {:4_196:}

jamesmagic 發表於 11-7-10 18:13

恩恩了解 我知道那個刪除掉之後就是原本內建的!
我想請教的是我想寫一個 DMI+>DMI-就多單買進 若DMI->DMI+ 則空單進場
手上永遠有單 這樣應該如何修改上面的程式碼呢???

mewmi 發表於 11-7-10 19:56

恩恩了解 我知道那個刪除掉之後就是原本內建的!
我想請教的是我想寫一個 DMI+>DMI-就多單買進 若DMI->DMI+...
jamesmagic 發表於 11-7-10 06:13 PM http://coco-in.net/images/common/back.gif

inputs:
      Len( 14 ) ;                                             

variables:
      var0( 0 ),
      var1( 0 ),
      var2( 0 ),
      var3( 0 ),
      var4( 0 ),
      var5( 0 ) ;

Value1 = DirMovement( H, L, C, Len, var0, var1, var2, var3, var4,
var5 ) ;

condition1 = var0 > var1 ;
condition2 = var1 > var0 ;
if condition1 then buy 1 contract next bar at market ;
if condition2 then sellshort 1 contract next bar at market ;


以你原本的程式擴展成你要的簡單寫來這樣就可以..
不過這樣會有一些問題.. 以效率來看還有更好的寫法.. {:4_163:}

jamesmagic 發表於 11-7-10 21:53

大大 這就是我一直遇到的問題
這些複製上去後依然是未就緒跟未編譯狀態= =
到底程式碼是有什麼必要條件漏掉了嗎@@

minime 發表於 11-7-10 23:36

M 大 的程式碼我編譯並無問題啊

mewmi 發表於 11-7-10 23:53

大大 這就是我一直遇到的問題
這些複製上去後依然是未就緒跟未編譯狀態= =
到底程式碼是有什麼必要條件漏 ...
jamesmagic 發表於 11-7-10 09:53 PM http://coco-in.net/images/common/back.gif

j大.. 我想你不是寫程式的人..
但有些簡單的事.. 希望你能提供以方便他人為你解答..
你只說未就緒跟未編譯狀態... {:4_155:}
我們不是神.. 不會通靈..
若你能說的清楚一點就更好了..
例如你有沒有編譯..
編譯若錯誤.. 可否把錯誤訊息貼上來..
謝謝.. {:4_160:}
頁: [1] 2
查看完整版本: 請問為什麼自己設定的訊號一直顯示"未編譯"??