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
Dave,
Bu kadar kolay vazgeçme. Size ne yapacağınızı söylersem, belki yanlış olur ve asla doğru şeyi öğrenemezsiniz.
İşte başka bir deneme.
İyi şanlar.
for (int cnt1=OrdersTotal()-1;cnt1>=0;cnt1--)
{
OrderSelect(cnt1, SELECT_BY_POS, MODE_TRADES);
if (OrderType()>=OP_SELL && OrderSymbol()==Symbol() && (OrderMagicNumber () == MagicNumber || MagicNumber==0))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Ask+(15 *Point),Bid-(20*Point),Cyan); //Modify stop loss and take profit
return(0);
}
if (OrderType()>=OP_BUY && OrderSymbol()==Symbol() && (OrderMagicNumber () == MagicNumber || MagicNumber==0))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Bid-(15*Point),Ask+(20*Point),Cyan); //Modify stop loss and take profit
return(0);
}
}
Siparişimin zarar durdurup durdurmadığını nasıl anlarım?
Merhaba millet
İzleyen bir durdurma kullanan bir EA programlıyorum. Mesele şu ki, bir stop-loss vurduğunda yeni bir emir açar. Öyleyse, soru şu ki, EA'ya bir sipariş bir stop-loss vurduğunda yeni bir sipariş açmak isteyip istemediğinize karar vermek için bir sonraki çubuğun beklemesini nasıl söylersiniz? herhangi bir yardım lütfen?
Modifikasyon bunun neresinde oluyor? Orijinal zararı durdur 40'tı ve kârı al 100'dü. Uyku modunun bir parçası olarak, zararı durdur, mevcut herhangi bir açık emirde 15 olarak değiştirilecek ve mevcut herhangi bir açık emirde kâr al, 25 olarak değiştirilecek.
Açık Sipariş Biletleri: Uyku modundan önce.
Uyku Modundan Önce Zarar Durdur - 40 Uyku Modundan Önce Kar Al-100 Uyku Modundan Sonra Zarar Durdur Modifikasyonu -15 Uyku Modundan Sonra Kar Al Modifikasyonu - 25
Sipariş ayarlarını başlatmıyorum, önceden verilmiş ve halen aktif olan mevcut siparişleri değiştiriyorum.
Yine de yardım ettiğin için teşekkürler! Bu kadar basit bir şey neden bu kadar zor görünüyor?
uyku modunuzu nasıl tanımlarsınız?
sadece ordermodify() döngüsünden önce ekleyin
beğenmek..
if(sleepcome)
{
for(.....)
{
//delete my code gave you before or make it as comment
orderselect(.....);
.
.
.
}
}
bu yardımcı olabilir mi
Merhaba arkadaşlar, takip eden bir durdurma kullanan bir EA programlıyorum. Mesele şu ki, bir stop-loss vurduğunda yeni bir emir açar. Öyleyse, soru şu ki, EA'ya bir sipariş bir stop-loss vurduğunda yeni bir sipariş açmak isteyip istemediğinize karar vermek için bir sonraki çubuğun beklemesini nasıl söylersiniz? herhangi bir yardım lütfen?
ordercloseprice() = orderstoploss() ise ticaret geçmişini kontrol edin , ardından sl'ye basarak kapanır
for(int hcnt=0;hcnt<HistoryTotal();hcnt++)
{
OrderSelect(hcnt, SELECT_BY_POS, MODE_HISTORY);
if(OrderSymbol()==Symbol())
{
if(OrderClosePrice()==OrderStopLoss())
.
.
.
}
}
Stop-loss zamanı
ordercloseprice() = orderstoploss() ise ticaret geçmişini kontrol edin, ardından sl'ye basarak kapanır
for(int hcnt=0;hcnt<HistoryTotal();hcnt++)
{
OrderSelect(hcnt, SELECT_BY_POS, MODE_HISTORY);
if(OrderSymbol()==Symbol())
{
if(OrderClosePrice()==OrderStopLoss())
.
.
.
}
}
Fikir için teşekkürler dostum. Ayrıca, stop-loss zamanını ve bu zamanın mevcut çubukta olup olmadığını bilmek istiyorum. Çok fazla kaybım olabilir, ancak mevcut zaman çubuğundaki stop-loss'a ulaşıp ulaşmadığını bilmek istiyorum. Sipariş kapatma zamanını kontrol edip mevcut çubuğun zamanı ile karşılaştırmalı mıyım?
Bir EA'da Alımları ve Satışları gösterme
EA'm eylemlerini göstermek için çalışırken çizelgeye oklar veya metin nesneleri veya başka bir şey koymak istiyorum, ancak nesneler görünmüyor. Grafikte çizilen çalışan bir EA örneği olan var mı?
Ayrıca, Strateji Test Cihazında bir test çalıştırıldıktan sonra bir grafik görüntülemek için bir düğme vardır, ancak ben okları göremiyorum. Bu yapı 195 ile ilgili bir sorun mu, çünkü onları geçmişte orada gördüğümü biliyorum. Bu ok nesnelerini nasıl değiştirebiliriz? Onları büyütmek isterdim ama test cihazındaki tabloya nasıl ulaşacağımı da bilmiyorum.
Sanırım her iki sorun da aynı: EA'lardan kullanıcı geri bildirimi almak.
İnce ayar yaptığım bir uzmanım var ve önceden kapatılan çubuk çok uzunsa bir giriş sinyalinden kaçınmak istedim. (>30 pip) Aşağıdaki deyimi koşul olarak ekledim ama anlaşılmış görünmüyor. İyi bir kodlayıcı değilim ama uzmanları ayarlama konusunda şansım var ve ilerledikçe öğreniyorum. Birisi bana burada hangi mantığı veya ifadeyi kullanmam gerektiğini söyleyebilir mi?
Bölümün altında;
-----------------------------------
geçersiz CheckForSignals() {
-----------------------------------
koşulu ekledim;
-----------------------------------
if ((Close[1])-(Open[1])<30 ) {
buysig=true;
-----------------------------------
Herhangi bir öneri için teşekkürler,
MJ
İnce ayar yaptığım bir uzmanım var ve önceden kapatılan çubuk çok uzunsa bir giriş sinyalinden kaçınmak istedim. (>30 pip) Aşağıdaki deyimi koşul olarak ekledim ama anlaşılmış görünmüyor. İyi bir kodlayıcı değilim ama uzmanları ayarlama konusunda şansım var ve ilerledikçe öğreniyorum. Birisi bana burada hangi mantığı veya ifadeyi kullanmam gerektiğini söyleyebilir mi?
if ((Kapat[1])-(Aç[1])<30 ) ...
MJMJ,
Kapat[1] öğesinin örneğin 1.2835 ve Açık[1] öğesinin 1.2805 (yükseliş çubuğu) olduğunu varsayarsak, fark 0.0030'dur, bu nedenle 30'a karşı kontrol çalışmaz. Ayrıca, Kapat[1] 1.2805'te ve Açık[1] 1.2835'te (düşüş çubuğu) ise? -0.0030 alırsınız.
Bu nedenle, ilk sorunu çözmek için Close[1]-Open[1] < (30*Point) kullanmanız gerekir ve ardından çıkarmanın mutlak değerini elde etmek için MathAbs() işlevini kullanmanız gerekir.
Kısa kullanımda: if MathAbs(Close[1]-Open[1])<(30*Point) ....
HTH
Yannis
Uzun Çubuk ticaret girişini önlemek için kod
MJ,
Kapat[1] öğesinin örneğin 1.2835 ve Açık[1] öğesinin 1.2805 (yükseliş çubuğu) olduğunu varsayarsak, fark 0.0030'dur, bu nedenle 30'a karşı kontrol çalışmaz. Ayrıca, Kapat[1] 1.2805'te ve Açık[1] 1.2835'te (düşüş çubuğu) ise? -0.0030 alırsınız.
Bu nedenle, ilk sorunu çözmek için Close[1]-Open[1] < (30*Point) kullanmanız gerekir ve ardından çıkarmanın mutlak değerini elde etmek için MathAbs() işlevini kullanmanız gerekir.
Kısa kullanımda: if MathAbs(Close[1]-Open[1])<(30*Point) ....
HTH
YannisÇok teşekkürler Yannis. Açıklamanız çok açık ve gerçek kodun dahil edilmesini takdir ediyorum. Bir takip sorusu sorabilir miyim? Uzman danışmanlar özellikler penceresindeki uzun çubuk için pip sayısını ayarlayabilmek istesem şunu kullanabilir miyim;
harici int LBE=30; // LBE, 'Uzun Çubuk Girişi'dir. Varsayılan 30 olabilir
uzmanın başlık bölümünde ve ardından kod satırınızda 30 yerine LBE'yi mi kullanıyorsunuz?
if MathAbs(Close[1]-Open[1])<(LBE*Point)
Bu, varyant pip ayarlarını manuel olarak test etmeme ve geri testte optimize etmeme izin verir.
MJ