Alım-satım fırsatlarını kaçırıyorsunuz:
- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
Merhaba Mladen,
Açıklama için teşekkürler, ancak ilk kapalı çubuk değeri ile ne demek istiyorsunuz? İlk kapalı çubuk değeri mi yoksa mevcut çubuklar mı yoksa sonrası mı? O zaman akım+0 veya akım+1'in anlamı ne olacak?
Saygılarımızla
teras
teras
MODE_MAIN, stokastik çizginin değerini okuduğunuz anlamına gelir. MODE_SIGNAL, stokastik sinyal çizgisinin değerini okuduğunuz anlamına gelir.
SHIFT itibariyle: her indccator (özel olanlar bile) için aynıdır. Örnek olarak : SHIFT=0 mevcut çubuk değeri anlamına gelir, SHIFT=1 ilk kapalı çubuk değeri anlamına gelir ve bu böyle devam eder......
teras
Mevcut çubuk tanım gereği hala kapalı bir çubuk değil
Geçerli çubuktan önceki ilk çubuk, ilk kapalı çubuktur
Merhaba Mladen,
Açıklama için teşekkürler, ancak ilk kapalı çubuk değeri ile ne demek istiyorsunuz? İlk kapalı çubuk değeri mi yoksa mevcut çubuklar mı yoksa sonrası mı? O zaman akım+0 veya akım+1'in anlamı ne olacak?
Saygılarımızla
terasMerhaba Mladen,
Yani şunu söylemekte haklı mıyım:
akım+0, 0 değeriyle aynıdır,
akım+1, 1 değeriyle aynıdır,
akım+2, 2 değeriyle aynıdır,
ve benzeri ..... SHIFT için?
Örneğin:
iStochastic(BOŞ, 0, 3, 3, 3, MODE_SMMA, 0, MODE_SIGNAL, Geçerli + 1); iStochastic ile aynıdır(NULL, 0, 3, 3, 3, MODE_SMMA, 0, MODE_SIGNAL, 1);
Bunu söylemekte haklı mıyım?
Saygılarımızla
teras
teras
Mevcut çubuk tanım gereği hala kapalı bir çubuk değil
Geçerli çubuktan önceki ilk çubuk, ilk kapalı çubuktur...
teras
iStochastic(NULL, 0, 3, 3, 3, MODE_SMMA, 0, MODE_SIGNAL, 0 ); şu anki
iStochastic(NULL, 0, 3, 3, 3, MODE_SMMA, 0, MODE_SIGNAL, 1 ); ilk kapalı (önceki)
...
...
iStochastic(NULL, 0, 3, 3, 3, MODE_SMMA, 0, MODE_SIGNAL, Çubuklar- 1 ); grafikteki en eski
Not: Bu gönderide barlar hakkında daha fazla bilgiye sahipsiniz: https://www.mql5.com/en/forum/173124
Merhaba Mladen,
Yani şunu söylemekte haklı mıyım:
akım+0, 0 değeriyle aynıdır,
akım+1, 1 değeriyle aynıdır,
akım+2, 2 değeriyle aynıdır,
ve benzeri ..... SHIFT için?
Örneğin:
iStochastic(BOŞ, 0, 3, 3, 3, MODE_SMMA, 0, MODE_SIGNAL, Geçerli + 1); iStochastic ile aynıdır(NULL, 0, 3, 3, 3, MODE_SMMA, 0, MODE_SIGNAL, 1);
Bunu söylemekte haklı mıyım?
Saygılarımızla
terasMerhaba Mladen,
Her zamanki gibi büyük yardım için teşekkürler!
Saygılarımızla
teras
teras
iStochastic(NULL, 0, 3, 3, 3, MODE_SMMA, 0, MODE_SIGNAL, 0 ); şu anki
iStochastic(NULL, 0, 3, 3, 3, MODE_SMMA, 0, MODE_SIGNAL, 1 ); ilk kapalı (önceki)
...
...
iStochastic(NULL, 0, 3, 3, 3, MODE_SMMA, 0, MODE_SIGNAL, Çubuklar- 1 ); grafikteki en eski
Not: Bu gönderide barlar hakkında daha fazla bilgiye sahipsiniz: https://www.mql5.com/en/forum/173124Birkaç sorun
Hepinize merhaba,
Kodumu test ettim ve neredeyse orada. Bana yardımcı olabileceğinizi umduğum birkaç sorum var.
Bunu int init() içine koydum:
if (Çubuklar < D1FastMAPeriod || Çubuklar < D1SlowMAPeriod)
{
Alert("HATA- GÜNLÜK ÇİZELGEDE SMA HESAPLAMAK İÇİN YETERSİZ ÇUBUKLAR");
dönüş(0);
}
SlowMAPeriod 200'dür. 01.01.2009'dan geriye dönük test yaptığımda, grafiğimde 2008'den 200SMA'yı hesaplamak için yeterli çubuk olduğunu açıkça görsem de bu hatayı veriyor. Burada bir şeyi mi kaçırıyorum?
2. H4 grafiğinin alım satımlarını sadece günlük trend yönünde yerleştiriyorum. Aşağıdaki kodu kullanarak değerler çiziyorum:
SlowMACurrent = iMA(Symbol(), PERIOD_D1, D1SlowMAPeriod, 0, MODE_SMA, PRICE_CLOSE, 1);
FastMACurrent = iMA(Symbol(), PERIOD_D1, D1FastMAPeriod, 0, MODE_SMA, PRICE_CLOSE, 1);
Sonra uzun bir pozisyon ararken şunu kullanarak referans veririm:
if (FastMACurrent > SlowMACurrent && ... vb ... )
İşlemlerimi düzgün bir şekilde filtrelemiyor gibi göründüğü için bu doğru mu?
3. Ayrıca, fiyat son 120 dönemin bir önceki en yüksek seviyesini aştığında (ve ardından 120 dönemin en düşük seviyesinin üzerinde kaldığında) uzun pozisyonlar alarak H4 grafiğinde bir trend filtresi kullanıyorum. Bu kodu kullanıyorum:
Donchian_Low = Düşük;
Donchian_High = Yüksek;
statik bool UpTrend = YANLIŞ;
statik bool DownTrend = YANLIŞ;
if (Sor > Donchian_High) {UpTrend = TRUE; Düşüş Eğilimi = YANLIŞ;}
if (Teklif < Donchian_Low) {UpTrend = FALSE; Düşüş Eğilimi = DOĞRU;}
Sonra aşağıdaki kodu kullanıyorum (uzun pozisyonlar için söyleyin):
if (FastMACurrent > SlowMACurrent && UpTrend == DOĞRU && DownTrend == YANLIŞ ... vb ... )
Ama işe yaramıyor gibi görünüyor çünkü 120 Periyotlu bir Donchian Kanalına karşı geriye dönük test edilmiş çizelgemi kontrol ettiğimde, bağlanmıyor. Herhangi bir fikir?
Şimdiden teşekkürler.
...
1. start() fonksiyonunun başına yerleştirin. Barlar gibi veriler söz konusu olduğunda Init güvenilmezdir
2. FastMACurrent > SlowMACurrent olduğunda bu koşul doğrudur. İstediğin bu mu, yoksa belki de haç arıyorsun?
3. Muhtemelen 2. madde ile bağlantılıdır. Bu şekilde çok fazla olasılık kapsadığı için, emir girilebileceği koşulları "daraltmalısınız".
Hepinize merhaba,
Kodumu test ettim ve neredeyse orada. Bana yardımcı olabileceğinizi umduğum birkaç sorum var.
Bunu int init() içine koydum:
if (Çubuklar < D1FastMAPeriod || Çubuklar < D1SlowMAPeriod)
{
Alert("HATA- GÜNLÜK ÇİZELGEDE SMA HESAPLAMAK İÇİN YETERSİZ ÇUBUKLAR");
dönüş(0);
}
SlowMAPeriod 200'dür. 01.01.2009'dan geriye dönük test yaptığımda, grafiğimde 2008'den 200SMA'yı hesaplamak için yeterli çubuk olduğunu açıkça görsem de bu hatayı veriyor. Burada bir şeyi mi kaçırıyorum?
2. H4 grafiğinin alım satımlarını sadece günlük trend yönünde yerleştiriyorum. Aşağıdaki kodu kullanarak değerler çiziyorum:
SlowMACurrent = iMA(Symbol(), PERIOD_D1, D1SlowMAPeriod, 0, MODE_SMA, PRICE_CLOSE, 1);
FastMACurrent = iMA(Symbol(), PERIOD_D1, D1FastMAPeriod, 0, MODE_SMA, PRICE_CLOSE, 1);
Sonra uzun bir pozisyon ararken şunu kullanarak referans veririm:
if (FastMACurrent > SlowMACurrent && ... vb ... )
İşlemlerimi düzgün bir şekilde filtrelemiyor gibi göründüğü için bu doğru mu?
3. Ayrıca, fiyat son 120 dönemin bir önceki en yüksek seviyesini aştığında (ve ardından 120 dönemin en düşük seviyesinin üzerinde kaldığında) uzun pozisyonlar alarak H4 grafiğinde bir trend filtresi kullanıyorum. Bu kodu kullanıyorum:
Donchian_Low = Düşük;
Donchian_High = Yüksek;
statik bool UpTrend = YANLIŞ;
statik bool DownTrend = YANLIŞ;
if (Sor > Donchian_High) {UpTrend = TRUE; Düşüş Eğilimi = YANLIŞ;}
if (Teklif < Donchian_Low) {UpTrend = FALSE; Düşüş Eğilimi = DOĞRU;}
Sonra aşağıdaki kodu kullanıyorum (uzun pozisyonlar için söyleyin):
if (FastMACurrent > SlowMACurrent && UpTrend == DOĞRU && DownTrend == YANLIŞ ... vb ... )
Ama işe yaramıyor gibi görünüyor çünkü 120 Periyotlu bir Donchian Kanalına karşı geriye dönük test edilmiş çizelgemi kontrol ettiğimde, bağlanmıyor. Herhangi bir fikir?
Şimdiden teşekkürler.merhaba mladen,
1. Tamam yapacak.
2. Evet bu doğru, çaprazdan girmek istemiyorum, sadece kısa vadeli grafiklerde uzun/kısa bir filtre için kullanıyorum, örneğin hızlı MA günlük grafikte yavaş MA'nın üzerindeyse, sadece uzun düşünmesini istiyorum H4 grafiğindeki pozisyonlar. Yani bunu doğru kodladığımı düşünüyorum?
3. Ne demek istediğini anladığımdan emin değilim, ama bunu init start() altına koydum.
statik bool UpTrend = YANLIŞ;
statik bool DownTrend = YANLIŞ;
if (Sor > Donchian_High) {UpTrend = TRUE; Düşüş Eğilimi = YANLIŞ;}
if (Teklif < Donchian_Low) {UpTrend = FALSE; Düşüş Eğilimi = DOĞRU;}
Statik bool değişkenlerini küresel hale getirmek için en baştan koymalı mıyım? Bu neden oluyor olabilir mi?
...
3. Donchian_Low'a Sor (ki çoğu zaman böyledir) olduğunda ne olur? Statik değişkenleriniz, artık geçerli olmasa bile hala "eski" durumları gösterir (durumu "miras alır" ve bu şekilde, artık olmadığında bile yukarıda veya aşağıda olduğunu gösterir). Sorunlara neden olanın bu olup olmadığını kontrol edin
merhaba mladen,
1. Tamam yapacak.
2. Evet bu doğru, çaprazdan girmek istemiyorum, sadece kısa vadeli grafiklerde uzun/kısa bir filtre için kullanıyorum, örneğin hızlı MA günlük grafikte yavaş MA'nın üzerindeyse, sadece uzun düşünmesini istiyorum H4 grafiğindeki pozisyonlar. Yani bunu doğru kodladığımı düşünüyorum?
3. Ne demek istediğini anladığımdan emin değilim, ama bunu init start() altına koydum.
statik bool UpTrend = YANLIŞ;
statik bool DownTrend = YANLIŞ;
if (Sor > Donchian_High) {UpTrend = TRUE; Düşüş Eğilimi = YANLIŞ;}
if (Teklif < Donchian_Low) {UpTrend = FALSE; Düşüş Eğilimi = DOĞRU;}
Statik bool değişkenlerini küresel hale getirmek için en baştan koymalı mıyım? Bu neden oluyor olabilir mi?İyi bir nokta. Şuna bir bakayım.
Fonksiyonlar hakkında bir soru, fonksiyon içinde fonksiyon çağırmak mümkün müdür? Örneğin, bu işleve sahibim:
string GetWinLossPreviousShort (int LastOpenTicket, string WinLossPreviousShort)
{
eğer (... vb
Daha sonra buna derim:
double GetLotsLong (int LowRisk, int HighRisk, double SLDistanceLong, string GetWinLossPreviousShort)