COCO研究院

 找回密碼
 註冊
搜索
查看: 9905|回復: 19

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

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

到底問題在哪呢??

謝謝!!!!!!!!
發表於 11-7-7 10:36 | 顯示全部樓層
可是我要匯出的時候他就一直說這個指標還"未編譯"
jamesmagic 發表於 11-7-6 05:40 PM


你的動作有點怪怪的..
在power language editor 寫完後.. 為什麼要匯出呢? 匯出後要匯入哪用呢?
還有要編譯就按 "F3" 即可..
 樓主| 發表於 11-7-10 06:46 | 顯示全部樓層
我的問題是 他一直告訴我我的程式碼是屬於未編譯的狀態
一直無法使用
但是我明明就有打進場訊號  end 也打了 分號也沒忘
為什麼會這樣呢???

謝謝!!!
發表於 11-7-10 06:59 | 顯示全部樓層
本帖最後由 minitrader 於 11-7-10 07:00 AM 編輯

你是否犯了指標和策略不可寫在一起的同樣錯誤?
參考
http://coco-in.net/thread-12056-1-1.html
發表於 11-7-10 12:11 | 顯示全部樓層
我的問題是 他一直告訴我我的程式碼是屬於未編譯的狀態
一直無法使用
但是我明明就有打進場訊號  end 也打 ...
jamesmagic 發表於 11-7-10 06:46 AM


J大.. 那下方的視窗應該有出現錯誤的訊息..
方便的話貼上來.. 看看有什麼問題吧..
 樓主| 發表於 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
編譯錯誤:(函數)

謝謝!
發表於 11-7-10 13:21 | 顯示全部樓層
把你不想 show 人的部分程式碼除掉後 PO 上來

你這樣別人無法幫你 debug
 樓主| 發表於 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 ;
 樓主| 發表於 11-7-10 15:40 | 顯示全部樓層
喔~還有當我按f3編議的時候 他會反白在DMIminus前面的那個"D" 這樣代表什麼嗎
因為我有試著直接把裡面的kd提出來改 也是會有類似的問題 怎樣都是未編譯!!
發表於 11-7-10 16:00 | 顯示全部樓層
大大誤會囉 因為我的程式碼真的只是複製貼上加個買入動作而已才懶得打XDD
在這裡補上:
inputs:
        Len( 14  ...
jamesmagic 發表於 11-7-10 03:38 PM


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回傳值用的..
你這個是訊號.. 故這樣設定會錯誤..
請參考..
 樓主| 發表於 11-7-10 18:13 | 顯示全部樓層
恩恩了解 我知道那個刪除掉之後就是原本內建的!
我想請教的是我想寫一個 DMI+>DMI-就多單買進 若DMI->DMI+ 則空單進場
手上永遠有單 這樣應該如何修改上面的程式碼呢???
發表於 11-7-10 19:56 | 顯示全部樓層
恩恩了解 我知道那個刪除掉之後就是原本內建的!
我想請教的是我想寫一個 DMI+>DMI-就多單買進 若DMI->DMI+  ...
jamesmagic 發表於 11-7-10 06:13 PM


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 ;


以你原本的程式擴展成你要的簡單寫來這樣就可以..
不過這樣會有一些問題.. 以效率來看還有更好的寫法..
 樓主| 發表於 11-7-10 21:53 | 顯示全部樓層
大大 這就是我一直遇到的問題
這些複製上去後依然是未就緒跟未編譯狀態= =
到底程式碼是有什麼必要條件漏掉了嗎@@
發表於 11-7-10 23:36 | 顯示全部樓層
M 大 的程式碼我編譯並無問題啊
發表於 11-7-10 23:53 | 顯示全部樓層
大大 這就是我一直遇到的問題
這些複製上去後依然是未就緒跟未編譯狀態= =
到底程式碼是有什麼必要條件漏 ...
jamesmagic 發表於 11-7-10 09:53 PM


j大.. 我想你不是寫程式的人..
但有些簡單的事.. 希望你能提供以方便他人為你解答..
你只說未就緒跟未編譯狀態...
我們不是神.. 不會通靈..
若你能說的清楚一點就更好了..
例如你有沒有編譯..
編譯若錯誤.. 可否把錯誤訊息貼上來..
謝謝..
您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則

手機版|Archiver|站長信箱|廣告洽詢|COCO研究院

GMT+8, 24-11-22 05:42

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回復 返回頂部 返回列表
理財討論網站 |