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

 
TEXX :

Tünaydın.

Siparişlerin değiştirilmesi kısmen çalışıyor, lütfen sorunun ne olduğunu anlamama yardım edin.

Kodu ve günlüğü ekliyorum. Neyin işe yarayıp neyin yaramadığını kaydetti.


Muhtemelen bundan dolayı

         if ( OrderOpenPrice ()==!LastSellPrice()) sell_sl = 0 ;
         if ( OrderOpenPrice ()==LastSellPrice()) sell_sl = last_sell_sl;

İkinci koşul neredeyse hiçbir zaman karşılanmayacaktır.

 
Vinin :


Muhtemelen bundan dolayı

İkinci koşul neredeyse hiçbir zaman karşılanmayacaktır.


ve nasıl çalıştırabilirim?
 
TEXX :

ve nasıl çalıştırabilirim?

Arayarak konuya bakın - iki çift sayının nasıl karşılaştırılacağı gibi bir şey ...
 
Roman. :

Konuya bir arama ile bakın - iki çift sayının nasıl karşılaştırılacağı gibi bir şey ...


açılış fiyatının normalleşmesi yardımcı oldu, ancak sıfır ve sıfır olmayan duruşlar için koşul çalışmıyor....

Herkese teşekkürler!!! Anladım, eller sadece eğri, != yanlış yazdım ve bu yüzden tüm problemler.

 

Tüm açık siparişlerden toplam karı nasıl bulacağımı söyleyebilir misiniz?

Oops: Üzgünüm, Fransız hastalığı kolay değil ..

HesapKar()

 

Beyler, MQL uzmanları, söyleyin bana, aşağıdakileri yapmak teknik olarak mümkün mü?

- geçmişten 100 (veya başka sayıda) alıntı geçmişi alıyoruz - bunları bildiğimiz bazı ilkelere göre seçiyoruz;

- bu yüz parça üzerinde bir satın alma pozisyonunun açılışını simüle ediyoruz ve toplamda normal bir kâr olacak şekilde kârı al ve zararı durdur arasında sıralıyoruz (yani, yalnızca bir siparişin çalışması için geçmişin 100 farklı segmentini ayarlıyoruz) her segmentte, o zaman toplam 100 siparişimiz olur), sonra aynı şeyi satış pozisyonu için yaparız, maksimum kâr elde edilene kadar alımlar ve duruşlar yinelenir;

- gerçek bir anlaşma açın - geçmişte seçilen bir al ve dur ile al veya sat.

Ve tüm bunlar danışmanın çalışması çerçevesinde.

İşin püf noktası, sürekli bir tarih parçası üzerinde değil, birçok farklı parça üzerinde ve dolayısıyla bir pozisyonu kapattıktan sonra her seferinde yeni bir tane açmadan önce seçmemizdir. Alımları ve durakları nasıl sıralayacağımı gerçekten düşündüm ve prensipte bunu mantıklı bir şekilde nasıl yapacağımı anladım, ancak teknik olarak MQL araçlarını nasıl kullanacağımı bilmiyorum.

 
alexeymosc :

Beyler, MQL uzmanları, söyleyin bana, aşağıdakileri yapmak teknik olarak mümkün mü?

- geçmişten 100 (veya başka sayıda) alıntı geçmişi alıyoruz - bunları bildiğimiz bazı ilkelere göre seçiyoruz;

- bu yüz parça üzerinde bir satın alma pozisyonunun açılışını simüle ediyoruz ve toplamda normal bir kâr olacak şekilde kârı al ve zararı durdur arasında sıralıyoruz (yani, yalnızca bir siparişin çalışması için geçmişin 100 farklı segmentini ayarlıyoruz) her segmentte, o zaman toplam 100 siparişimiz olur), sonra aynı şeyi satış pozisyonu için yaparız, maksimum kâr elde edilene kadar alımlar ve duruşlar yinelenir;

- gerçek bir anlaşma açın - geçmişte seçilen bir al ve dur ile al veya sat.

Ve tüm bunlar danışmanın çalışması çerçevesinde.

İşin püf noktası, sürekli bir tarih parçası üzerinde değil, birçok farklı parça üzerinde ve dolayısıyla her seferinde bir pozisyonu kapattıktan sonra, yeni bir tane açmadan önce seçmemizdir. Alımları ve durakları nasıl sıralayacağımı gerçekten düşündüm ve prensipte bunu mantıklı bir şekilde nasıl yapacağımı anladım, ancak teknik olarak MQL araçlarını nasıl kullanacağımı bilmiyorum.

ZigZag kırıkları ile. Gerçek şu ki, kırıklar birinden sonra değişiyor, yani. yukarı hareket, aşağı, yukarı, vb.
 
Danışman, tüm siparişler kapatıldığında sesli bir sinyale ihtiyaç duyar, bunu düzeltmeye yardımcı olur veya başka bir çalışma seçeneği sunar.

Teşekkür ederim.

 //-----
   static bool First = true ;
   static int PreOrdersTotal = 0 ;
   int NowOrdersTotal = CountTrades();
   if (First)
  {
    PreOrdersTotal = NowOrdersTotal;
    First = false ;
     return ( 0 );
  }
   if (UseSound == true && NowOrdersTotal < PreOrdersTotal) {PlaySound(CloseSound);}
  PreOrdersTotal = NowOrdersTotal;
//-----

 
rustein :
Danışman, tüm siparişler kapatıldığında sesli bir sinyale ihtiyaç duyar, bunu düzeltmeye yardımcı olur veya başka bir çalışma seçeneği sunar.

Teşekkür ederim.


varsa nasıl yardımcı olabilirsin

- CountTrades() işlevinin ne döndürdüğü bilinmiyor;

- CloseSound değişkeninin ne içerdiği bilinmiyor;

- CloseSound'da adı (teorik olarak) bulunan dosyanın var olup olmadığı bilinmiyor.

 
rustein :
Danışman, tüm siparişler kapatıldığında sesli bir sinyale ihtiyaç duyar, bunu düzeltmeye yardımcı olur veya başka bir çalışma seçeneği sunar.

Teşekkür ederim.


 if ( OrdersTotal () == 0 ) {
  if (UseSound)  {
     PlaySound (CloseSound);
   }
   UseSound = false;
} else {
   UseSound = true;
}