COCO研究院

 找回密碼
 註冊
搜索
查看: 2023|回復: 7

請問關於Amiborker Array ?!

[複製鏈接]
發表於 14-2-21 15:57 | 顯示全部樓層 |閱讀模式
請教大家

如下的AFL
MA5 = MA(C, 5);
_TRACE("MA5 = " + MA5);
for(MA5 > 1.2)
{

}

在"MA5 > 1.2" 這裡會報錯
但MA5 trace 的值是 1.5325

想問
1. MA(C, 5) 回值一個Array
為何在 _TRACE 時用MA5 能直接印出值,而不是寫成 MA5[0]

2.既然 MA5 有數值 那為何我在用 比較運算子
MA5 >1.2 會被指出語法上的錯誤

先感謝各位解答~~

發表於 14-2-21 16:45 | 顯示全部樓層
本帖最後由 saucer 於 14-2-21 16:46 編輯

你有看過 for( ) 裡面可以直接丟 array 嗎

MA5[0] : index 會不會從1 start ?

評分

參與人數 1金錢 +2 收起 理由
skyler + 2 按一個讚

查看全部評分

發表於 14-2-21 17:26 | 顯示全部樓層
1. MA(C, 5) 回值一個Array
為何在 _TRACE 時用MA5 能直接印出值,而不是寫成 MA5[0]

閣下看到的值, 相信是chart裡selectedbar 的值, 如果你select另一條bar, 相信會馬上回傳另一個值的 (其實我也剛剛才學懂用_trace)

評分

參與人數 1金錢 +2 收起 理由
skyler + 2 按一個讚

查看全部評分

 樓主| 發表於 14-2-21 22:27 | 顯示全部樓層
本帖最後由 skyler 於 14-2-21 22:42 編輯
saucer 發表於 14-2-21 16:45
你有看過 for( ) 裡面可以直接丟 array 嗎

MA5[0] : index 會不會從1 start ?

sorry
打錯
是 if(MA5 > 1.2){}

MA5 是Array
裡面的結構是怎樣?!


發表於 14-2-21 22:42 | 顯示全部樓層
本帖最後由 hipper68 於 14-2-21 22:44 編輯

建議可以先看看user guide裡的這篇 :
http://www.amibroker.com/guide/h_understandafl.html

我不確定你要的是什麼
不過你可以試試以下寫法:

for ( i = 1; i < BarCount; i ++ )
{
     if(MA5[ i ] > 1.2)
     {
        // 你想要的
      }

}

評分

參與人數 1金錢 +2 收起 理由
skyler + 2 感謝分享

查看全部評分

 樓主| 發表於 14-2-21 23:16 | 顯示全部樓層
hipper68 發表於 14-2-21 22:42
建議可以先看看user guide裡的這篇 :
http://www.amibroker.com/guide/h_understandafl.html

感謝大大這幾行的 code
小弟我如當頭棒喝
原來自己誤會了用法

寫慣JAVA跟NET
熊熊接觸陣列式的語法
一時轉不過來

再次感謝大大的分享

發表於 14-2-22 10:42 | 顯示全部樓層
本帖最後由 Sirius 於 14-2-22 10:47 編輯
skyler 發表於 14-2-21 23:16
感謝大大這幾行的 code
小弟我如當頭棒喝
原來自己誤會了用法

一些使用AFL的心得供大大參考

評分

參與人數 1金錢 +2 收起 理由
skyler + 2 太強了

查看全部評分

發表於 14-3-10 16:28 | 顯示全部樓層
本帖最後由 altubers 於 14-3-10 16:32 編輯

我想你要的是目前k bar的值,而不是陣列…
SelectedValue(MA5)  > 1.2   returen true/false
ma5 > 1.2  return array..

評分

參與人數 1金錢 +2 收起 理由
skyler + 2 感謝分享

查看全部評分

您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則

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

GMT+8, 24-11-23 09:21

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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