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, her zamanki gibi rock yapıyorsun!
Terrance Bu durumda Kapat[0] kullanın. Hemen hemen her EA bu amaçla close kullanıyor, bu yüzden sizin için de işe yarayacağını düşünüyorum
...
EA'nız yalnızca çubuk başladığında yürütülürse, bunun birkaç nedeni olabilir:
EA'mın M1 zaman diliminde hareket eden fiyatlar arasında çalışmadığını fark ettim. EA'nın her gelen tik tarafından yürütüleceğini biliyorum.
Ama her yeni barda yürütüldüğünü gördüm.
yanlış mı anlıyorum?
ea kuvvetinin gelen her keneyi etkinleştirme şekli var mı?
Kâr ve zararımı kullanarak kâr ve zararımı kontrol etmeye çalışırım. pip olarak değil. Ani artış gerçekleştiğinde EA, yeni çubuk oluşana kadar kar veya zararı belirlemeye ulaştığınızda siparişi kapatmayın.
Herkes bu sorunu çözmeme yardım etsin.
EA kodlamasında yeniyim.
Şimdiden teşekkür ederim.Teşekkürler, mladen.
Önerinizi deneyeceğim.
Selamlar Kodlayan Tanrılar,
Aynı fiyattan bir emir zaten mevcutsa, bir emrin açılamaması için emir gönderme yürütmesini kontrol eden bir EA işlevi bulma konusunda yardıma ihtiyacım var.
basit mantık: emir açılış fiyatı ve emir tipi = mevcut bir emir açılış fiyatı ve emir tipi ise, çıkın ve sonraki giriş kriterlerini arayın
Ayrıca, mevcut bir fiyattan x pip uzaktaysa, bir emrin yürütülmesini önleyecek bir fonksiyona ihtiyacım var.
basit mantık: emir açılış fiyatı ve tipi < son emir açılış fiyatı ise ve + x pip yazın, o zaman çıkın ve sonraki giriş kriterlerini arayın
Teşekkürler,
pip
...
Bu 2 işlevi deneyin:Fiyat eşitse veya şu anda açılmış bazı emirlerin fiyatından uzaklık belirtilen mesafe içindeyse, her ikisi de true değerini döndürür.
{
for (int i=OrdersTotal()-1; i>=0 ; i--)
{
if (!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) continue;
if (OrderSymbol()!=Symbol()) continue;
if (OrderMagicNumber()!=magicNumber) continue;
if (CompareDouble(OrderOpenPrice(),price)) return(true);
}
return(false);
}
//
//
//
//
//
bool existsAtApproximatePrice(int magicNumber, double price, double distance)
{
for (int i=OrdersTotal()-1; i>=0 ; i--)
{
if (!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) continue;
if (OrderSymbol()!=Symbol()) continue;
if (OrderMagicNumber()!=magicNumber) continue;
if (MathAbs(OrderOpenPrice()-price)< distance) return(true);
}
return(false);
}
//
//
//
//
//
bool CompareDouble(double val1, double val2)
{
return(NormalizeDouble(val1,Digits)==NormalizeDouble(val2,Digits));
}
Selamlar Kodlayan Tanrılar,
Aynı fiyattan bir emir zaten mevcutsa, bir emrin açılamaması için emir gönderme yürütmesini kontrol eden bir EA işlevi bulma konusunda yardıma ihtiyacım var.
basit mantık: emir açılış fiyatı ve emir tipi = mevcut bir emir açılış fiyatı ve emir tipi ise, çıkın ve sonraki giriş kriterlerini arayın
Ayrıca, mevcut bir fiyattan x pip uzaktaysa, bir emrin yürütülmesini önleyecek bir fonksiyona ihtiyacım var.
basit mantık: emir açılış fiyatı ve tipi < son emir açılış fiyatı ise ve + x pip yazın, o zaman çıkın ve sonraki giriş kriterlerini arayın
Teşekkürler,
pipBunun birkaç nedeni olabilir, ancak en yaygın olanları:
Merhaba!
Yardım için teşekkürler!
Yani, eğer doğru anlamazsam, OrderSend'e TakeProfit ve StopLoss'u Exsternal "kurallar" olarak eklersem, bu EA sadece ECN olmayan brokerlerde mi çalışır?
İngilizcem için üzgünüm
...
Evet
ECN/STP benzeri brokerler ile zararı durdur ve/veya kârı 0'a ayarlanmış bir emir açmanız gerekir ve emir zaten açıldığında, ancak o zaman zararı durdur ve / veya kar al'ı değiştirebilirsiniz .
Merhaba!
Yardım için teşekkürler!
Yani, eğer doğru anlamazsam, OrderSend'e TakeProfit ve StopLoss'u Exsternal "kurallar" olarak eklersem, bu EA sadece ECN olmayan brokerlerde mi çalışır?
İngilizcem için üzgünümEvet ECN/STP gibi brokerler ile zarar durdur ve/veya kar al 0 olarak ayarlanmış bir emir açmanız gerekir ve emir zaten açıldığında, ancak o zaman zararı durdur ve/veya kar al'ı değiştirebilirsiniz.
Tekrar teşekkürler, peki... Bunu nasıl düzeltebilirim? üzgünüm
...
Dediğim gibi 2 adımda yapmanız gerekiyor:
Bu nedenle, işi bir adım yerine 2 adımda yapmak için kodun değiştirilmesi gerekir.
Tekrar teşekkürler, peki... Bunu nasıl düzeltebilirim? üzgünüm
kodlamada yeni
Herkese selam,
Kodlamada yeniyim ve dili ve sözdizimini yavaş yavaş öğreniyorum ancak MT4'ün değişkenleri nasıl güncellediği hakkında bir soru buldum.
Şu anda açık olan bir ticaretin sahip olduğu en yüksek karı gösteren ve yalnızca yeni bir zirveye ulaşıldığında güncellenmesi gereken basit bir EA kodlamaya çalıştım, ancak olan şey, kârın yaptığı gibi miktar aşağı ve yukarı hareket ediyor, yapamam hatamı kod mantığında görüyor gibi görünüyor.
Seçilen ticaretin hala açık olduğundan emin olmak için kontrol ediyorum
t_CloseTime=SiparişKapatTime(); // sipariş kapatılmazsa 0 döndürür
if(t_CloseTime==0) //Sıfır değilse sipariş kapatılır.
{
if(OrderProfit() > LastProfitHigh) LastProfitHigh=OrderProfit();
if(LastProfitHigh >= MinProfit && MinProfitReached==false) MinProfitReached=true;
}//endif
Öyleyse mantık doğruysa, bu "LastProfitHigh" değişkeni neden yukarı ve aşağı gidiyor...
Yardımın için teşekkürler.