2013年9月29日 星期日

金融商品交易 觀盤篇 – ShowME

EasyTrader - ArtNo 007
看了前幾篇文章內容,接下來要觀察的是作交易信號的模擬 , 我們可以使用 TS2000i 的ShowME指標,來作更明顯的進出點位的K棒標示 ! ShowME 的用法類似 Plot 畫線方式 , 不同點在於程式碼要存為 ShowME 格式 , 以及它只在符合條件的K棒上作圓點標示 , 步驟如下

1.開新檔案 →選擇 ShowME 格式




2.輸入檔名及說明


3. 貼上或編輯程式碼 , 驗證 Verify 後使用
4. 插入ShowME於作用中的圖表

我們略舉幾個箱型區間作比較 ,並加入新的語法應用 Cross over , Cross under ,Countif

---- Today High/Low (今日高低點) ----

Vars: HighBand(0), LowBand(0);
if DataCompression < 2 then Begin
    HighBand = HighD(0) ;
    LowBand = LowD(0) ;
end else Begin
   HighBand = High ;
   LowBand = Low ;
end;
if High > HighBand[1] then Plot1(High+3 , "TodayNewHigh",Yellow ) ;
if Low < LowBand[1] then Plot2(Low-3 , "TodayNewLow",White ) ;
宣告變數
DataCompression 保留字 – 小於2 為分線K (含 tick)時間架構 , 含2以上為日K線以上時間架構
If DataCompression …
End; 此段為自動判定是 分K 或是 日K以上 時間架構

今日高點 HighD(0) , 今日低點 LowD(0)
若是 日K 則今日高點 High , 今日低點 Low

設定 ShowME條件
今日新高 High > HighBand[1]
在 K棒高點 + 3的位置畫黃色圓點
今日新低 Low < LowBand[1]
在 K棒低點 - 3的位置畫白色圓點

畫線語法(數值,名稱,前景色,背景色,線條寬度)

Plot1(Value,”StrNmae”,Fgcolor,Bgcolor,Width)
最簡單用法 plot1(value) , 名稱主要是在作指標設定時辨識方便



高低圓點觀察當日是否連續創新高或創新低 , 連續的圓點亦可是短線趨勢強度的表示

---- YesterDay High/Low (昨日高低點) ----

Vars: HighBand(0),LowBand(0);
if DataCompression < 2 then Begin
    HighBand = HighD(1) ;
    LowBand = LowD(1) ;
end else Begin
    HighBand = High[1] ;
    LowBand = Low[1] ;
end;

if High Cross over HighBand then Plot1(High+3 , "Breakup",Yellow ) ;
if Low Cross under LowBand then Plot2(Low-3 , "fall down",White ) ;
 宣告變數
DataCompression 保留字 – 小於2 為分線K (含 tick)時間架構 , 含2以上為日K線以上時間架構

If DataCompression …
End; 此段為自動判定是 分K 或是 日K以上 時間架構

昨日高點 HighD(1) , 昨日低點 LowD(1)
若是 日K 則昨日高點 High[1] , 昨日低點 Low[1]

與上例不同的地方 , 這裡使用了兩個保留字
Cross over 往上交叉突破
Cross under往下交叉跌破
因為參考的是昨日高低點,為了避免整天都在高點之上(低點之下),所以使用交叉的條件來限制 ShowME出現次數


畫線語法(數值,名稱,前景色,背景色,線條寬度)
Plot1(Value,”StrNmae”,Fgcolor,Bgcolor,Width)

最簡單用法 plot1(value) , 名稱主要是在作指標設定時辨識方便



---- Weekly High/Low (週內高低點) ----

input:Len(10) ;
Vars: HighBand(0),LowBand(0);

HighBand = HighW(0) ;
LowBand = LowW(0) ;

if Countif(High Cross over HighBand[1] ,Len) > 1 and High Cross over HighBand[1] and High = Highest(High,Len)

then Plot1(High+3 , "WeeklyHigh" ,Yellow) ;

if Countif(Low Cross under LowBand[1] ,Len) > 1 and Low Cross under LowBand[1] and Low = Lowest(Low,Len)

then Plot2(Low-3 , "WeeklyLow",White ) ;
宣告參數
宣告變數

本週高點 Highw(0) , 本週低點 LowW(0)

Countif 語法 Countif(條件 , Bar根數)
在指定Bar根數內符合條件的次數
Countif(High Cross over HighBand[1] ,Len) > 1
10根 Bar 內發生最高價向上突破週高點一次以上


且 此K棒最高價向上突破週高點 且是 10根K棒最高價

畫線語法(數值,名稱,前景色,背景色,線條寬度)
Plot1(Value,”StrNmae”,Fgcolor,Bgcolor,Width)
最簡單用法 plot1(value) , 名稱主要是在作指標設定時辨識方便

此例介紹了回檔測試再上前高的方式 , 若是破前高則改為High > Highest(High,Len)[1]



---- FixTime High/Low 特定時間高低點 ----


input: FixTime(900) ; { Fix time }
Vars: HighBand(0),LowBand(0);

if time <= Fixtime then Begin
    HighBand = HighD(0) ;
    LowBand = LowD(0) ;
end;

if Close > HighBand[1] and Close[1] > HighBand[2] and Close[2] Cross over HighBand[3]
then Plot1(High+3 , "3TimeHigh" ,Yellow) ;

if Close < LowBand[1] and Close[1] < LowBand[2] and Close[2] Cross under LowBand[3]
then Plot2(Low-3 , "3TimeLow" ,White) ;
宣告參數 ( 可作最佳化設定 )
宣告變數

If time < Fixtime 本例為取 09:00 以前的今日高低點作圖

畫線語法(數值,名稱,前景色,背景色,線條寬度)
Plot1(Value,”StrNmae”,Fgcolor,Bgcolor,Width)

最簡單用法 plot1(value) , 名稱主要是在作指標設定時辨識方便

為了避免假突破或假跌破 , 突破/跌破高低點並站穩 3根K棒的寫法




讀者可依需求組合前面幾篇介紹的箱型指標 , 變身K棒 , 成交動能再加上ShowME 後更有助於判斷進出準則

沒有留言:

張貼留言