Saya coba tampilkan satu AFL lengkap seperti di bawah:
stcb = Cross(StochK(15,3),20) AND StochK(15,3) > StochD(15,3,3);
stcs = Cross(80,StochK(15,3)) AND StochK(15,3) < StochD(15,3,3);
MACDb = Cross(MACD(12,26),Signal(12,26,9));
MACDs = Cross(Signal(12,26,9),MACD(12,26));
RSIb = Cross(RSI(14),30);
RSIs = Cross(70,RSI(14));
Buy = stcb OR MACDb OR RSIb;
Sell = stcs OR MACDs OR RSIs;
Filter = Buy OR Sell;
AddTextColumn(WriteIf(Filter == Buy, "buy", "sell"), "trade", 1.2, IIf(Filter == Buy, colorGreen, colorRed));
AddTextColumn(WriteIf(Filter == Buy,
WriteIf(stcb, "stoch buy", "-"),
WriteIf(stcs, "stoch sell", "-")
),"signal1",1.2, IIf(Filter == Buy, colorGreen, colorRed));
AddTextColumn(WriteIf(Filter == Buy,
WriteIf(MACDb, "macd buy", "-"),
WriteIf(MACDs, "macd sell", "-")
),"signal2",1.2, IIf(Filter == Buy, colorGreen, colorRed));
AddTextColumn(WriteIf(Filter == Buy,
WriteIf(RSIb, "rsi buy", "-"),
WriteIf(RSIs, "rsi sell", "-")
),"signal3",1.2, IIf(Filter == Buy, colorGreen, colorRed));
Kita anggap saja saya akan buat kelompok stochastic, MACD dan RSI. Tapi hasil eksplorernya kok jadi kayak pada gambar di bawah ini ya?
beberapa baris sinyal memang sudah seperti yang diharapkan, tapi yang aneh ada beberapa baris yang isi kolomnya ketiga-tiganya adalah "----" tapi ada sinyal buy atau sell. salah di mana ya?
Mas Eko, apakah tidak ada cara untuk mempersingkat penulisan writeif(writeif(writeif... tersebut? karena dalam setiap kelompok nantinya saya akan ada beberapa buy atau sell. untuk sementara contohnya misalnya stochastic dengan rentang 7,3,3; 15,3,3; 29,3,3; MACD, 7,12,9; 12,26,9, 19,29,9; RSI 5, 14, 20. Tapi karena nantinya saya akan membuat jauh lebih banyak kombinasi, saya butuh mempersingkat penulisan kode tersebut.
Terima kasih.
2012/2/10 Eco Syariah <esyariah@gmail.com>
Contoh AFL Explorer ini mengikuti sebagian rules mas Andy.
EMA5 = EMA(C,5);
EMA21 = EMA(C,21);
EMA55 = EMA(C, 55);
EMA200 = EMA(C, 200);
Buy1 = Cross(EMA5, EMA21);
Buy2 = Cross(EMA21, EMA55);
Buy3 = Cross(EMA55, EMA200);
Sell1 = Cross(EMA21, EMA5);
Sell2 = Cross(EMA55, EMA21);
Sell3 = Cross(EMA200, EMA55);
Buy = Buy1 OR Buy2 OR Buy3;
Sell = Sell1 OR Sell2 OR Sell3;
BStext = WriteIf(Buy1, "Long1", WriteIf(Buy2, "Long2", WriteIf(Buy3, "Long3",
WriteIf(Sell1, "Short1", WriteIf(Sell2, "Short2", WriteIf(Sell3, "Short3", ""))))));
BSCol = IIf(Buy, colorGreen, IIf(Sell, colorRed, 0));AddColumn(Close, "Close", 1.0);
Filter = Buy OR Sell;
AddColumn(Buy OR Sell, "Trade", 1.0, colorDefault, BSCol);
AddTextColumn(BSText, "Sinyal", 1.0, BScol);
Ini hasilnya:
Monggo dioprek lagi.
Regards,
ESOn Fri, Feb 10, 2012 at 2:48 PM, Eco Syariah <esyariah@gmail.com> wrote:
Mas Andy,
Setahu saya... satu saham satu baris dan 'HARUS' dengan tanggal yg sama... kolomnya yang bisa banyak.
Misal: Saham A 09 Feb 2012 Buy Long1 --- LongA
Sepintas Explorer yg diinginkan itu bisa dibuat... susahnya karena contoh AFL nya mas Andy ndak lengkap.
Regards,
ESOn Fri, Feb 10, 2012 at 10:53 AM, Andy Lesmana <al3lka@gmail.com> wrote:
Rekan-rekan milis semua, saya mau nanya tentang AFL sbb:
saya punya beberapa kondisi untuk memunculkan sinyal buy atau sell, katakanlah sinyal-sinyal tersebut bernama "long1", "long2", "long3", "long4", "short1", "short2", "short3", dan "short4".
Nah pada AFL saya tuliskan kode sbb:
Buy = long1 OR long2 OR long3 OR long4;
Sell = short1 OR short2 OR short3 Or short4;
Filter = Buy OR Sell;
AddTextColumn(WriteIf(Filter == Buy, "Buy", "Sell"),"Signal");
AddTextColumn(WriteIf(Filter == Buy,
WriteIf(long1,"long1",
WriteIf(long2,"long2",
WriteIf(long3,"long3","long4"))),
WriteIf(short1,"short1",
WriteIf(short2,"short2",
WriteIf(short3,"short3","short4")))),
"Signal",1.2,IIf(Filter == Buy,colorGreen,colorRed),colorDefault,120);
Pertanyaannya adalah:
1. Apakah ada cara yang lebih mudah/ sederhana untuk menuliskan kode writeif pada addtextcolumn yang kedua?
2. Misalnya saya punya tiga kelompok kondisi untuk mengaktifkan sinyal buy atau sell, katakanlah sbb:
kelompok 1: Buy = long1 OR long2 OR long3 dan Sell = short1 OR short2 OR short3
kelompok 2: Buy = longa OR longb OR longc dan Sell = shorta OR shortb OR shortc
kelompok 2: buy = longA OR longB OR longB dan Sell = shortA OR shortB OR shortC
Nah, saya ingin menghasilkan kolom-kolom eksplorasi seperti di bawah ini:
Seperti yang terlihat pada gambar, bila salah satu kondisi saja yang dipenuhi misalnya buy = long1, maka hanya ada keterangan pada kolom untuk kelompok 1 (sinyal1). Tapi ada kondisi di mana ada sinyal dibelikan oleh dua atau lebih kelompok sinyal yang berbeda seperti pada baris 8 dan 9 pada gambar di atas.
Pertanyaannya adalah: bagaimana menuliskan kode AFL sehingga bisa menghasilkan tabel seperti di atas?
3. Masih terkait dengan no.2 di atas, bila pada saat yang sama terjadi sinyal yang berlawanan misal kelompok 1 memberikan sinyal buy sementara kelompok 3 memberikan sinyal sell pada saham yang sama di tanggal yang sama, maka apakah akan ada dua baris pada hasil eksplorasi yang menyatakan kondisi buy dan sell tersebut, atau AFL akan mengalami error? bila akan terjadi error, bagaimana cara mengatasinya?
terima kasih sebelumnya
Andy
__._,_.___
Apabila membutuhkan software AmiBroker, Realtime Intraday Data & Pelatihan silahkan kontak : Dendo Valentino | Cell : 08159304868 | e-mail: amibrokerfreak{at}yahoo.co.id | YM id : dendov | http://www.facebook.com/dendo.amibrokerfreak | http://www.amibroker-4-bei.org
![]()
Your email settings: Individual Email|Traditional
Change settings via the Web (Yahoo! ID required)
Change settings via email: Switch delivery to Daily Digest | Switch to Fully Featured
Visit Your Group | Yahoo! Groups Terms of Use | Unsubscribe
__,_._,___
No comments:
Post a Comment