Sonsuza kadar harika ve korkunç MT4 (veya bir geçiş stratejisinin nasıl doğru bir şekilde geliştirileceği) - sayfa 26

 
fxsaber :

Büyük olasılıkla, içeride böyle bir bayrak yok.

görünüşe göre öyle değil.

ama MQ'nun bunu yapabileceğini düşünüyorum, özellikle terminal başına bir bayrak olacağından, yani. tüm programlar için.

 
Artyom Trishkin :
Büyük ihtimalle önereceğim. Ama çok sonra. Sübjektif nedenlerle. Ne yazık ki. Bu arada bir demagog da düşünebilirsiniz. Yasak değil.

Hala alakalı? Çözümünüz ne olurdu?

 
Igor Makanu :

Hala alakalı? Çözümünüz ne olurdu?

"Çok sonra" yazan yazımı alıntıladın. Benim için "çok sonra" en az bir yıldan daha erken değil. Bu sürenin bir çözüm bulunması gerektiğinden değil, ne yazık ki sübjektif koşullardan dolayı.

 
Artyom Trishkin :

Bu en azından bir yıldan daha erken değil.

Tamam, yani alakalı değil.

 
Muhtemelen, çözümü beklenmedik zorluklara neden olan durum açısından basit görevler bulmak hala mümkündür.
 
fxsaber :
Muhtemelen, çözümü beklenmedik zorluklara neden olan durum açısından basit görevler bulmak hala mümkündür.

Komut dosyası, risk fazlalığını izler: toplam pozisyonlar ve gecikmeler ikiden fazlaysa, bildirir ve çıkarız .


Kısa kod:

 void OnStart ()
{
   while (! IsStopped ())
     if (( PositionsTotal () + OrdersTotal () > 2 )) // Если (риск превышен) число отложек/позиций больше двух,
    {
       Alert ( "Risk exceeded!" );                   // сообщаем      
       ExpertRemove ();                           // и выходим.
    }
}


Ellerin eylemlerine bağlı olarak komut dosyasının davranışına bakarız. Bundan önce (komut dosyasını çalıştırmadan önce), hesaptaki pozisyon sayısını PostTotal , orders - OrdTotal olarak belirleyelim.

Senaryo PostToplam/OrdToplam Aksiyon komut dosyası sonucu
01 0/0 Pozisyon açma. İşler.
02 0/0 Erteleme. İşler.
03 0/1 sergileme   mevduat. İşler.
04 0/1 Pozisyon açma. Uyarı (her zaman değil).
05 0/1 Gecikme kaldırma. İşler.
06 1/0 sergileme   mevduat. İşler.
07 1/0 Pozisyon açma. Uyarı (her zaman değil) .
08 1/0 Bir pozisyonu kapatmak. İşler.
09 1/1 Gecikme kaldırma. İşler.
on 1/1 Bir pozisyonu kapatmak. Uyarmak.
on bir 0/2 Gecikme kaldırma. İşler.
12 2/0 Bir pozisyonu kapatmak. Uyarmak.


Çok basit bir görev gibi görünüyor, ancak uyarı veriyor. Çözümler nelerdir?


Not: Büyük olasılıkla, MT5'i anlamak için çalışmanız gereken çok basit görevlerde.

 
fxsaber :

Komut dosyası, risk fazlalığını izler: toplam pozisyonlar ve gecikmeler ikiden fazlaysa, bildirir ve çıkarız .


Kısa kod:


Ellerin eylemlerine bağlı olarak komut dosyasının davranışına bakarız. Bundan önce (komut dosyasını çalıştırmadan önce), hesaptaki pozisyon sayısını PostTotal , orders - OrdTotal olarak belirleyelim.

Senaryo PostToplam/OrdToplam Aksiyon komut dosyası sonucu
01 0/0 Pozisyon açma. İşler.
02 0/0 Erteleme. İşler.
03 0/1 sergileme   mevduat. İşler.
04 0/1 Pozisyon açma. Uyarı (her zaman değil).
05 0/1 Gecikme kaldırma. İşler.
06 1/0 sergileme   mevduat. İşler.
07 1/0 Pozisyon açma. Uyarı (her zaman değil) .
08 1/0 Bir pozisyonu kapatmak. İşler.
09 1/1 Gecikme kaldırma. İşler.
on 1/1 Bir pozisyonu kapatmak. Uyarmak.
on bir 0/2 Gecikme kaldırma. İşler.
12 2/0 Bir pozisyonu kapatmak. Uyarmak.


Çok basit bir görev gibi görünüyor, ancak uyarı veriyor. Çözümler nelerdir?


Not: Büyük olasılıkla, MT5'i anlamak için çalışmanız gereken çok basit görevlerde.

MQ5'in bununla ne ilgisi var? Döngü çıkış koşulu: Durduruldu ve en fazla iki sipariş. Ardından komut dosyası çalışır ve koşul işe yaramazsa komut dosyası da çalışır.

 
Алексей Тарабанов :

MQ5'in bununla ne ilgisi var? Döngü çıkış koşulu: Durduruldu ve en fazla iki sipariş. Ardından komut dosyası çalışır ve koşul işe yaramazsa komut dosyası da çalışır.

Kod bile yorumlandı.

 
fxsaber :

Komut dosyası, risk fazlalığını izler: toplam pozisyonlar ve gecikmeler ikiden fazlaysa, bildirir ve çıkarız .

Kısa kod:


Çok basit bir görev gibi görünüyor, ancak uyarı veriyor. Çözümler nelerdir?


Not: Büyük olasılıkla, MT5'i anlamak için çalışmanız gereken çok basit görevlerde.

muhtemelen şöyle bir şey yapılmalı:

 void OnStart ()
{
   while (! IsStopped ())
   {
       //--- посчитаем ордера
       int orders = 0 ;
       for ( int i = 0 ; i < OrdersTotal (); i++)
         if ( OrderGetTicket (i) > 0 && OrderGetInteger ( ORDER_TYPE ) < ORDER_TYPE_CLOSE_BY ) orders++;
      
       if (orders + PositionsTotal () > 2 ) break ;     // выходим
   }
   if (! _StopFlag ) Alert ( "Risk exceeded!" );         // сообщаем
}
 
Igor Makanu :

muhtemelen şöyle bir şey yapılmalı:

Tabii ki, siparişleri filtrelemeniz gerekiyor. Bunu yapmak kolay değil.

Tehdit Forumda ilginç bir durum. Soruları aktif olarak cevaplayın. Burada durum farklı gibi.
Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам
Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам
  • 2016.11.09
  • www.mql5.com
В этой ветке я хочу начать свою помощь тем, кто действительно хочет разобраться и научиться программированию на новом MQL4 и желает легко перейти н...