COCO研究院

 找回密碼
 註冊
搜索
查看: 12255|回復: 8

[範例程式碼] 威廉指標

[複製鏈接]
發表於 10-1-25 22:11 | 顯示全部樓層 |閱讀模式
分享AB的威廉指標寫法:

威廉的公式為威廉指標(Williams Overbought/Oversold Index) (WMS%R)
中文名稱為「威廉超買超賣指標」或「威廉指標」
n日威廉指標公式

                   Hn-C
WMS%R=100*------------
               Hn-Ln

C : 當日收盤價
Ln : n日內最低價
Hn : n日內最高價
R:真實波幅 (座標值反向從100->0)

威廉指標 : 本身兼有提示超買超賣和強弱預警的功能
威廉指標 應用擺動原理來研判股市是否處於超買或超賣的現象,及可以測量股市同期迴圈內的高點或低點,而提出有效的買賣訊號
短期的威廉指標可設為9日,中期為14日或20日




  1. /* Williams %R and 9 day Mov.avg.*/
  2. MaxGraph =10;
  3. R = ((HHV(H,14) - C) /(HHV (H,14) -LLV (L,14))) *-100;
  4. Graph0 = R;
  5. Graph1 =-30;
  6. Graph2 =-70;
  7. Graph3 =-90;
  8. Graph4 =-10;
  9. Graph5=MA(R , 9);
  10. Graph5Style = 1+4;
  11. Graph5Color =1;
  12. Graph0Style=1+4;
  13. Graph1Style =Graph2Style= 1;
  14. Graph3Style  =Graph4Style =2;
  15. Graph3Color = Graph4Color =5;
  16. Graph2Color = Graph1Color =12;
  17. /*x = BarsSince( Cross( r, MA( r, 9)));*/
  18. /*y = BarsSince( Cross( MA(r, 9), r));*/
  19. /*Graph8 = ( x == 0 OR y == 0 ) * 30;*/
  20. Title =Name() + " -Williams %R: " +" % R Line " +"("+ WriteVal ( Graph0,format=1.2)+")"+ "  Signal Line " + ""+"("+WriteVal(Graph5,format=1.2)+")" +" , "   + Date(  );
複製代碼



所以我們對照一下會得到,
上面的公式參數為14,然後它加一條9天威廉的平均值。
如下圖的黑線。

Graph1 Graph2 Graphs3 Graph4是水平的數值。(不過我看不懂它最後是怎麼畫上去的)
Title是指標那一格的最上方的標題,
如下圖的"TX-Williams %R: % R Line..."那一行。

Color和Style應該是內建的常數。代表的意義要再查一下。

williams.gif

有時間就學一點,我很快就會學會了吧。
發表於 10-1-25 22:41 | 顯示全部樓層
回復 1# 綠茶妹


    綠茶妹越來越厲害了!!![
發表於 10-1-25 22:51 | 顯示全部樓層
剛才看了一下手冊, Graph<數字> 就是畫圖的功能, 看起來是早期的版本使用的方法.
發表於 10-1-25 23:02 | 顯示全部樓層
和rsi(Relative Strength Indicator)相對強弱指標 有甚麼分別?
我對rsi的經驗是超賣完亦可以再超賣,超買完可以再超買
發表於 10-1-25 23:03 | 顯示全部樓層

  1. _SECTION_BEGIN("William's % R");
  2. SetChartOptions(0,0,chartGrid30|chartGrid70);
  3. function PercentR( periods )
  4. {
  5. return -100 * ( HHV( H, periods ) - C )/( HHV( H, periods ) - LLV( L, periods ) );
  6. }

  7. Plot( PercentR( Param("Periods", 14, 2, 100 ) ),_DEFAULT_NAME(),ParamColor("Color", ColorCycle ) );
  8. Plot( -30,_DEFAULT_NAME(),colorGreen );
  9. Plot( -70,_DEFAULT_NAME(),colorGreen );

  10. _SECTION_END();

  11. _SECTION_BEGIN("MA");
  12. P = ParamField("Price field",-1);
  13. Periods = Param("Periods", 9, 2, 200, 1, 10 );
  14. Plot( MA( P, Periods ), _DEFAULT_NAME(), ParamColor( "Color", colorCycle ), ParamStyle("Style") );
  15. _SECTION_END();
複製代碼
這樣也可以
 樓主| 發表於 10-1-25 23:03 | 顯示全部樓層
原來如此。
我剛才在查公式,想找些簡單的範例當練習。
這個公式的確是很久以前的網友分享的。
還是新版的user's guide比較清楚。
 樓主| 發表於 10-1-25 23:14 | 顯示全部樓層
回復 5# thirtycm


謝謝!如下圖。

威廉2.gif


請問,其中
  1. SetChartOptions(0,0,chartGrid30|chartGrid70);
複製代碼


我查了一下手冊,
  1. gridFlags − (for internal AmiBroker use − do not use it in your own coding as this
  2. parameter will be eventually removed) allowable values are: chartGridDiv100,
  3. chartGridPercent, chartGridDiv1000, chartGridMargins chartGridMiddle, chartGrid0,
  4. chartGrid30, chartGrid70, chartGrid10, chartGrid90,
  5. chartGrid50,chartGrid100,chartGrid20,chartGrid80,chartGrid1
複製代碼


這是格線的意思嗎?
可是   
  1. Plot( -30,_DEFAULT_NAME(),colorGreen );

  2. Plot( -70,_DEFAULT_NAME(),colorGreen );
複製代碼


這裡好像是畫上下2條綠色線的地方。
發表於 10-1-25 23:18 | 顯示全部樓層
setchartoption 是把圖形分成2部分上部是3/10, 下部是7/10。
以下是畫線!!
Plot( -30,_DEFAULT_NAME(),colorGreen );
Plot( -70,_DEFAULT_NAME(),colorGreen );
 樓主| 發表於 10-1-25 23:49 | 顯示全部樓層
回復 8# thirtycm


    謝謝。我剛才那一句mark掉,出來的圖差不多,只差在背景多了虛線。
您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則

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

GMT+8, 24-11-22 11:40

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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