COCO研究院

 找回密碼
 註冊
搜索
查看: 5181|回復: 4

[教學] AmiBroker AFL 自學筆記-2

[複製鏈接]
發表於 15-3-28 21:30 | 顯示全部樓層 |閱讀模式
本帖最後由 futures.maze 於 15-3-28 21:33 編輯

研究了很久,總算知道導致 LastVisibleValue()出現差一根K棒值的原因

  1. //        2015/03/28 AmiBroker AFL 自學筆記 by futures.maze

  2. //         Syntax        FirstVisibleValue( array)
  3. //         Returns        Number
  4. //        取得可見畫面內左邊第一根K棒值

  5. //         Syntax        LastVisibleValue( array)
  6. //         Returns        Number
  7. //        取得可見畫面範圍內右邊第一根K棒值


  8. //        注意:此處取得的K棒資料雖然數據無誤,但是BarCount取得的K棒數量值最多只有畫面範圍內K棒數量+30
  9. //                  同時BarIndex()取得的值,若K棒資料多過畫面可顯示範圍,則最多從左側畫面外30根K棒開始編列序號
  10. //        0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ..... 100 (總共有100根K棒)
  11. //        若畫面只顯示最後面20根K棒,即 81 82 83 ... 100,這個時候BarIndex()取得的數據會變成

  12. //         0  1  2 ..... 30 31 32 ...  49 (原本101根K棒會剩下50根K棒)
  13. //                                   ^^^^^^^^^^^^^^^^ (畫面顯示出來的20根K棒的序號)        
  14. //        51 52 53 ..... 81 82 83 ... 100 (原本K棒資料庫應是這樣的序號數據,51以前還有0 ~50但是實際上51 ~ 100被0 ~ 49取代而前面的不見了)
  15. //        這個時候BarCount跑出來的數據也是50,而不是實際有100根K棒的資料庫


  16. firstbi                =         FirstVisibleValue( BarIndex());
  17. first_high        =         FirstVisibleValue( High);
  18. lastbi                =         LastVisibleValue( BarIndex());
  19. last_high        =         LastVisibleValue( High);

  20. //  以下很重要 以下很重要 以下很重要
  21. //        beginbi        =        BeginValue(        BarIndex());
  22. //        endbi        =        EndValue(        BarIndex());
  23. //        ******註******
  24. //        當程式碼內有呼叫到BeginValue()或EndValue()任一個時,
  25. //  FirstVisibleValue( BarIndex())取得的BarIndex將會是完整K棒資料庫內真實的BarIndex
  26. //        LastVisibleValue( BarIndex())取得的BarIndex將會是完整k棒資料庫內真實的BarIndex,但卻是畫面最右邊K棒"+1根"的值
  27. //        同時此時若有使用BarCount,得到的K棒數量也是完整K棒資料庫的K棒數量。                   ^^^^^^^^^^^^^^^^^^^^^^^   

  28. printf( "FirstVisibleValue()作用\n可見畫面範圍內最左邊第一根K棒序號為 %g,最高價為 %g", firstbi, first_high); printf( "\n\n");
  29. printf( "LastVisibleValue()作用\n可見畫面範圍內最右邊第一根K棒序號為 %g,最高價為 %g", lastbi, last_high); printf( "\n\n");
複製代碼

排版怪怪的,貼到AFL Formula Editor敘述看起來就不會那麼吃力

評分

參與人數 3金錢 +5 收起 理由
fattcs + 2 按一個讚
期貨麥可 + 2 好文章,我推薦
manhavecoco + 1 按一個讚^^

查看全部評分

發表於 15-3-28 21:38 | 顯示全部樓層
祝福
發表於 15-3-28 23:23 | 顯示全部樓層
發表於 16-2-19 14:30 | 顯示全部樓層
恭喜~~~~~~~~~~~~繼續努力
發表於 16-2-21 20:18 | 顯示全部樓層
建議您..去請教一下技術支援..或許能得到更容易了解的答案..(看對方是否了解您問什麼)
您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則

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

GMT+8, 24-12-22 14:03

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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