2010年3月30日 星期二

淨土

無分別、沒取捨的當下就是淨土,
那來的善惡是非。

心無三受,就無三界。
欲界、色界、無色界,苦、樂、不苦不樂。

最大的涵養,就是最大的成就。
                               ---慧濬法師

2010年3月29日 星期一

平等映現

本不思議了了見; 
分別無窮無分別。
     ---謝家孟

2010年3月19日 星期五

無 bug 的 this bar

variables : mkp(0)

If mkp = 0 then 
 if XXXX > low then 
  sell this bar at XXXX or higher 
  sell this bar at XXXX or lower 
 else if YYYY < high then
    buy this bar at YYYY or higher
    buy this bar at YYYY or lower
 end if
end if


If mkp = 1 then
 if XXXX > low then 
  sell this bar at XXXX or higher 
  sell this bar at XXXX or lower 
 end if 
end if 

If mkp = -1 then
 if YYYY < high then
  buy this bar at YYYY or higher
  buy this bar at YYYY or lower
 end if
end if
mkp = marketposition

2010年3月17日 星期三

DMI

http://www.wretch.cc/blog/umidnight/2976746

目前由指標來分辨多空已非難事

分析行情最難搞定者, 只有趨勢與盤整的分界
能夠知道趨勢盤, 或盤整盤,就不難操作, 因為各有不同運用工具, 績效絕對可以提升
但是金融領域不好找到區分的適當工具
DMI 是第一個被推崇的指標, 其中的ADX把兩者之間分隔的清清楚楚
DMI出自 Wilder手中, 這位大師發表過 RSI, DMI, SAR(Parabolic), 浴缸理論,都是操作股市的經典之作
DMI 的東西分為兩部份(四條線, 但是嚴格說三條比較重要)
三條趨勢線:ADX趨勢平均線 & ,DI+,DI-
DM +=abs(H-PH)
DM - =abs(L-PL)
TR=max(H,L,PC)-MIN(H,L,PC)
DI +=DM+/TR*100
DI - =DM- /TR*100
ADX=abs(DI+一DI-) / (DI++DI-)
ADR=ADX+14日前ADX / 2……此條線較沒名氣

研判:
多空分界 (藍綠之分)---藍為空頭,綠為多頭
1.+DI向上穿過-DI為買進訊號;ADX向上穿過ADR為買進訊號
2.+DI向下穿過-DI為賣出訊號;ADX向下穿過ADR為賣出訊號,趨勢與盤整分界 ADX (紅色線)---不管行情上漲或下跌, ADX都會上揚,回跌表示轉折
3.+DI>-DI時,ADX上升則看好後市;角度愈大,上升力愈大,ADX下降代表上升已近尾聲
4.-DI>+DI時,ADX下降則應逢低酌進

DMI的彼此誤解較少的原因是因為參數幾乎都用14
以週K為例+DI<-DI此為空頭市場
ADX不到30(有人認為是25此為爭辯之處)暫時看為盤整
超過30 (25)即為行情激烈之處通常代表急漲或急跌

ADX

上升動能:今天最高價與昨天最高價之差
下跌動能:今天最低價與昨天最低價之差

真實波幅:今天價位真實變動區間
+DI:14天真實波幅之和/14天上升動能之和
-DI:14天真實波幅之和/14天下跌動能之和
ADX:ABS(+D減-DI)/(+D加-DI)



+DI由下往上穿過-DI,市場處於多頭
ADX值高於前一個值,表示趨勢持續,ADX由高點沒滑落,表示趨勢告一段落
ADX同時低於兩條DI或讀數低於20~25,表示市場沒有明顯的趨勢。

1.ADX指數是反映趨向變動的程度,而不是方向的本身。
2.進場與出場是採用+DI14與-DI14的穿越信號。
3.當極端點交易法則生效時,法則2將有例外。當DI發生穿越信號時,取當天的極端點做為止損點;換言之,多頭頭寸取當天的低價為止損點,空頭頭寸取當天的高價。在隨後的幾之內,如果止損點未被觸及,即使DI再發生穿越信號也不需理會。
4.當ADX的位置高於兩條DI而方向發生改變,這是趨勢反轉的早期信號,可以做部份的獲利了結。最後的平倉信號是來自於DI穿越或極端點的止損被引發。
當ADX改變方向時,如果+DI14高於-DI14,這代表趨勢的變動是由上亦下,反之亦然。
5.如果ADX高於兩條DI,而且讀數明顯偏高,這代表既有的趨勢已經持續一段時間。這並不是建立新頭寸的理想時機。
 換言之,ADX的讀數偏高,相當於是超買/超賣,順勢的新交易頭寸通常很難獲利。
6.如果ADX同時低於兩條DI或讀數低於20~25,避免採用順勢交易的系統,因為市場中沒有明顯的趨勢。

5分鐘bar,寫前天,昨天、今天的高低點程式碼

Array: OoD[84](-1), HoD[84](-1), LoD[84](-1), CoD[84](-1)

Value11 = OpenOfD ( 1, OoD)
Value21 = HighOfD ( 1, HoD)
Value31 = LowOfD ( 1, LoD)
Value41 = CloseOfD( 1, CoD)
改 1, 2, 3, 4 就是前 1 日, 前 2 日......
 
http://www.nisan.us/modules/newbb/viewtopic.php?topic_id=10769&post_id=78654#forumpost78654

絕對點數停損

http://www.nisan.us/modules/newbb/viewtopic.php?topic_id=5414&forum=15

Parameter: 停損(50);

Vars: El(0),Es(0);
if BarsSinceEntry(0) > 0 and CurrentContracts <= -1 then  
 Es = EntryPrice(0) + 停損
end if
if BarsSinceEntry(0) > 0 and CurrentContracts >= 1 then
 El = EntryPrice(0) - 停損
end if
IF BarsSinceEntry(0) > 0 AND LOW < El THEN
 IF OPEN < El THEN
  EXITLONG thsi bar AT OPEN OR HIGHER
  EXITLONG thsi bar AT OPEN OR LOWER
 ELSE
  EXITLONG thsi bar AT El OR HIGHER
  EXITLONG thsi bar AT ElOR LOWER
 END IF
END IF
IF BarsSinceEntry(0) > 0 AND HIGH > Es THEN
 IF OPEN > Es THEN
  EXITSHORT thsi bar AT OPEN OR HIGHER
  EXITSHORT thsi bar AT OPEN OR LOWER
 ELSE
  EXITSHORT thsi bar AT Es OR HIGHER
  EXITSHORT thsi bar AT Es OR LOWER
 END IF
END IF

KCA: 此停損方式用到 "this bar" ,對新初學者此方式暗藏危機,所以請對此程式碼邏輯有所了解者再予使用,否則將有可能發生嚴重損失!

量與方向

http://www.nisan.us/modules/newbb/viewtopic.php?topic_id=5405&forum=15

通常大量出現的區域有可能是當日的高點或是低點或是價格攻擊起始點,所以以量為基礎而做的價格突破,有可能是某方向的趨勢的開始,俱有相當的參考性質。
HTS version:

//日線上使用10
//5分線上使用180
//15分線上使用 21
Parameter:LT(21) ;
VARS:I(0),高(0),低(0);
VALUE1 = HIGHEST(VOLUME,LT)
FOR I=0 TO LT
 IF V[I]=VALUE1 THEN
  低 = L[I]
  高 = H[I]
 END IF
END FOR
DRAW1(低[1],"大量低")
DRAW2(高[1],"大量高")
+++++++++++++++++++
TS version:

inputs:LT(21) ;
VARS:I(0),HH(0),LL(0);
VALUE1 = HIGHEST(VOLUME,LT);
FOR I=0 TO LT begin
 IF V[I]=VALUE1 THEN begin
  LL = L[I];
  HH = H[I];
 END;
END;
plot1(LL[1],"L");
plot2(HH[1],"H");

限制當日虧損

vars: dayLoss(50);

vars: mc(0), entryCount(1);
if date <> date[1] then begin
 dayLoss = 50;
 entryCount = 1;
end if
mc = marketposition * currentcontracts;
if mc[1] = 1 and mc = 0 then dayLoss = dayLoss + exitprice(0) - entryprice(0)
if mc[1] = -1 and mc = 0 then dayLoss = dayLoss + entryprice(0) - exitprice(0)
if mc[1] = -1 and mc = 1 then dayLoss = dayLoss + entryprice(1) - entryprice(0)
if mc[1] = 1 and mc = -1 then dayLoss = dayLoss + entryprice(0) - entryprice(1)

