Kodu þu þekilde düzenledim T/A Hocam;
ShortMA := Mov(C,10,S);
LongMA := Mov(C,20,S);
BuySignal := Cross(ShortMA, LongMA);
SellSignal := Cross(LongMA, ShortMA);
BarsAfterBuy := BarsSince(BuySignal);
HighNext1 := If(BarsAfterBuy = 1, H, 0);
HighNext2 := If(BarsAfterBuy = 2, H, 0);
HighAfterBuy := If(HighNext1 > HighNext2, HighNext1, HighNext2);
BuyCount := Cum(BuySignal);
SecondLastBuy := If(BuyCount = LastValue(BuyCount) - 1, 1, 0);
TargetHigh := If(SecondLastBuy, HighAfterBuy, 0);
BuyMark := If(BuySignal, L * 0.98, 0);
SellMark := If(SellSignal, H * 1.02, 0);
ShortMA;
LongMA;
BuyMark;
SellMark;
HighAfterBuy;
TargetHigh;
Adýna da TA7 ismini verdim. 7. Denemede bulabilmiþim.
Þimdi bu sistemi kendi sistemlerime entegre edeceðim.
Yardýmýnýz için teþekkür ederim. Ýyi geceler…
![]()
“Baþarýsýzlýk yeniden ve daha zekice baþlayabilme fýrsatýndan baþka bir þey deðildir.” Henry Ford
"Yatýrým Tavsiyesi Deðildir!"... Eðitim ve Bilgi amaçlý paylaþýmlar yapýyorum.
Yeteri kadar düþmüþ sayýlabilir ama henüz düþebileceði yer mevcut... 5.63
Olursa güzel olur ama illâ olacak diye de zorlamamak gerekir...!!!
Dikkat edilmesi gereken; hareket baþlamadan alýnmamasý gerektiðidir. Alýp uzun süre elde bekletebilir...!!!
![]()
"Yatýrým Tavsiyesi Deðildir!"... Eðitim ve Bilgi amaçlý paylaþýmlar yapýyorum.
Hayýrlý Haftalar...
Saðlýk ve mutluluk dolu güzel bir hafta olmasýný diliyorum...
"Yatýrým Tavsiyesi Deðildir!"... Eðitim ve Bilgi amaçlý paylaþýmlar yapýyorum.
Þimdilik baþaramadým hocam rakamlarý deðiþtirip baþka kriterler istiyorum. Görsel olarak da sayýsal olarak da olmadý. Benim amacým görselden ziyade explorer çalýþtýrarak eleme yapmaktý olmadý. Daha çok geriye dönük sistem testi yapacaktým onun lazýmdý ama olsun çok büyük yardýmýnýz dokundu.
Keþke amibroker öðrenseydim o zaman sizden yardým alýrken büyük kolaylýk olurdu.
Her ne kadar formül dilimiz ayný olmasa da belki sizden bir fikir almak amacý ile ben yine yaramaz bir kardeþiniz olarak soracaðým hocam
Diyelim ki bir sinyal ile AL elde ediliyor. Ama o sinyalin belirli bir süre takibi ile bir kriter daha gerçekleþince AL sinyali güvenli hale geliyor. Son gerekleþen AL ktriterden önce en baþtaki AL sinyalinin varlýðýný nasýl test ederim ya da kodlarým?
Benim aklýma manuel olarak ilk AL sinyali verenleri listelemek oradan takibini yapmak geldi. Fakat o zaman da liste uzarsa diye kafama yatmadý. Ýllaki kod istemiyorum hocam bir akýl verseniz de ben çözmeye çalýþýrým.
Örnek vereyim daha anlaþýlýr olsun, kapanýþýn 21 EMAY'ý geçmesi 1. AL sinyali olsun bu þart devam ederken RSI'nýn da 70'i yukarý kesmesi 2. AL sinyali olsun. Benim sorum þu RSI 70'i bugün kesmiþse atýyorum 10 gün geriye dönük sinyallerde 1. AL sinyali var mýydý?
Not : Yazacaðým kodda bu geriye dönük 10 sayýsý yer alacak...
Son düzenleme : BJK Coccinella; 20-10-2025 saat: 20:03.
“Baþarýsýzlýk yeniden ve daha zekice baþlayabilme fýrsatýndan baþka bir þey deðildir.” Henry Ford
Zaman içerisinde gerçekten iþine yarayacaðýný düþünüyorsan kodu öyle ya da böyle bir þekilde çalýþtýracaðýndan eminim...
Ben CandleStick çalýþmasýný yaklaþýk 12-13 yýl sonra tamamladým ve hâlâ da eksikleri var. Zaman içerisinde tüm sorular cevap bulacaktýr...
Diðer soruya ise anlayabildiðim kadar cevap vermeye çalýþayým:
- Karar verilmesi gereken bir aþama var:
- "2.sinyal eðer 1.sinyal oluþtuktan sonra mý?" aranacak..?
- "2.sinyal oluþtuðunda, 1.sinyal var mýydý?" diye mi bakýlacak?
Sonuçta her ikisi de benzer þekilde ayný kapýya çýkacaktýr gibi görünüyor...
Kolay olan ise; 2. sinyal oluþtuðunda; geçmiþe dönüp 10 bar içerisinde 1. sinyalin varlýðýný kontrol etmektir...
Bunun için her biri için ayrý ayrý AL sinyalinin varlýðýný kontrol eden bir diziler oluþturman ve 2. AL sinyali geldiðinde 1. sinyalin 10 gün gerisinde "1" ( veya "True") var mý diye kontrol etmen gerekir...
Eðer anladýðým doðruysa çözüm yolu da bu þekilde olabilir. Yine de kodlayýp kontrol etmek gerekir...
AmiBroker ile çok zor olmaz ile MetaStock beni biraz zorluyor. Yine de bir deneme yaptým ve aþaðýdaki sonucu ve kodunu paylaþýyorum...
PHP Code:{=== Parametreler ===}
emaP := Input("EMA Period", 1, 300, 21);
rsiP := Input("RSI Period", 2, 100, 14);
rsiBuyLv := Input("RSI Buy Level (genelde 30-50)", 1, 99, 60);
lb := Input("Lookback Bars (yalnizca gecmis)", 1, 200, 10);
{=== Göstergeler ===}
ema21 := Mov(C, emaP, E);
rsi14 := RSI(rsiP);
{=== Sinyal #1: EMA21 kesiþimiyle AL ===}
Sig1EMABuy := Cross(C, ema21);
{=== Sinyal #2: RSI14 ile AL ===}
Sig2RSIBuy := Cross(rsi14, rsiBuyLv);
{=== Esas AL: RSI bazlý AL ve son lb barda EMA-AL olmuþ mu? ===}
HadEMABuyInPast := HHV( Ref(Sig1EMABuy, -1), lb );
MainBuy := Sig2RSIBuy AND HadEMABuyInPast;
{=== Çýktýlar ===}
ema21; { fiyat grafiðinde EMA çizmek için }
MainBuy; { sinyali 0/1 þeklinde göstermek için }
TargetHigh := If(MainBuy, C, 200);
TargetHigh;
NOT: TargetHigh konumu gösterebilmek için seçilen bir deðiþken...
![]()
Son düzenleme : T/A; 20-10-2025 saat: 22:39.
"Yatýrým Tavsiyesi Deðildir!"... Eðitim ve Bilgi amaçlý paylaþýmlar yapýyorum.
Yer Ýmleri