MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma - sayfa 1549
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
Ne yapacağını bildiğinde konuşmak iyidir...
"maksimum yararlı bilgiyi nasıl çıkaracağınız" konusunda tavsiyelerde bulunun
Zaten her şeyi yeterince açık bir şekilde söyledim. peki özelden soracağım
İşte iki işlev ve her ikisi de tarihsel sıraları yineliyor
Aynı siparişlerde iki döngü. Bu işlevlerin döndürdüğü her şeyi tek bir döngüde almanın bir yolu var mı?
merhaba!
Baykuşa yapılan işlemlerin darbesini bağlamaya çalışıyorum. Talimatlarda belirtildiği gibi yapıyorum: https://www.mql5.com/ru/forum/128200
derleme sırasında hata yok, ancak test cihazında kapak çalışmıyor.
Günlük bir hata veriyor:
2021.07.29 20:06:34.316 2015.01.08 22:10:00 AUDUSD,M5 kodunu çevirerek SMA: OrderSend hatası 130
2021.07.29 20:06:34.316 2015.01.08 22:05:45 AUDUSD,M5 kodunu çevirerek SMA: OrderSend hatası 4107
2021.07.29 20:06:34.316 2015.01.08 22:05:45 AUDUSD,M5 kodu aracılığıyla geri dönüşlü SMA: OrderSend işlevi için geçersiz stoploss
söyle lütfen, sorun ne burada?
Ben kendim, belirtilen değişkenlerin
int ReversOrderSend (dize sembolü,int cmd,çift hacim,çift fiyat,int kayma,çift stoploss,çift kar al,dize yorumu,int magic=0,datetime son kullanma=0,renk ok_color=CLR_NONE)ana kodla ilgili değil.
farklı terminallerde denendi, 4 ve 5 işareti. hata her yerde aynı.
işte kodun tamamı:
Zaten her şeyi yeterince açık bir şekilde söyledim. peki özelden soracağım
İşte iki işlev ve her ikisi de tarihsel sıraları yineliyor
Aynı siparişlerde iki döngü. Bu işlevlerin döndürdüğü her şeyi tek bir döngüde almanın bir yolu var mı?
Alexey, zaten yazdım, iyi bir programcı olduğunu biliyorum!
Ama ben bir programcı değilim ve sizin için "yeterince açık" olan benim için karanlık bir orman...
Ve yaklaşık iki döngü, o zaman benim için "Her şeyi tek bir döngüde elde etmek" hiçbir şekilde çünkü. farklı veri türleri döndürürler.
Alexey, zaten yazdım, iyi bir programcı olduğunu biliyorum!
Ama ben bir programcı değilim ve sizin için "yeterince açık" olan benim için karanlık bir orman...
Ve yaklaşık iki döngü, o zaman benim için "Her şeyi tek bir döngüde elde etmek" hiçbir şekilde çünkü. farklı veri türleri döndürürler.
dönüş türlerinin bununla hiçbir ilgisi yoktur. Aynı veri için farklı kontroller ve filtreler ile 2 döngü varsa, her zaman her şeyi tek bir döngüye koyabilirsiniz, ancak kod çok net okumayacaktır, ancak daha hızlı çalışması gerekir) Hata ayıklama aşamasında, yapmıyorum her şey bir döngüde. Farklı böceklerde aramak daha kolaydır.
Alexey, zaten yazdım, iyi bir programcı olduğunu biliyorum!
Ama ben bir programcı değilim ve sizin için "yeterince açık" olan benim için karanlık bir orman...
Ve yaklaşık iki döngü, o zaman benim için "Her şeyi tek bir döngüde elde etmek" hiçbir şekilde çünkü. farklı veri türleri döndürürler.
İki seçenek var.
dene, sor
İlk sonuç. danışman tarafından bekleyen emirlerin verilmesiyle ilgili döviz çiftleri arasında bir çelişki var. örneğin EURUSD'ye bir gecikme attım, danışman algoritmaya göre çalıştı (1.18901 fiyattan al bir anlaşma açıldı, danışman 1.18751'de stop ve 1.19051'lik bir alım ve bir fiyattan satış için bir gecikme belirledi 1.18751 ) her şey planlandığı gibi yolunda.
Ancak fiyatların farklı olduğu ve danışmanın bekleyen bir sipariş vermek dışında her şeyi doğru yaptığı GBPUSD üzerinde bir anlaşma açmanın zamanı geldi. Bekleyen Satış 1.39393 çalıştı, EA çalışmaya başladı, 1.39633'te bir durdurma ve 1.39153'lük bir alım belirledi, ancak bekleyen alımı 1.39633'lük bir fiyata EURUSD ile tamamen kopyaladı ve bekleyen bir satışı 1.18751'lik bir fiyata koydu)
Az önce başka bir sorun keşfettim: EURUSD üzerinde açık bir işlemde, 1.18751'de bir durdurma tetiklendi ve EA'nın 1.18901'de bir durdurma ve 1.18595'lik bir alım belirlediği bekleyen satış emri açıldı. EA, tarihe geçen hedefe tetiklenmiş bir durak eklemedi.
Sorunlar bunlar.
merhaba!
Baykuşa yapılan işlemlerin darbesini bağlamaya çalışıyorum.
Ne demek istiyorsun? Satın aldığınız / sattığınız belirli bir fiyat aralığı mı? Ticaret danışmanı "tersine döner".
Tünaydın. Bir danışmanla yardım edin. Stratejiye göre, bir durdurma tetiklenirse, danışman bunu bir sonraki çekime eklemelidir (puan sayısı)
kimliğe göre tarihten, ancak bir nedenden dolayı eklemiyor.
Kodda yanlış olan ne?
Makar, OrderMagicNumber() öğesine doğru şekilde dikkat çekti, ancak hatayı yanlış anladı. Bu işlevin sözdizimini belgelerde okuyun... siparişler listesinde bir dizin veya belirli bir sipariş için bir bilet olmalı, ancak sihir olmamalıdır. Ve OrderTicket() burada yardımcı olmaz. Onu oraya koymaya çalışmayın.
Ne demek istiyorsun? Satın aldığınız / sattığınız belirli bir fiyat aralığı mı? Ticaret danışmanı "tersine döner".
Kodun yazarı, anladığım kadarıyla aşağıdakileri önerdi:
eğer bir baykuş stop ve al ile bir alış işlemi açarsa, o zaman onun kod parçası aynı zamanda aynı yerde (spread'i hesaba katarak) bir alış işlemi yerine stop ve al ile bir satış işlemi açar.
bu nedenle EA'nın giriş noktası arama mantığı değişmez, sadece yayılma dikkate alınarak yön değişir.
tam ihtiyacım olan şey bu
Bu danışmandan ne istediğinizi kısaca açıklayın (çalışma mantığı),
aksi halde bana kodunuzda fazladan bir sürü şey var gibi geliyor ya da bir şey anlamıyorum.
baykuşlar algoritmalarına göre fırsatlar açmalıdır
stop ise, bir sonraki işlem martin ile olur ve bu şekilde belirttiğim çarpma sayısına kadar devam eder (fonksiyon - OrdersClose = ..... ;).
daha fazla eğer baykuşlar. terminal ile birlikte kapatılır, sadece "otomatik ticaret" düğmesi, başka bir baykuş, daha sonra işin bir sonraki başlangıcı martingale tarafından artırılan sonuncudan değil, başlangıç partisinden başlar.
programı buna "eklemek" de güzel olurdu, ama bu düşünce şimdi aklıma geldi.
örneğin: Pazartesi günü başlangıç partisinden 10-00'da açıldı, belirli bir sonuca ulaşıldığında gün içinde kapandı, Salı sabahı 10-00'de tekrar açıldı ve başlangıç partisinden tekrar başladı.
Tümü.