Chủ đề: Tuyệt Chiêu AmiBroker
Hybrid View
-
19-01-2011 08:59 AM #1
Senior Member- Ngày tham gia
- Aug 2010
- Bài viết
- 648
- Được cám ơn 325 lần trong 218 bài gởi
Tuyệt Chiêu AmiBroker
Amibroker có nhiều chức năng hay lắm. Mình tìm được bản portable cho nó nè. Bạn nào cần liên hệ mình nhé
-
11-02-2011 08:05 AM #2
Gold Member- Ngày tham gia
- Oct 2009
- Bài viết
- 1,925
- Được cám ơn 617 lần trong 428 bài gởi
Giới thiệu với các bác công thức của RMO Trade Mode trong AmiBroker nè:
//////
_SECTION_BEGIN("RMO");
SwingTrd1 = 100 * (Close - ((MA(C,2)+
MA(MA(C,2),2)+
MA(MA(MA(C,2),2),2) +
MA(MA(MA(MA(C,2),2),2),2) +
MA(MA(MA(MA(MA(C,2),2),2),2),2) +
MA(MA(MA(MA(MA(MA(C,2),2),2),2),2),2) +
MA(MA(MA(MA(MA(MA(MA(C,2),2),2),2),2),2),2)+
MA(MA(MA(MA(MA(MA(MA(MA(C,2),2),2),2),2),2),2),2)+
MA(MA(MA(MA(MA(MA(MA(MA(MA(C,2),2),2),2),2),2),2), 2),2)+
MA(MA(MA(MA(MA(MA(MA(MA(MA(MA(C,2),2),2),2),2),2), 2),2),2),2))/10))/(HHV(C,10)-LLV(C,10));
SwingTrd2=EMA(SwingTrd1,30);
SwingTrd3=EMA(SwingTrd2,30);
RMO= EMA(SwingTrd1,81);
Buy=Cross(SwingTrd2,SwingTrd3);
Sell=Cross(SwingTrd3,SwingTrd2);
Bull_Trend=EMA(SwingTrd1,81)>0;
Bear_Trend=EMA(SwingTrd1,81)<0;
Ribbon_kol=IIf(Bull_Trend,colorGreen, IIf(Bear_Trend,colorRed, colorBlack));
Plot(4, "ribbon", Ribbon_kol, styleOwnScale|styleArea|styleNoLabel, -0.5,100);
Impulse_UP= EMA(SwingTrd1,30) > 0;
Impulse_Down= EMA(SwingTrd1,81) < 0;
bar_kol=IIf(impulse_UP, colorBlue, IIf(impulse_Down, colorRed,IIf(Bull_Trend, colorRed, colorBlue)));
Plot(Close,"Close",bar_kol,styleBar | styleThick );
shape = Buy * shapeUpArrow + Sell * shapeDownArrow;
PlotShapes( shape, IIf( Buy, colorBlue, colorRed ),0, IIf( Buy, Low, High ) );
_SECTION_END();
/////
-
Có 4 thành viên đã cám ơn tigeran :
hoahongden23 (07-03-2011), makekill (12-09-2013), quannh (14-09-2013), tronghoangfi (04-10-2012)
-
14-02-2011 07:58 AM #3
Gold Member- Ngày tham gia
- Oct 2009
- Bài viết
- 1,925
- Được cám ơn 617 lần trong 428 bài gởi
Sau đây là code của PatternExplorer:
//|------------------------------------------------------------------
//|SECTION 21 - default buy, sell, short and cover rules. They are added to the PatternExplorer signals.
//|------------------------------------------------------------------
def_Buy = 1;
def_Sell = 1;
def_Short = 1;
def_Cover = 1;
//|------------------------------------------------------------------
//|------------------------------------------------------------------
//|SECTION 22 - Use Param from Chart
//|------------------------------------------------------------------
// NOT all parameters are possible. Currently only sensitivity is possible.
def_UseFromChart = 1;
//|------------------------------------------------------------------
//-------------------------------------------------------------------------------------------------------------------------------------
//SECTION 23 - Add custom code before PatternExplorer code.
//-------------------------------------------------------------------------------------------------------------------------------------
//The following code allows you to add any custom code to any tool. Just use the Formula names as displayed in the workspace.
procedure AddCustomCodeBeforePE()
**
if(FormulaName == "PE - SI Relative Strength")
**
def_Filter = 1;//Filter set to 1 because common filter conditions are mostly not useful in the composite indicators. }
}
else
if(FormulaName == "PE - SI Trend")
**
def_Filter = 1;//Filter set to 1 because common filter conditions are mostly not useful in the composite indicators.
}
else
if(FormulaName == "PE - Candlesticks")
**
// AddColumn(MA(C, 5) > MA(C, 20), "MA(C, 5) > MA(C, 20)", 1.0);// Example to add a column before all the PatternExplorer columns, only in the Candlestick tool.
// Plot(PeTaio(), "PeTaio", colorBlue, 1+styleOwnScale, -100, 100);//Example to overlay the TAIO indicator over the Price Chart in the Candlestick tool.
}
else
**
// do anything
}
}
//-------------------------------------------------------------------------------------------------------------------------------------
// -------------------------------------------------------------------------------------------------------------------------------------
// SECTION 24 - Add custom code after PatternExplorer code.
// -------------------------------------------------------------------------------------------------------------------------------------
procedure AddCustomCodeAfterPE()
**
if(FormulaName == "PE - Alert 1 - Price")
**
// AddColumn(H == HHV(H, 20), "H == HHV(H, 20)", 1.0);// Example to add a column after PatternExplorer columns in PE - Alert 1 - Price.
}
// AddColumn(RSI() < 30, "RSI() < 30");// Example to add a column after PatternExplorer columns in all tools.
}
//-------------------------------------------------------------------------------------------------------------------------------------
//V3 - End of settings - Caution: Never change or remove this line !
-
Những thành viên sau đã cám ơn :
tronghoangfi (04-10-2012)
-
14-02-2011 07:59 AM #4
Gold Member- Ngày tham gia
- Oct 2009
- Bài viết
- 1,925
- Được cám ơn 617 lần trong 428 bài gởi
Còn đây là đoạn code thứ 2 nè các bạn:
//-------------------------------------------------------------------------------------------------------------------------------------
//SECTION 23 - Add custom code before PatternExplorer code.
//-------------------------------------------------------------------------------------------------------------------------------------
//The following code allows you to add any custom code to any tool. Just use the Formula names as displayed in the workspace.
procedure AddCustomCodeBeforePE()
**
if(FormulaName == "PE - SI Relative Strength")
**
def_Filter = 1;//Filter set to 1 because common filter conditions are mostly not useful in the composite indicators. }
}
else
if(FormulaName == "PE - SI Trend")
**
def_Filter = 1;//Filter set to 1 because common filter conditions are mostly not useful in the composite indicators.
}
else
if(FormulaName == "PE - Candlesticks")
**
// AddColumn(MA(C, 5) > MA(C, 20), "MA(C, 5) > MA(C, 20)", 1.0);// Example to add a column before all the PatternExplorer columns, only in the Candlestick tool.
// Plot(PeTaio(), "PeTaio", colorBlue, 1+styleOwnScale, -100, 100);//Example to overlay the TAIO indicator over the Price Chart in the Candlestick tool.
}
else
**
// do anything
}
}
//-------------------------------------------------------------------------------------------------------------------------------------
// -------------------------------------------------------------------------------------------------------------------------------------
// SECTION 24 - Add custom code after PatternExplorer code.
// -------------------------------------------------------------------------------------------------------------------------------------
procedure AddCustomCodeAfterPE()
**
if(FormulaName == "PE - Alert 1 - Price")
**
// AddColumn(H == HHV(H, 20), "H == HHV(H, 20)", 1.0);// Example to add a column after PatternExplorer columns in PE - Alert 1 - Price.
}
// AddColumn(RSI() < 30, "RSI() < 30");// Example to add a column after PatternExplorer columns in all tools.
}
//-------------------------------------------------------------------------------------------------------------------------------------
//V3 - End of settings - Caution: Never change or remove this line !
-
Những thành viên sau đã cám ơn :
tronghoangfi (04-10-2012)
-
16-02-2011 10:14 AM #5
Gold Member- Ngày tham gia
- Oct 2009
- Bài viết
- 1,925
- Được cám ơn 617 lần trong 428 bài gởi
Mọi người lưu bý điểm khác biệt cơ bản giữa Explore và Indicator nhé:
- Explore đóng vai trò như bộ lọc đầu vào. Sau khi lọc xong chúng ta vẫn phải tét lại bằng các công cụ PTKT khác
- Indicator là công cụ PT cụ thể nhưng cũng có thể được tích hợp và Explore để tăng tính hiệu quả và giảm bớt công sức tét
-
17-02-2011 08:35 AM #6
Gold Member- Ngày tham gia
- Oct 2009
- Bài viết
- 1,925
- Được cám ơn 617 lần trong 428 bài gởi
Mình mới tìm được một hệ thống trade tương đối lạ này. Các bác thử nhé:
Chaloke Simple Trailing Stop
///// Chaloke Simple Trailing Stop /////
Prd1=Param("ATR Period 1-20",4,1,20,1);//{Default = 4 Because most traders use 5}
Prd2=Param("LookBack Period 1-20",11,1,20,1);//{Default = 11 Because most traders use 10}
//{Green} {Start Long position when Close>Green}
Green=HHV(LLV(L,Prd1)+ATR(Prd1),Prd2);
//{Red} {Stop loss when Close<Red}
RED=LLV(HHV(H,Prd1)-ATR(Prd1),Prd2);
Color=IIf(C>Green ,colorBrightGreen,IIf(C < RED,colorRed,colorBlue));
Plot(Green,"Green",colorBrightGreen,styleLine);
Plot(RED,"Red",colorRed,styleLine);
Plot(C,"Chaloke Simple Trailing Stop System",Color,64);
Plot(LLV(HHV(H,5)-ATR(5),6),"",colorBlack);
Plot(LLV(HHV(H,5)-ATR(5),5),"",colorBlack);
Plot(LLV(HHV(H,5)-ATR(5),4),"",colorBlack);
Plot(LLV(HHV(H,5)-ATR(5),3),"",colorBlack);
-
Những thành viên sau đã cám ơn :
tronghoangfi (02-10-2012)
-
03-06-2011 07:41 AM #7
Member- Ngày tham gia
- Oct 2003
- Bài viết
- 365
- Được cám ơn 215 lần trong 148 bài gởi
Phân tích kỹ thuật - Chỉ báo AmiBroker
Cái chỉ báo phân tích kỹ thuật này thuộc nhóm trend và momentum đấy
/// Chaloke Reaction Trend System ///
XX=(H+L+C)/3;
BB=2*XX-H;
SS=2*XX-L;
HBOP=2*XX-2*L+H;
LBOP=2*XX-2*H+L;
color=IIf(BarsSince(Cross(H,Ref(HBOP,-1)))>
BarsSince(Cross(Ref(LBOP,-1),L)),colorRed , colorBrightGreen);
Plot(C,"",Color,64);
Plot(XX,"",colorYellow);
Plot(BB,"",colorLime);
Plot(SS,"",colorPink);
Plot(HBOP,"",colorGreen);
Plot(LBOP,"",colorDarkRed);
Title=Name()+" "+Date()+" "+EncodeColor(colorSkyblue)+" Chaloke RTS System "+EncodeColor(colorYellow)+" Vol="+NumToStr(Volume,1.0)+" "+" O="+Open+" H="+HHV(H,1)+" L="+LLV(L,1)+"
Close="+ Close+""+"("+numtostr((Close-ref(C,-1))/ref(c,-1)*100,1.2)+" %)";
-
Những thành viên sau đã cám ơn :
tronghoangfi (02-10-2012)
-
27-05-2011 09:08 AM #8
Gold Member- Ngày tham gia
- Oct 2009
- Bài viết
- 1,925
- Được cám ơn 617 lần trong 428 bài gởi
Bác lấy đâu ra cái chỉ báo phân tích kỹ thuật kinh thế. Nhìn muốn loạn chưởng luôn.
Cho cái hướng dẫn đầu tư chứng khoán theo nó cái bác ơi
-
02-10-2012 01:47 PM #9
Senior Member- Ngày tham gia
- Aug 2010
- Bài viết
- 648
- Được cám ơn 325 lần trong 218 bài gởi
Những series bài hay về phần mềm PTKT phân tích kỹ thuật AmiBroker
Bác copy mấy cái code ấy ra dạng TXT (dạng Notepad ấy) rồi cho vào chỗ chứa Template của ổ C:\Program Files\AmiBroker thử vì một số máy làm vụ này thấy hiệu quả đấy
Với lại bác cũng lưu ý vì mình thấy một số cái nó là bộ lọc chứ không phải là chỉ báo nhé
-
Có 3 thành viên đã cám ơn tradingpro8x :
1nightdream (13-08-2013), tigeran (19-08-2013), tronghoangfi (04-10-2012)
-
13-05-2011 07:54 AM #10
Senior Member- Ngày tham gia
- Aug 2010
- Bài viết
- 648
- Được cám ơn 325 lần trong 218 bài gởi
Cái chỉ báo phân tích kỹ thuật này khá hay đấy. Các bác dùng thử nhé
/* ABKP Benchmark Bar
the Benchmark Bar Up must exceed the High of the prior two bars AND
close above the high of the prior two bars. And, naturally
Fast 2 must be blue to confirm the momentum strength of the
POWER BAR.
the Benchmark Bar Down must exceed the low of the prior two bars AND
close below the low of the prior two bars. And, naturally
Fast 2 must be red to confirm the momentum strength of the
POWER BAR.
Note: not mentioned in the PDF is the requirement that there
be a change in color in for the Power Bar. For an up Power Bar then
you can have Red|Yellow, Red|Blue, or Yellow|Blue. For the down
Power Bar you can have Blue|Yellow, Blue|Red, or Yellow Red.
*/
parmPowerBarUpColor = ParamColor("Power Bar Up color", colorAqua);
parmPowerBarDnColor = ParamColor("Power Bar Dn color", colorPink);
parmFast2Confirm = ParamToggle("Fast2 confirm", "No|Yes", 0);
parmA900Confirm = ParamToggle("A900 confirm", "No|Yes", 1);
parmPRange = ParamToggle("Confirm % Range", "No|Yes", 0);
parmRibbon = ParamToggle("Plot as ribbon", "No|Yes" , 0);
parmRibbonSize = Param("Ribbon size", 1, 0.5, 10, 0.5);
parmThreshold = Param("SC Threshold", 5, -5, 5, 1);
parmVoice = ParamToggle("Voice", "No|Yes", 0);
parmPlotTargets = ParamToggle("Plot targets", "No|Yes", 0);
parmDebug = ParamToggle("Debug", "No|Yes", 0);
SetBarsRequired(350, -1);
// constants
_N(APaneName = Name() + Interval(2) + _SECTION_NAME());
_N(ANewBarName = "NewBar" + APaneName);
//functions
function ANewBar()
**
PrevDT = StaticVarGet( ANewBarName);
DT = LastValue(DateTime());
StaticVarSet( ANewBarName,DT);
return DT != PrevDT;
}
function MRound2(Number, Multiple )
**
if(Multiple == 0 )
**
xMultiple = 0.01; }
else
**
xMultiple = Multiple;
}
Divided = Number / xMultiple;
intDivided = int(Divided);
intDivided = intDivided + round(Divided - intDivided);
return intDivided * xMultiple;
}
ObjAB = CreateObject("Broker.Application");
ticker = objAB.Stocks(Name() );
// KP indicators
Ctmpl = E_TSKPCOLORTMPL(Open,High,Low,Close,Volume);
total = 0;
total = total + IIf(tskp_colortmplcnd0 > 0, 1, -1);
total = total + IIf(tskp_colortmplcnd1 > 0, 1, -1);
total = total + IIf(tskp_colortmplcnd2 > 0, 1, -1);
total = total + IIf(tskp_colortmplcnd3 > 0, 1, -1);
total = total + IIf(tskp_colortmplcnd4 > 0, 1, -1);
total = total + IIf(tskp_colortmplcnd5 > 0, 1, -1);
total = total + IIf(tskp_colortmplcnd6 > 0, 1, -1);
total = total + IIf(tskp_colortmplcnd7 > 0, 1, -1);
KPScoreCard = total + IIf(tskp_colortmplcnd8 > 0, 1, -1);
dummy = E_TSKPFAST2(Open,High,Low,Close,Volume);
// calculations
Range = H -L;
RangePercent = (C - L) / Range;
PriorHHScoreCard = Ref(HHV(KPScoreCard, 1), -1);
PriorLLScoreCard = Ref(LLV(KPScoreCard, 1), -1);
ChangeInBarColor = ((KPScoreCard >= parmThreshold AND PriorHHScoreCard < parmThreshold) OR (KPScoreCard >= -(parmThreshold-1) AND PriorHHScoreCard <= -parmThreshold))
OR ((KPScoreCard <= -parmThreshold AND PriorHHScoreCard > -parmThreshold) OR (KPScoreCard <= (parmThreshold-1) AND PriorHHScoreCard >= parmThreshold));
PriorHHV = Ref(HHV(H, 2) , -1); //highest high of the 2 prior bars
PriorLLV = Ref(LLV(L, 2) , -1); //lowest low of the 2 prior bars
if(parmDebug == 1)
**
printf("PHHScoreCard: %g% \nPLLScoreCard: %g%\nChgInBar: %g%\nKPScoreCard: %g%\n", PriorHHScoreCard, PriorLLScoreCard, ChangeInBarColor, KPScoreCard);
}
if(parmFast2Confirm == 0)
**
BBarUp = H > PriorHHV AND C > PriorHHV AND ChangeInBarColor;
BBarDn = L < PriorLLV AND C < PriorLLV AND ChangeInBarColor;
}
else //confirm with Fast2
**
KPFast21 = tskp_Fast2val1;
KPFast22 = tskp_Fast2val2;
if(parmDebug == 1)
**
printf("KPFast21: %g%\nKPFast22: %g%\n", KPFast21, KPFast22);
}
BBarUp = H > PriorHHV AND C > PriorHHV AND ChangeInBarColor AND KPFast21 == 1;
BBarDn = L < PriorLLV AND C < PriorLLV AND ChangeInBarColor AND KPFast22 == -1;
}
if(parmA900Confirm == 1);
{a 5 period simple moving average
KPA900 = E_TSKPA900(Close);
BBarUp = BBarUp AND C > KPA900;
BBarDn = BBarDn AND C < KPA900;
}
if(parmPRange == 1)
**
BBarUp = BBarUp AND RangePercent >= 0.7;
BBarDn = BBarDn AND rangePercent <= 0.4;
}
//paint the pane
if(parmDebug == 1)
**
printf("BBarUp: %g%\nBBarDn: %g%\n", BBarUp, BBarDn);
}
if(parmRibbon == 0)
**
PlotShapes(IIf(BBarUp , shapeHollowStar, shapeNone), parmPowerBarUpColor, 0, L, -8);
PlotShapes(IIf(BBarDn , shapeHollowStar, shapeNone), parmPowerBarDnColor, 0, H, 8);
}
else Plot( IIf(BBarUp OR BBarDn, parmRibbonSize, 0), "" , IIf(BBarUp, parmPowerBarUpColor, IIf(BBarDn, parmPowerBarDnColor, Null)) , styleArea | styleNoLabel | styleOwnScale , 0, 10);
//voice
ANewBarSignal = ANewBar();
if(parmVoice == 1)
**
if(ANewBarSignal)
**
if(LastValue(Ref(BBarUp, -1)) ) Say(Interval(2) + " Benchmark bar: up. Stop at " + NumToStr(Ref(L, -1) - ticker.TickSize, 1.2) + ".");
if(LastValue(Ref(BBarDn, -1)) ) Say(Interval(2) + " Benchmark bar: down. Stop at " + NumToStr(Ref(H, -1) + ticker.TickSize, 1.2) + ".");
}
}
//plot targets
if(parmPlotTargets == 1)
**
RangeAvg = MRound2(Ref(MA(H-L, 5), -1) , ticker.ticksize ) ;
BBarUpSince = BarsSince(BBarUp);
BBarDnSince = BarsSince(BBarDn);
PT = IIf( BBarUpSince <= BBarDnSince, Ref(O, - BBarUpSince + 1 ) + Ref(RangeAvg, -BBarUpSince -1), Ref(O, - BBarDnSince + 1) - Ref(RangeAvg, -BBarDnSince -1) );
Stop = IIf( BBarUpSince <= BBarDnSince, Ref(L, - BBarUpSince) - ticker.TickSize, Ref(H, - BBarDnSince) + ticker.TickSize);
Plot(Stop, "Stop", colorRed, styleLine | styleStaircase);
Plot(PT, "Target", colorGreen, styleLine | styleStaircase);
}
-
Những thành viên sau đã cám ơn :
tronghoangfi (04-10-2012)
-
02-10-2012 12:54 PM #11
-
31-03-2015 09:43 AM #12
Gold Member- Ngày tham gia
- Oct 2009
- Bài viết
- 1,925
- Được cám ơn 617 lần trong 428 bài gởi
Phân tích kỹ thuật AmiBroker
AmiBroker ngày càng phổ biến do giao diện đẹp và cho phép coding thoải mái
-
02-10-2012 01:05 PM #13
-
17-07-2014 03:09 PM #14
Senior Member- Ngày tham gia
- Aug 2010
- Bài viết
- 648
- Được cám ơn 325 lần trong 218 bài gởi
Phân tích kỹ thuật PTKT - Kinh nghiệm phân tích và chiến lược đầu tư chứng khoán
Lập trình không quan trọng cao siêu, mình nghĩ quan trọng nhất vẫn là ý tưởng phân tích kỹ thuật độc đáo
-
03-11-2012 06:13 PM #15
- Ngày tham gia
- Nov 2012
- Bài viết
- 1
- Được cám ơn 0 lần trong 0 bài gởi
-
11-04-2015 08:59 AM #16
- Ngày tham gia
- Apr 2015
- Bài viết
- 11
- Được cám ơn 1 lần trong 1 bài gởi
tuyệt chiêu này là cái j vậy
-
17-04-2015 06:19 PM #17
- Ngày tham gia
- Apr 2015
- Bài viết
- 11
- Được cám ơn 1 lần trong 1 bài gởi
nhiều chức năng hay
-
02-03-2016 05:45 PM #18
- Ngày tham gia
- Jan 2016
- Bài viết
- 1
- Được cám ơn 0 lần trong 0 bài gởi
Ai giúp mình tạo code vẽ 2 đường Roc 5 và 9 với. Thanks nhiều nhiều!
-
03-03-2016 08:25 AM #19
Gold Member- Ngày tham gia
- Oct 2009
- Bài viết
- 1,925
- Được cám ơn 617 lần trong 428 bài gởi
Bạn tham khảo trong đây thử vì mình ít code trong AmiBroker
http://www.amibroker.com/guide/afl/roc.html
http://www.wisestocktrader.com/indic...c-price-changeTrade what you see, not what you think!!!
-
13-09-2017 09:14 AM #20
Thông tin của chủ đề
Users Browsing this Thread
Có 2 thành viên đang xem chủ đề này. (0 thành viên và 2 khách vãng lai)
Similar Threads
-
Tuyệt chiêu trong MetaStock
By tigeran in forum Phân tích kỹ thuật MetaStockTrả lời: 12Bài viết cuối: 03-03-2011, 08:53 AM -
Tóm tắt buổi tọa đàm chiều 14.11 tại 59C Nguyễn Đình Chiểu
By luxubu50 in forum Nhận định Thị trườngTrả lời: 0Bài viết cuối: 15-11-2009, 10:30 AM
Bookmarks