Sormak! - sayfa 32

 

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?

 
 
iscuba11:
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?

Dave <<

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

 
AnasFX:
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ı

phoenix:
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

 
marketjouster:
İ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 ) ...

MJ

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

 

Uzun Çubuk ticaret girişini önlemek için kod

Yannis:
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