Yeni başlayanlardan sorular MQL4 MT4 MetaTrader 4 - sayfa 71
Ticaret fırsatlarını kaçırıyorsunuz:
- Ücretsiz ticaret 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
Ve ne zamandan beri nokta tipi Double ?
Burada string+int'in bir hata olduğunu söylüyorum
Ama yukarıda yazdığım gibi yaparsanız hata olmaz.
Burada string+int'in bir hata olduğunu söylüyorum
Ama yukarıda yazdığım gibi yaparsanız hata olmaz.
TamsayıToString ? hayır duymadım ;)
TamsayıToString? hayır duymadım ;)
herkese selam
Programlamada yeniyim ama öğrenmeye çalışıyorum)
Göstergeye göre bir siparişi kapatmakla ilgili büyük bir sorunum yok
Açılış ve kapanış şartlarını hemen anlatacağım, bir hindinin endikasyonlarına göre bir anlaşma açıp endikasyonlara göre siparişi kapatıyorum ama tam tersi yönde, stop ve karsız
if(r > 50 && p > m) // sipariş açma koşulları satın al
{
biletB = OrderSend(Symbol(),OP_BUY,0.1,Ask,5,0,0,"",111,0,Yeşil); // satın alma emri açma
}
Sipariş kapatma koşulunu doğru yazıyor muyum?
if(r < 50 && p < m) --- bu, bir siparişi satmak ve kapatmak için bir koşuldur
{
SiparişKapat(ticketB,0.1,Teklif,5,Kırmızı);
}
ve başlatılmamış 'ticketB' değişkeninin olası kullanımını atar ve 'OrderClose' dönüş değeri kontrol edilmelidir
Beyler bana nerede yanlış yazdığımı söyler misiniz?
herkese selam
Programlamada yeniyim ama öğrenmeye çalışıyorum)
Göstergeye göre bir siparişi kapatmakla ilgili büyük bir sorunum yok
Açılış ve kapanış şartlarını hemen anlatacağım, türkiye'nin endikasyonlarına göre bir anlaşma açıp endikasyonlara göre siparişi kapatıyorum ama ters yönde, stop ve kar olmadan
if(r > 50 && p > m) // sipariş açma koşulları satın al
{
biletB = OrderSend(Symbol(),OP_BUY,0.1,Ask,5,0,0,"",111,0,Yeşil); // satın alma emri açma
}
Sipariş kapatma koşulunu doğru yazıyor muyum?
if(r < 50 && p < m) --- bu, bir siparişi satmak ve kapatmak için bir koşuldur
{
SiparişKapat(ticketB,0.1,Teklif,5,Kırmızı);
}
ve başlatılmamış 'ticketB' değişkeninin olası kullanımını atar ve 'OrderClose' dönüş değeri kontrol edilmelidir
Beyler bana nerede yanlış yazdığımı söyler misiniz?
değişken ticketB başlatılmadı, yani. bilinmeyen Tür. Bu durumda, Int
İkinci hata, siparişin kapatılmasının sonucunu hatalar için kontrol etmenin gerekli olmasıdır. "Hata işleme işlevi" için forumda arama yapın
değişken ticketB başlatılmadı, yani. bilinmeyen Tür. Bu durumda, Int
İkinci hata, siparişin kapatılmasının sonucunu hatalar için kontrol etmenin gerekli olmasıdır. "Hata işleme işlevi" için forumda arama yapın
GetLastError mu? Mantığını biraz anlayamıyorum ya da aptalım) ama nasıl ayarlayacağım? İlk başta OrderSelect kullanarak her şeyi yapmaya çalıştım, ama bu değil)
bu konuda bilgiye ihtiyacım var
GetLastError mu? Mantığını biraz anlayamıyorum ya da aptalım) ama nasıl ayarlayacağım? İlk başta OrderSelect kullanarak her şeyi yapmaya çalıştım, ama bu değil)
bu konuda bilgiye ihtiyacım var
Evet.
Kod tabanını inceleyin - uygulama örnekleriyle dolu.
mantık nerede? İlk siparişte izin verilen maksimum lotu koyarsınız ve sonraki her sipariş için artırırsınız. En hafif tabirle bunun çok makul olmadığını düşünmüyor musunuz?
Ayrıca, döngüde, tamamen mantıksız bir yöntemle birinci dereceden partiyi azaltırsınız ve bundan önce "hesaplanan" diğer siparişlerin çoğu değişmeden kalır, ayrıca bu değerler sınırlarının ötesine geçmez. bu işlev . O zaman neden onlar?
Döngü artışının gerçek bir sayı olamayacağı gerçeğinden bahsetmiyorum bile, bu bir sayaçtır, bir tam sayı olmalıdır. Ve lotun değerini bir sayaç olarak ayarlarsınız ve her yinelemeden birer birer çıkarırsınız. Bu büyük bir hatadır, çok ciddi bir hatadır.
Mantığı önce kafanızda düzeltin, ardından koda çevirmeye çalışın.
Ve bu konuda ne diyorsun?
Ben de aynısını söyleyeceğim. Mantıkla arkadaş olmayın. Serbest marj ve risk değerine (yaklaşık %3 yazıldığı gibi) dayalı olarak ilk lotu hemen hesaplamanın sorunu nedir? Neden hepsi tek bir yerde?
Serbest marj değerini alın, riskle çarpın, 100'e bölün ve 1 lot için marj değerine bölün - burada belirli bir serbest marj yüzdesi ile lotu hesaplamak için en basit formül. Pekala, partiyi değiştirmek için bir adım daha dikkate alınmalı ve DC'nin izin verdiği minimum-maksimum partinin ötesine geçilmemelidir: