Chủ Nhật, 21 tháng 7, 2013

Review VSA ngày 19-07-2013

Tình hình là mạng chập chờn nên bây giờ e mới viết bài được:
- VNINDEX:
Thị trường tuần trước đi tốt hơn so với kịch bản side way trong vùng 490-500. Tuy nhiên tuần tới theo quan điểm VSA của mình, VNINDEX sẽ đối mặt với kháng cự 409-410, và được hỗ trợ tại vùng 500 hoặc nếu xấu  hơn là 494.
Vẫn giữ quan điểm uptrend từ ngày 12-07, TT có khả năng sẽ vượt lên vùng 533. và việc tích lũy cũng như test lại mốc hỗ trợ vùng 494 sẽ tốt hơn.

- HNXINDEX
HNXINDEX vẫn chưa bước vào uptrend thực sự, TT vẫn đang tích lũy và khả năng vượt kháng cự 63.5 là cao với điều kiện vol trên 26-27 triệu CP.
Và kháng cự tiếp theo sẽ là vùng 66, cũng như hỗ trợ mới sẽ là ngưỡng 63 và 62.





Thứ Tư, 17 tháng 7, 2013

Review VSA 17/7/2013

Some note VSA 2013-07-15

Note:
- MSN need retest area 86-86.5 with vol < 230K.
- BMC wait next 2 days: retest
- HSG need sideway around 41.5-42 or retest 40.
- DRC wait next day: test with low vol <1M
- HPG: need test area 28.5-29
- DIG: wait a test with Vol<300k

=> MSN đã test thành công ngày 16-07
     BMC hôm nay 17-07 đã test thành công, khả năng mai tăng là khá cao
     HSG hôm nay 17-07 cũng là 1 bar test thành công  + hôm nay là phiên no supply, Sign of Strength
     DRC cũng đã test thành công hôm nay.
     HPG cũng đã test thành công + hôm nay là phiên Test for supply. Phiên mai tăng sẽ confirm.

Quan tâm BMC, HPG, PET, FCN, CTG, CII, PVC (đều đã test thành công)

Thứ Hai, 15 tháng 7, 2013

Some note VSA 2013-07-15






Note:
- MSN need retest area 86-86.5 with vol < 230K.
- BMC wait next 2 days: retest
- HSG need sideway around 41.5-42 or retest 40.
- DRC wait next day: test with low vol <1M
- HPG: need test area 28.5-29
- DIG: wait a test with Vol<300k


Thứ Năm, 11 tháng 7, 2013

Review VSA ngày 11-07-2013




VNINDEX sideway:480-490
BVH: stopping volume, need test. Target 46-48
SSI: Price up strong but without voulme, need test 17.3-17.5 again.

Thứ Hai, 8 tháng 7, 2013

VSA ngày 8-7-2013

Hỗ trợ: 480, 473
Kháng cự: 490
Phiên giảm điểm khá nhưng khối lượng không tăng => tín hiệu tốt
Bar: no supply, cần thêm giao dịch phiên nay để confirm.
Background: ???

Chủ Nhật, 7 tháng 7, 2013

Review VSA 05- 07- 2013




Chú ý ASP(đợi backtest) và HLA (break 6.6, 6.7), ASM (chờ thêm tín hiệu confirm cũng như break vùng 6.8)

Thứ Bảy, 6 tháng 7, 2013

Better Volume Indicator from ThinkScript to AmiBroker

