請教AFL Library 寫技術指標的問題....
各位大大好:小弟現在想使用ADK裡面的AFL Library功能去寫自己的技術指標,我參考了範例Function.cpp裡面的"ExampleEMA",
的範例方法去寫指標。 但是我再編譯完成後,將DLL註冊進去Amibroker裡面,卻發現畫出的技術圖有問題(假設以125天為周期計算,畫出的圖前面125天都沒資料),因為我是參考範例,連範例都有問題我就不知道該怎麼下手了,請問有高人可以解答嗎?(希望綠茶妹可以幫幫忙><)
以下附圖
這不是範例有問題啦,
計算十日的平均數,至少要有十日的收盤價才能算,
所以會沒有前十日的資料,
計算125日亦同,還有滿125天之前,
不會足夠的資料來繪出圖形。 To: ashell大
我有匯入超過的資料,你可以仔細看第三張圖,他下面的調整桿是在中間,不是在最前面,應該是說我拉動調整桿的時候就是會少前面的那些資料,請問ashell有用AFL Library嗎? 可否提供範例? 小弟以為直接寫入 AFL 裡就可以了說
跟 ADK 好像沒關係呼?! (抱歉功力太淺)
以下是範例程式碼
function T3(price,periods) //AMA-based
{
s = 0.618;
periods = 2/(periods+1);
e1=AMA(price,periods);
e2=AMA(e1,Periods);
e3=AMA(e2,Periods);
e4=AMA(e3,Periods);
e5=AMA(e4,Periods);
e6=AMA(e5,Periods);
c1=-s*s*s;
c2=3*s*s+3*s*s*s;
c3=-6*s*s-3*s-3*s*s*s;
c4=1+3*s+s*s*s+3*s*s;
Ti3=c1*e6+c2*e5+c3*e4+c4*e3;
return ti3;
}
語法 T3(price,periods)
不知道有沒有幫助呢 (希望我是看懂大大的問題才回覆的XD) 這樣我就不知道是什麼原因了,
不好意思幫不上忙,
還有你說的有用AFL Library是什麼意思,
是需要網址嗎?
http://www.amibroker.com/library/list.php ADK 是開放自己建立Plugin的C/C++函式庫,AmiBroker Development Kit (C/C++) ,
TO: kilroy
我試過同樣的指標在Amibroker裡面是正常的,而寫成PLUGIN的模式就會有問題,而且我是依據官方給的文件去建立的。
為啥要這樣做的原因,是因為有些客戶自己的策略他希望不要把程式碼流出去,希望使用DLL提供給其他的網友用。 ADK 是開放自己建立Plugin的C/C++函式庫,AmiBroker Development Kit (C/C++) ,
TO: kilroy
我試過 ...
baokyo 發表於 11-1-26 09:40 PM http://coco-in.net/images/common/back.gif
喔喔喔 原來是因為 「有些客戶自己的策略他希望不要把程式碼流出去,希望使用DLL提供給其他的網友用」
小弟了了,感謝大大回覆唷~
ADK 這個不知道大大會不會寫 data plugin 呢? 感謝感謝 本帖最後由 cjlin 於 11-1-27 01:49 AM 編輯
因為ArgsTable丟進來的是螢幕上顯示範圍的區域資料,
以你的例子來說,前面被省略的部份是因為你在code裡把前面125個位置填EMPTY_VAL
你需要改的是拿原本的data array來處理,而不是只處理參數裡面的資料,
如果只要Close,用gSite.GetStockArray( 3 )取回來的就是全部的close data array (in float),
大小記得要用gSite.GetArraySize()拿喔
如果想要用這個function處理其他data array,像Open, High之類的話,
我建議你用其他的方法丟參數...有時候hard code是種藝術{:5_216:} 因為ArgsTable丟進來的是螢幕上顯示範圍的區域資料,
以你的例子來說,前面被省略的部份是因為你在code裡把前 ...
cjlin 發表於 11-1-27 01:39 AM http://coco-in.net/images/common/back.gif
會寫程式真好~~{:4_161:} 本帖最後由 baokyo 於 11-1-29 09:26 PM 編輯
CJ大我照你說的做可是結果一樣耶 可否幫我看看阿 ?求救><
前面150 Bars 一樣空了 回復 10# baokyo
你講廢話嗎 {:4_86:}
if (i<per) 你把它設 empty 當然前面就沒東西啊
容我問一句
你客戶是再打算賣指標嗎? 本帖最後由 baokyo 於 11-1-29 10:31 PM 編輯
但是不可能不設 if( i<per)我下面在做的事情是存取data 總不可能存取 小於0的陣列吧@@|||
為什麼做這樣的事情,因為指標都是要計算幾天前的資料,我這邊只是簡化掉,去作一些基本測試........
我是從一般的程式設計師轉做這東西,可能問了笨問題,請各位大大見諒。 本帖最後由 nikej 於 11-1-30 12:18 AM 編輯
知道不可能
就接受前面為空的事實
15MA前面會有14個空k道理一樣
EMA 是因為演算原理所致不會有空k 本帖最後由 nikej 於 11-1-30 12:30 AM 編輯
雞婆一下
客戶若是打算賣指標
良心勸勸他不要誤人了
特地花錢找人寫鎖讓人免費用機會蠻小的 但是他前面真的有資料阿= ="
總不能遇到問題~~就閃過裝不知道~~
難道真的沒有人有用Ami Plugin 去寫指標嗎?
我想 他這樣做可能也是為了保護他自己的想法吧@@"
每個人都碼有不想說的東西,尤其是在這個市場上面...不是嗎?
頁:
[1]
2