if dayLoss <= 0 then entryCount = 0;
if marketposition > 0 then exitlong next bar at entryprice(0) - dayLoss stop;
if marketposition < 0 then exitshort next bar at entryprice(0) + dayLoss stop;
 
大概如上…利用進場的價位和出場的價位把目前可以損失的點數 (dayLoss) 計算出來。也就是說如果第一筆單是獲利 20 點的話…那 dayLoss 就會變成 70 點。也就是接下來的單子可以虧損 70 點。

可以看到我在 dayLoss <= 0 的時候把一個變數 entryFlag 設定為 0,這個變數是需要加在進場的時候順便檢查是否為 1 的,才可以達到 dayLoss <= 0 的時候不再進場。

++++++++++++++++++++++++++++++
vars: count(0);

vars: mc(0), gp(0);

mc = marketposition * currentcontracts;
gp = netprofit;
if date <> date[1] then count = 0;
if count = 0 and time > 900.00 and time < 1300.00 then begin
 if (marketposition = 0 or close < entryprice(0)) and average(close, 10) cross over average(close, 20) then begin
  buy ("b1") next bar at market;
 end;
 if (marketposition = 0 or close > entryprice(0)) and average(close, 10) cross under average(close, 20) then begin
  sell ("s1") next bar at market;
 end;
end;
if marketposition < 0 and average(close, 10) cross over average(close, 20) then begin
 exitshort ("exs1") next bar at market;
 count = 1;
end;

if marketposition > 0 and average(close, 10) cross under average(close, 20) then begin
 exitlong ("exb1") next bar at market;
 count = 1;
end;

if time = 1330.00 and marketposition <> 0 then begin
 exitlong next bar at market;
 exitshort next bar at market;
end;

if mc <> mc[1] and gp < gp[1] then count = 1;
setstoploss(8000);

二個變數…一個為 mc 一個為 gp
這兩個變數分別儲存了倉位的改變和 netprofit 的改變…透過這樣的方式來檢查
上一次的進出場是否為獲利…如果為虧損的話…就直接把進場的 count 限制掉…就可以達到限制進場次數了。

2010年3月15日 星期一

買賣指令

指令   TS8                 TS 2000i


多單進場 Buy     Buy
多單出場 Sell     ExitLong
空單進場 SellShort   Sell
空單出場 BuyToCover ExitShort

不同周期

Input: Length(14),Length2(14);

Variables:A1(0),B1(0);
value1 = RSI(Close, Length) ; ////////5K
value2 = RSI(Close of data2, Length2) ; /////////15K
value3 = RSI(Close, Length2) of data2 ; /////////15K
print(date, time, Close, Close of data2, value1 , value2, value3);

2010年3月3日 星期三

好玩

因為人的邏輯是存在著不可避免的缺陷性,所以我們會常常看到許多公眾事務在少數掌權者身上決定後所產生的好玩又好笑的事例。

例如:
健保;因為政策不當造成資金不足,為了不讓它停擺,便耍弄各種把戲來拖延壽命。到目前都還未看到治本的作為!難道叫有錢人多繳一些保費,真可以讓健保存活無恙?況且;對於那些多繳保費的人,日後需要用到醫療資源時,可以有更好的配置?要不;是不是只要是政策,百姓只得認命的份兒,那...何異於獨裁!

現在,消保法的無限上綱讓產業經營進入了動則得疚的地步。電訊業原來是預收款然後使用後再結算、第四台也是先收款再提供服務。現在有人撐腰了,當然大家樂得使用後再付費的機制。

那我也想類比的問一下:保險的保費我可以用到理賠時再交嗎?

學費可以學期末了再交嗎?

(使用者付費,用到才付款,都應該這樣嗎 ?)

2010年3月1日 星期一

如果……

我們或許聽過;籠雞有食湯鍋近,野鶴無糧天地寬。
但偏偏有人喜愛豢養寵物,甚至自覺能給予許多天然環境所沒有的關愛,但可曾想過;
我們的愛,牠可能消受?

如果;我們的一生,背後也有某種力量在干預。當你知道這就是真相時,人生會不會有所不同?

有那種力量嗎?