請問自訂MC指標cmf如何寫?Thanks!
小弟參考plot1($disparity, "disparity");
另外弄一個cmf
////////////////////////////
eleader-fucntion
////////////////////////////
def cmf(period) :
adsum = accum(((c - l) - (h - c)) / (h - l) * v , period)
return adsum / accum(v, period)
*********************
inputs:period(21);
vars: $cmf(0);
adsum = accum(((close - low) - (high - close)) / (high - low) * volume , period);
$cmf = adsum / accum(volume, period);
plot1($cmf, "cmf");
//////////////////////////
可是編譯失敗
請問大大
adsum / accum
在mc-easylanguage內應該怎麼處理
感謝您!!
Adsum是變數,accum可以用summation替換,建議您先了解自訂指標要計算的內容,另外先看一本基礎語法指令才能學習的更有效率 easytrader788 發表於 16-5-22 20:05
Adsum是變數,accum可以用summation替換,建議您先了解自訂指標要計算的內容,另外先看一本基礎語法指令才 ...
感謝您!!
請問哪裡可查詢
類似accum可以用summation替換
的替換表
基礎語法指令的書名是...
感激不盡!
{:5_260:}
http://wiki.mbalib.com/zh-tw/%E4%BD%B3%E5%BA%86%E8%B5%84%E9%87%91%E6%B5%81%E9%87%8F%E6%8C%87%E6%A0%87不同的程式平台,沒有對應的比較,我從經驗中判斷的 CMF 又稱佳慶資金流量指標 ,從公式上來判斷對應的語法 easytrader788 發表於 16-5-22 22:22
http://wiki.mbalib.com/zh-tw/%E4%BD%B3%E5%BA%86%E8%B5%84%E9%87%91%E6%B5%81%E9%87%8F%E6%8C%87%E6%A0%8 ...
萬分感謝您!!
inputs:period(21);
vars: $cmf(0),$adsum(0);
$adsum = summation(((close - low) - (high - close)) / (high - low) * volume , period);
$cmf = $adsum / summation(volume, period);
plot1($cmf, "cmf");
是可以編譯成功
但是執行之後
浮點運算操作不正確
****************
另外大大您的部落格
就是愛現~程式交易
很早以前就加入最愛
總是很想挖一些寶藏
只是小弟數學沒唸通
看到計算符號就頭大
本帖最後由 pcking2008 於 16-5-23 17:05 編輯
$adsum = summation(((close - low) - (high - close)) / (high - low) * volume , period);
// high-low =0 會錯誤, 分母不能=0
$cmf = $adsum / summation(volume, period);
// summation=0 也會有錯誤, 正常 volume 不會=0, 但還是要看資料會不會有錯
可以加個條件看看
if high<>low and summation(volume, period)<>0 then
begin
$adsum=....
.....
plot1(....
end;
pcking2008 發表於 16-5-23 17:04
$adsum = summation(((close - low) - (high - close)) / (high - low) * volume , period);
// high-low ...
可以編譯
但是沒有值出現
可以編譯
但是沒有值出現
If (high-low) <> 0 then $adsum = ...; if summation( volume,period) <> 0 then $cmf = ... ; easytrader788 發表於 16-5-23 19:38
If (high-low)0 then $adsum = ...; if summation( volume,period)0 then $cmf = ... ;
可以編譯
但是沒有值出現
感謝您!
inputs:period(21);
vars: $cmf(0),$adsum(0);
if (high-low)<>0 then
$adsum = summation(((close - low) - (high - close)) / (high - low) * volume , period);
if summation(volume, period)<>0 then
$cmf = $adsum / summation(volume, period);
plot1($cmf, "cmf");
我開台指五分K可以啊
本帖最後由 f29825604 於 16-5-23 21:00 編輯
pcking2008 發表於 16-5-23 20:49
inputs:period(21);
vars: $cmf(0),$adsum(0);
感謝您!
怎麼會這樣呢?
在下MC版本的問題MultiCharts Version 9.1 Release (Build 12586)
再重新安裝看看
{:4_93:}
本帖最後由 pcking2008 於 16-5-23 21:07 編輯
不是指標名稱 cmf 與 10分K 的問題, 我剛試過都正常
您的是英文版我的是中文版(9.0 build 11581)
不過應該也沒差.....
{:4_93:}
PS
可以用 print 先抓看看指標看到的各種值 H L .. 是什麼
如果 if 都沒成立就會 plot 0 了
本帖最後由 f29825604 於 16-5-27 21:21 編輯
pcking2008 發表於 16-5-23 21:04
不是指標名稱 cmf 與 10分K 的問題, 我剛試過都正常
您的是英文版我的是中文版(9.0 build 11581)
不過應該 ...
pcking2008大大
如果您有閒暇時間
麻煩幫忙測試一下
在下重新安裝中文MC9.0後
兩台筆電都是躺下一直線
自訂MC指標volumeocs
inputs:shortperiod(14),longperiod(56);
vars: $volumeosc(0);
if AverageFC( volume,shortperiod) <> 0 then
$volumeosc = ((Average(volume,shortperiod)-Average(volume,longperiod)) /Average(volume,shortperiod))* 100;
plot1($volumeosc, "volumeosc");
在您的電腦有沒有出現曲線
感謝您!!
感激不盡
{:5_260:}
f29825604 發表於 16-5-27 21:19
pcking2008大大
如果您有閒暇時間
麻煩幫忙測試一下
有波動耶
我建議您別急著重裝程式/灌系統
先 print/plot C H L O Volume等等 藍色關鍵字的值, 什麼函數都先不要呼叫
有的話再一步步將函數恢復, 將等式拆開一個個看有沒有正常
這應該是很簡單的問題, 什麼讓結果 = 0, 不會 code , 因為我這邊可以用沒問題
如果 plot 或數據有問題, 您連 plot1(C) 也會= 0, 這樣重灌程式就太冤枉了
debug 大概就是這樣子, 先不要相信任何東西, 一個個元素攤開來看, 再組回去
這個要您多費點時間賺經驗了
頁:
[1]
2