[ARŞİV] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 3. - sayfa 166

 
Xaoss1990 :

Beyler profesyoneller, yine yardımınıza ihtiyacım var!

Aşağıda, anlaşmaları kapatmaktan sorumlu bir kod parçacığı var, ancak gerçek şu ki, bekleyen siparişler yürütülmezse, onları silmez, nedenini anlayamıyorum. Ancak yürütülen bekleyen emri kapatmanız gerektiğinde, her şey yolunda gider ve emir yürütülmezse, yürütülene kadar askıda kalır...

OrderSelect(0, SELECT_BY_POS, MODE_TRADES);
Magic = OrderMagicNumber();
orderticket = OrderTicket();

if (OrdersTotal() == 1 && Magic == 111 && OrderType( ) == 0) {
if (H1_BUY_5 == 0 || H1_BUY_1 == 0) {
OrderClose(orderticket, lot, Bid, 5, Yellow);
if (OrdersTotal() == 1) OrderDelete(orderticket, Brown);
}

}



Bu koşul yalnızca satın alma siparişlerini seçer,

if (OrdersTotal() == 1 && Magic == 111 && OrderType( ) == 0)

bu yüzden onu kaldıramazsın

 
Roger :


Muhtemelen önce lotu hesapladığınız ve sonra

Teşekkürler, lot hesaplamasını değiştirdim ama yine de çalışmıyor.
 
Sancho77 :
Teşekkürler, lot hesaplamasını değiştirdim ama yine de çalışmıyor.


Ve nasıl çalışmıyor, günlüklerde ne yazıyor?

np'nin hangi değerleri aldığını kontrol edin, burada

 if ( OrderSelect (np, SELECT_BY_POS, MODE_TRADES)) {
      ClosePosBySelect();}
    }
 
Günlükte hata mesajı yok. Danışmanın kodunun tamamını görebiliyor musunuz? Stoploss tetiklenirse partinin 1/3'ünü kapatmalıdır, zaten takip ederek başabaş noktasına taşınmıştır.
 
Sancho77 :
Günlükte hata mesajı yok. Danışmanın kodunun tamamını görebiliyor musunuz? Stoploss tetiklenirse partinin 1/3'ünü kapatmalıdır, zaten takip ederek başabaş noktasına taşınmıştır.

Vay, her şey nasıl gidiyor. Genel olarak, her şey yanlış, onu atmak ve yeni bir tane yazmak daha kolay. Parametreler yanlış ayarlanmış, işlevler yanlış çağrılmış, bir sürü gereksiz gereksiz hesaplama. Bir kılavuz için uygun - nasıl kod yazılmaz.
 
Roger :

Vay, her şey nasıl gidiyor. Genel olarak, her şey yanlış, onu atmak ve yeni bir tane yazmak daha kolay. Parametreler yanlış ayarlanmış, işlevler yanlış çağrılmış, bir sürü gereksiz gereksiz hesaplama. Bir kılavuz için uygun - nasıl kod yazılmaz.
Tamam, baştan başlayalım)
 
Sancho77 :
...Zarar durdurma tetiklenirse partinin 1/3'ünü kapatmalı, zaten takip ederek başabaş noktasına taşınmış.
Tüm bunlara bakıyorum ve kendi kendime düşünüyorum - temelleri tam olarak bilmiyorsanız, bu tür görevleri üstlenmek için ne yapmalıyım? Bu tür kendi kendine öğrenme zarardan çok yarar sağlar. Düşünce kıvılcımı bir yığın hata içinde boğuluyor.
 
granit77 :
Bütün bunlara bakıyorum ve kendi kendime düşünüyorum - temelleri tam olarak bilmiyorsanız, bu tür görevleri üstlenmek ne için? Bu tür kendi kendine öğrenme zarardan çok yarar sağlar. Düşünce kıvılcımı bir yığın hata içinde boğuluyor.

Muhtemelen yarardan çok zarar demek istemiştir.
 
Evet, bir yazım hatası.
 

Söyleyin lütfen, beyler uzmanlar!

Durumu hayal edin: N. koşulunun tetiklenmesi nedeniyle bir durdurma tetiklendi. Ancak birkaç mumdan sonra N. koşul ortadan kalktı. N. koşul ortadan kalktıktan sonra bir anlaşmayı tekrar kapatmak için hangi işlevler kullanılabilir. Yani stopun belirli sayıda bar önce TAM OLARAK N. koşuldan dolayı tetiklendiğini belirlemeli ve N. koşul ortadan kalktığı için tekrar anlaşma yap!!!