[ARŞİV!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 4. - sayfa 509
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
Zaten başka bir başlıkta da sormuştu. Cevaplandı ... Ama kodu anlamıyor - kendisi hakkında yazdı.
Bir senaryoya ihtiyacı var (hazır çözüm - tuşa bastı (komut dosyasını başlattı) - ekrana baktı).
Geriye kalan tek şey, onu hesaplarımıza yatırım yapmaya davet etmek! :))
Geriye kalan tek şey, onu hesaplarımıza yatırım yapmaya davet etmek! :))
İyi fikir ama uygulaması zor
Che ve ben zaten tamamen kafamız karıştı. İşte her biri belirli bir hindi için kendi özel sinyalini alan 3 fonksiyon.
Bu fonksiyon tüm hindilerden ortak bir sinyal alır ve AL veya SATIŞ kararı verir.
Ve bu, genel sinyalin elde edildiği ana fonksiyondur, burada hindilerin değerlerini tüm çubuklardan geçmek için bir döngüden alıyoruz. işlevde:
int GetCrossingMa(double& i_maFast1, double& i_maFast2, double& i_maSlow1, çift& i_maSlow2)
int GetStochSignal(double&stochD1, double&stochD2, double&stochK1, double&stochK2)
void GetMomentumSignal() , prensipte onu oraya da itebilirsiniz.
Böylece, hindilerin tüm hesaplamalarının bir sinyal alma ana işlevinde olacağı ortaya çıkıyor. Burada her şey mantıklı.
Victor! Mantığınız var ama bilginiz hala yeterli değil. Birincisi, eğer bu işten vazgeçmezseniz, ders kitabının ötesine geçmenize yardımcı olacaktır, ancak ikincisini "kazanmak" için, şimdilik ondan (ders kitabından) başlamalısınız. SİZİN mantıksal kod yapınızı oluşturmaya (henüz) hazır değilsiniz, alfabetik sürüme geri dönün.
PS Kodunuzda "çarpıcı" olan nedir:
GetSignal() işlevinde, iki satırın kesişimini bulmak için bir for döngüsü KULLANILABİLİR, FAKAT bir while döngüsü DAHA İYİDİR, ancak bu kişisel tercihtir. Ve yeni başlayanlar için, kodun seslendirdiğiniz şeyi yürütmesi için, "Yürüt, affedemezsiniz" bölümünde olduğu gibi parantezleri hareket ettirmeniz gerekir. Bazı nedenlerden dolayı, bu (sonuç olarak ortaya çıkan) işlev iki işlevin sonuçlarını içermiyor: GetStochSignal() ve GetMomentumSignal() - bu KÜÇÜK bir mantık dışıdır.
GetCrossingMa() ve GetStochSignal() işlevlerinde, parametreleri referansa göre geçirmenin HİÇBİR noktası yoktur, çünkü işlev içindeki bu değişkenlerin değerlerini DEĞİŞTİRMELERİ mantıklı olacaktır.
void GetMomentumSignal() işlevi HİÇBİR ŞEY döndürür.
Her ne kadar yandan "görmek daha kötü" olduğunu kabul etsem de ... :)))
MAC (ki) ek'ten sinyal alan işlevin alternatif bir versiyonu:
Yorumlardan da anlaşılacağı gibi, sinyal bir MA'nın eğimi (MA_K_Period <= 1.0 olduğunda) veya 2 MA'nın kesişimi (MA_K_Period > 1.0 olduğunda) ile elde edilebilir. 2. Mashka'nın periyodu bağımsız olarak hesaplanır (bu fonksiyonun dışında):
Fonksiyonda ayrıca 2 Mashka'nın diverjansı için bir koşul ayarlayabilirsiniz (fd_Deviation > 0.0 için). Ayrıca kesişimin durumunu da takip edebilir (fb_ControlBeginChangeTrend = TRUE) veya sadece Hızlı ve Yavaş'ın konumunu birbirine göre sabitleyebilirsiniz.
Bu kodun nasıl çalıştığını görmek için arşive bu fonksiyonun sinyallerine göre oklar çizen bir gösterge koydum. Signal_MA.tpl şablonu (bir MA için) veya Signal_MA2.tpl (2 için) aracılığıyla başlatıyoruz. Bu arada, Mashki farklı şekilde alınabilir.
MAC (ki) ek'ten sinyal alan işlevin alternatif bir versiyonu:
Yorumlardan da anlaşılacağı gibi, sinyal bir MA'nın eğimi (MA_K_Period <= 1.0 olduğunda) veya 2 MA'nın kesişimi (MA_K_Period > 1.0 olduğunda) ile elde edilebilir. 2. Mashka'nın periyodu bağımsız olarak hesaplanır (bu fonksiyonun dışında):
Fonksiyonda ayrıca 2 Mashka'nın diverjansı için bir koşul ayarlayabilirsiniz (fd_Deviation > 0.0 için). Ayrıca kesişimin durumunu da takip edebilir (fb_ControlBeginChangeTrend = TRUE) veya sadece Hızlı ve Yavaş'ın konumunu birbirine göre sabitleyebilirsiniz.
Bu kodun nasıl çalıştığını görmek için arşive bu fonksiyonun sinyallerine göre oklar çizen bir gösterge koydum. Bu arada, Mashki farklı şekilde alınabilir.
Göstergeyi hızlandırmak istiyorsanız, lütfen iletişime geçin.
Göstergeyi hızlandırmak istiyorsanız, lütfen iletişime geçin.
Güzel gün! Sipariş değişikliği - hata 4051. Bunu bir saattir düşünüyorum. Görünüşe göre parametre orada doğru !!! Kısacası, kelimenin tam anlamıyla. fiyat parametresi, varsayılan olarak sipariş açılış fiyatı olan OrderOpenPrice ()'dir.
Stop emrinin açılış fiyatının 10 puan altına taşıyoruz ve fiyat geri itildi. Bir sipariş açılırken tsena değişkeninde hatırlanır.
Biri kârlı, diğeri kârsız olmak üzere iki emir var. Burada, açık görünüyor. Hata nereden? Onun için başka ne var?
Evet, artık alakalı olmasa da durum açık görünüyor. Yani fiyat 30 puan gitti - koşul çalıştı. ( tsena+ 30 * Puan ).
Bir kez giyin perenos=true; Bu koşullar aslında işe yarıyor gibi görünüyor.
Kendimi nasıl düşüneceğimi bilmiyorum.
Aslında bir kez giyin perenos=true; Bu koşullara uyulmasına gerek yoktu, çünkü hiçbir yerde giymez.
Aslında başka bir önemli parametre bileti var. Ancak, bunu int tacket=OrderSend gibi bir değişkene atadım ve int tucket=OrderSend gibi,
ve buna göre kullanıyorum OrderModify( tacket ve kısacası resmi olarak orada herhangi bir hata görmüyorum !!!
Lanet olsun... 2012.11.14 22:40:17 2012.08.16 15:30 vasilyprr EURGBP,M30: 1Hata 0 tacket 5 yani sipariş açıldı, bilet tahsis edildi.
Ve biraz daha ötede zaten sıfıra eşit! Yani, kodun değiştirilen sonraki bölümünün içinde.
2012.11.14 23:05:27 2012.08.17 11:03 vasilyprr EURGBP,M30: tacket 0 OrderOpenPrice() 0.7845 tsena-10*Point 0.7835 OrderTakeProfit() 0.789
Yukarıda belirtilen kod bölümünün dışında, değişken hiç oynamaz!
Ukrayna düzenini herhangi bir tuş kombinasyonuyla değiştiremiyorum, ancak Rusça olanı yazılıyor!
Aslında başka bir önemli parametre bileti var. Ancak, bunu int tacket=OrderSend gibi bir değişkene atadım ve int tucket=OrderSend gibi,
ve buna göre kullanıyorum OrderModify( tacket ve kısacası resmi olarak orada herhangi bir hata görmüyorum !!!
Görünüşe göre DC, SL ve TP ile hemen kabul etmiyor. Açtıktan sonra ST ve TP'yi değiştirin. Ve 2. pozisyon bir sonraki tik ile hemen açılmamalıdır!