Code này mới được mình translate nguyên thủy từ ThinkScript sang amibroker.
Nguồn: (http://www.hotstockmarket.com/t/193355/thinkscript-better-volume-indicator)

Code amibroker cũ:

SetChartBkColor(16 ) ;
_SECTION_BEGIN("EMA");
P = Volume;
Periods = Param("PeriodsEMA", 9, 2, 300, 1, 10 );
Plot( EMA( P, Periods ), _DEFAULT_NAME(), colorRed, styleLine | styleThick );
_SECTION_END();
Period = Param("Period", 10, 2, 300, 1, 10 );;
LowColor = colorYellow;
ClimaxColor = colorRed;
ChurnColor = colorGreen;
ClimaxChurnColor=colorBlue;
LowChurnColor= colorWhite;
Value1 = V;
Value2 = V*(H-L);
Value3 = V/(H-L);
BarColor = IIf( (Value1 == LLV(Value1,Period)), LowColor,
IIf( (Value2 == HHV(Value2,Period)), ClimaxColor,
IIf( (Value3 == HHV(Value3,Period)), ChurnColor,
IIf( ((Value2 == HHV(Value2,Period) AND (Value3 == HHV(Value3,Period)))), ClimaxChurnColor,
IIf( (Value3 == LLV(Value3,Period)), LowChurnColor, colorBlueGrey)))));
_SECTION_BEGIN("Volume");
Plot( Volume, _DEFAULT_NAME(), BarColor, ParamStyle( "Style", styleHistogram | styleThick, maskHistogram ), 2 );
_SECTION_END();

 Code amibroker theo ThinkScript:


lookback = 8;

Use2Bars = "Yes";
LowVol = "Yes";
ClimaxUp = "Yes";
ClimaxDown = "Yes";
Churn = "Yes";
ClimaxChurn = "Yes";

LowVolColor = 8;
ClimaxUpColor = 9;
ClimaxDownColor = 1;
ChurnColor = 5;
ClimaxChurnColor = 0;
DefaultBarColor = 7;
AvgColor = 0;

Range = High-Low;
Value1 = IIf (Close >= Open,Volume * ((Range) / ((2+(Range*Range)/10) * Range + (Open - Close))),
Volume * (((Range + Close - Open)) / (2+(Range*Range)/10) * Range + (Close - Open)));
Value2 = Volume - Value1;

Value3 = Value1 + Value2;
Value4 = Value1 * Range;
Value5 = (Value1 - Value2) * Range;
Value6 = Value2 * Range;
Value7 = (Value2 - Value1) * Range;
Value8 = IIf (Range != 0, Value1 / Range, 1);
Value9 = IIf (Range != 0, (Value1 - Value2) / Range, 1);
Value10 = IIf (Range != 0, Value2 / Range, 1);
Value11 = IIf (Range != 0, (Value2 - Value1) / Range, 1);
Value12 = IIf (Range != 0, Value3 / Range, 1);
Value13 = IIf (Use2Bars=="Yes", Value3 + Ref(Value3,-1),1);
Value14 = IIf (Use2Bars=="Yes", (Value1 + Ref(Value1,-1))*(HHV(High,2)-LLV(Low,2)),1);
Value15 = IIf (Use2Bars=="Yes", (Value1 + Ref(Value1,-1)-Value2-Ref(Value2,-1))*(HHV(High,2)-LLV(Low,2)),1);
Value16 = IIf (Use2Bars=="Yes", (Value2 + Ref(Value2,-1))*(HHV(High,2)-LLV(Low,2)),1);
Value17 = IIf (Use2Bars=="Yes", (Value2 + Ref(Value2,-1)-Value1-Ref(Value1,-1))*(HHV(High,2)-LLV(Low,2)),1);
Value18 = IIf ((Use2Bars=="Yes" AND (HHV(High,2)!=LLV(Low,2))),(Value1+Ref(Value1,-1))/(HHV(High,2)-LLV(Low,2)),1);
Value19 = IIf ((Use2Bars=="Yes" AND (HHV(High,2)!=LLV(Low,2))),(Value1+Ref(Value1,-1)-Value2-Ref(Value2,-1))/(HHV(High,2)-LLV(Low,2)),1);
Value20 = IIf ((Use2Bars=="Yes" AND (HHV(High,2)!=LLV(Low,2))),(Value2+Ref(Value2,-1))/(HHV(High,2)-LLV(Low,2)),1);
Value21 = IIf ((Use2Bars=="Yes" AND (HHV(High,2)!=LLV(Low,2))),(Value2+Ref(Value2,-1)-Value1-Ref(Value1,-1))/(HHV(High,2)-LLV(Low,2)),1);
Value22 = IIf ((Use2Bars=="Yes" AND (HHV(High,2)!=LLV(Low,2))),Value13/(HHV(High,2)-LLV(Low,2)),1);


Condition1 = IIf(Value3 == LLV(Value3, Lookback), 1, 0);
Condition2 = IIf((Value4 == HHV(Value4, Lookback) AND Close > Open), 1, 0);
Condition3 = IIf((Value5 == HHV(Value5, Lookback) AND Close > Open), 1, 0);
Condition4 = IIf((Value6 == HHV(Value6, Lookback) AND Close < Open), 1, 0);
Condition5 = IIf((Value7 == HHV(Value7, Lookback) AND Close < Open), 1, 0);
Condition6 = IIf((Value8 == LLV(Value8, Lookback) AND Close < Open), 1, 0);
Condition7 = IIf((Value9 == LLV(Value9, Lookback) AND Close < Open), 1, 0);
Condition8 = IIf((Value10 == LLV(Value10, Lookback) AND Close > Open), 1, 0);
Condition9 = IIf((Value11 == LLV(Value11, Lookback) AND Close > Open), 1, 0);
Condition10 = IIf(Value12 == HHV(Value12, lookback), 1, 0);
Condition11 = IIf (Use2Bars=="Yes" AND (Value13==LLV(Value13,Lookback) AND Close > Open AND Ref(Close,-1) > Ref(Open,-1)),1,0);
Condition12 = IIf (Use2Bars=="Yes" AND (Value14==HHV(Value14,Lookback) AND Close > Open AND Ref(Close,-1) > Ref(Open,-1)),1,0);
Condition13 = IIf (Use2Bars=="Yes" AND (Value15==HHV(Value15,Lookback) AND Close > Open AND Ref(Close,-1) < Ref(Open,-1)),1,0);
Condition14 = IIf (Use2Bars=="Yes" AND (Value16==LLV(Value16,Lookback) AND Close < Open AND Ref(Close,-1) < Ref(Open,-1)),1,0);
Condition15 = IIf (Use2Bars=="Yes" AND (Value17==LLV(Value17,Lookback) AND Close < Open AND Ref(Close,-1) < Ref(Open,-1)),1,0);
Condition16 = IIf (Use2Bars=="Yes" AND (Value18==LLV(Value18,Lookback) AND Close < Open AND Ref(Close,-1) < Ref(Open,-1)),1,0);
Condition17 = IIf (Use2Bars=="Yes" AND (Value19==LLV(Value19,Lookback) AND Close > Open AND Ref(Close,-1) < Ref(Open,-1)),1,0);
Condition18 = IIf (Use2Bars=="Yes" AND (Value20==LLV(Value20,Lookback) AND Close > Open AND Ref(Close,-1) > Ref(Open,-1)),1,0);
Condition19 = IIf (Use2Bars=="Yes" AND (Value21==LLV(Value21,Lookback) AND Close > Open AND Ref(Close,-1) > Ref(Open,-1)),1,0);
Condition20 = IIf (Use2Bars=="Yes" AND (Value22==LLV(Value22,Lookback)), 1,0);

Color=

IIf (ClimaxChurn== "Yes" AND (Condition10 OR Condition20) AND (Condition2 OR Condition3 OR Condition4 OR Condition5 OR Condition6 OR Condition7 OR Condition8 OR Condition9), colorViolet,
IIf (LowVol== "Yes" AND (Condition1 OR Condition11) , colorYellow,
IIf (ClimaxUp== "Yes" AND (Condition2 OR Condition3 OR Condition8 OR Condition9 OR Condition12 OR Condition13 OR Condition18 OR Condition19) , colorBlue,
IIf (ClimaxDown== "Yes" AND (Condition4 OR condition5 OR Condition6 OR Condition7 OR Condition14 OR Condition15 OR Condition16 OR Condition17) ,colorWhite,
IIf (Churn== "Yes" AND Condition10 OR Condition20,colorRed,colorGrey50 )))));

Plot(Volume, "Vol",Color,styleHistogram );
Plot(MA(Volume, lookback), "VolAvg",colorWhite, styleLine);

Hình ảnh:



Chú ý, nguyên tắc:
# Yellow - Low Volume for the size of the bar - Amateurs at work
# White - Climax down
# Blue -Climax up
# Red - Churn - Pros buying at lows OR unloading at highs
# Violet- Climax Churn - Pros taking profits at highs OR lows
# Gray - Normal (default) Bar

Viết lại code VSA trên amibroker

Code này dựa trên code VSA cũ của sir Karthik Marar, ngoài ra bổ sung thêm các thanh bar dựa vào trang http://www.hotstockmarket.com/t/193359/thinkscript-vsa-indicator, được dịch lại từ code VPA của NinjaTrader.
Các thay đổi:
1. thay đổi lại cách định nghĩa giá đóng cửa tại vùng High, mid, low... theo công thức C-L/range:
Kết quả thuộc vùng 0,2: very low, đến 0,45: low, đến 0.55 mid, đến 0.8: high, đến 1 là very high.
2. Thêm 1 số thanh bar (dựa vào thinkscritp-vsa)

- Two Period UpThrust Bar
- Three Period UpThrust Bar

- HutcondFail: tức là pseudo upthrustbar failed (Less Bearish on Failed UpThrust Confirmation).

Trong phần Strength in downtrend:

- bycond2: UpClose on higher volume with all slopes down adds extra strength
- bycondFail: Failed strength in downtrend signal force a follow-up bar that closes below mid-point of confirmaton bar

- ReverseUpthrust

- No buying pressure:
- No selling pressure:

- stopVolBarHighs: stopping volume at highs - the opposite of stopping volume. sign of weakness

Trong phần test for supply:
- lvtbar22: successful SupplyTestBar 2: finds Mid and UpCloseBars
- lvtbar3: Confirm failed after test supply
- lvtbar33:  Confirm failed after test




- lvtbarFail: Test failed because high vol


Kết quả Test:




1 vài đoạn code:

TwoPerUpT = Ref(upbar,-1) AND Ref(wrb,-1) AND dnbar AND NOT utbar AND abs(Ref(C,-1)-C) < GdojiFactor*Ref(rg,-1); //Two Period UpThrust Bar

ThreePerUpT = Ref(upbar,-2) AND Ref(wrb,-1)  AND dnbar AND NOT utbar AND abs(Ref(C,-2)-C) < GdojiFactor*Ref(rg,-2);

lvtbarFail= Vh AND V>Vp1 AND L<Ref(L,-1) AND H<Ref(H,-1) AND ucls; // Test failed



Thứ Hai, 1 tháng 7, 2013

Note 1-7-2013

Áp lực bán đang giảm dần đối với cả 2 sàn.
Khả năng phiên hôm nay hoặc ngày mai sẽ xuất hiện điểm mua, NDT mạo hiểm có thể vào dần.
Quan sát: TCM, DMC, PTC