MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma - sayfa 375

 
Falx :

Herkese iyi günler!

1 mum için 1'den fazla sipariş açmaması için lütfen bana robotun komutunu söyleyin.

Bu mumu almış olsa bile, aynı mumdan bir sonraki siparişi açmayın.

Şimdi, göstergelerin koşulları karşılanırsa bir anlaşma açılacağı ortaya çıktı.

Alım satımı kapandıktan sonra hemen aynı mum üzerinde yeni bir alım satım açıyor ve artık buna ihtiyacım kalmadı ve sorun yaratıyor.

Ya da bunu nerede okuyacağımı söyler misin, böylece kendin çözebilirsin.

Kesinlikle 1 mum - 1 anlaşmaya ihtiyacınız var.

Şimdiden teşekkürler!

Pozisyon açılış zamanı, pozisyon kapanış zamanı - bu zamanın hangi mum üzerinde ve bu mumun açılış zamanı.
 
Falx :

Herkese iyi günler!

1 mum için 1'den fazla sipariş açmaması için lütfen bana robotun komutunu söyleyin.

Bu mumu almış olsa bile, aynı mumdan bir sonraki siparişi açmayın.

Şimdi, göstergelerin koşulları karşılanırsa bir anlaşma açılacağı ortaya çıktı.

Alım satımı kapandıktan sonra hemen aynı mum üzerinde yeni bir alım satım açıyor ve artık buna ihtiyacım kalmadı ve sorun yaratıyor.

Ya da bunu nerede okuyacağımı söyler misin, böylece kendin çözebilirsin.

Kesinlikle 1 mum - 1 anlaşmaya ihtiyacınız var.

Şimdiden teşekkürler!

Bir bayrak da kullanabilirsiniz.

Statik bir bool değişkeni veya global seviye değişkeni bildirin, bayrak olmasına izin verin. Emir açıldı - bayrak = doğru, yeni bir mum açıldı - bayrak = yanlış ve bu bayrağı emir açma koşuluna ekleyin.

 
Alexey Viktorov :

Bir bayrak da kullanabilirsiniz.

Statik bir bool değişkeni veya global seviye değişkeni bildirin, bayrak olmasına izin verin. Emir açıldı - bayrak = doğru, yeni bir mum açıldı - bayrak = yanlış ve bu bayrağı emir açma koşuluna ekleyin.

Bayrak global terminale kaydedilmeli ve yeniden başlatıldığında geri yüklenmelidir.
 
Artyom Trishkin :
Bayrak global terminale kaydedilmeli ve yeniden başlatıldığında geri yüklenmelidir.

Bu, işlemin hangi periyodda olduğuna ve bir emir açmak ve terminali yeniden başlatmak için bir çubuk içinde terminali yeniden başlatma olasılığına bağlıdır.

GV'yi sevmiyorum ve onlarsız yapmaya çalışıyorum. Expert Advisor'ı başlatırken, yine de açık siparişlerle ilgili tüm bilgileri toplamanız gerekiyor, peki neden başlangıçta bayrak değerini geri yüklemiyorsunuz? Bu bir seçenek. İkinci seçenek, bayrağın başlangıç değeri, emirlerin açılmasını yasaklar ve sadece bir sonraki çubukta izin açar. Öyle ki, mevcut çubuk açılsa ve danışman yeniden başlatılsa bile, herhangi birinin bayrağı bir sonraki çubuğa kadar siparişlerin açılmasını yasaklayacaktır.

Sadece, bu tür inceliklerle tavsiye verirseniz, o zaman kendiniz hiçbir şey düşünmek zorunda kalmazsınız. Buna göre, soru sayısındaki artış hariç tutulmaz ... Neden bir şeye kendiniz karar verin ... forumda sorun ve size çalışan bir sürüm verecekler. Geriye de ürünü piyasaya sürmek kalıyor...

 
Alexey Viktorov :

Bu, işlemin hangi periyodda olduğuna ve bir emir açmak ve terminali yeniden başlatmak için bir çubuk içinde terminali yeniden başlatma olasılığına bağlıdır.

GV'yi sevmiyorum ve onlarsız yapmaya çalışıyorum. Expert Advisor'ı başlatırken, yine de açık siparişlerle ilgili tüm bilgileri toplamanız gerekiyor, peki neden başlangıçta bayrak değerini geri yüklemiyorsunuz? Bu bir seçenek. İkinci seçenek, bayrağın başlangıç değeri, emirlerin açılmasını yasaklar ve sadece bir sonraki çubukta izin açar. Öyle ki, mevcut çubuk açılsa ve danışman yeniden başlatılsa bile, herhangi birinin bayrağı bir sonraki çubuğa kadar siparişlerin açılmasını yasaklayacaktır.

Sadece, bu tür inceliklerle tavsiye verirseniz, o zaman kendiniz hiçbir şey düşünmek zorunda kalmazsınız. Buna göre, soru sayısındaki artış hariç tutulmaz ... Neden bir şeye kendiniz karar verin ... forumda sorun ve size çalışan bir sürüm verecekler. Geriye de ürünü piyasaya sürmek kalıyor...

:)
Doğrudan geleceğe bakma alışkanlığım var.
Benim için, tam olarak, bir pozisyon açmak için çubuğa bakmanın ve ondan dans etmenin ve bayraklarla ve bunların depolanmasıyla uğraşmamanın daha iyi olduğu bayrakları geri yüklemeniz gerektiği içindir.
 
Artyom Trishkin :
:)
Doğrudan geleceğe bakma alışkanlığım var.
Benim için, tam olarak, bir pozisyon açmak için çubuğa bakmanın ve ondan dans etmenin ve bayraklarla ve bunların depolanmasıyla uğraşmamanın daha iyi olduğu bayrakları geri yüklemeniz gerektiği içindir.

Farklı kadınları sevmemizin nedeni de bu.

Ve fark nedir, pozisyonun bayrağı veya açılış zamanı??? Kim ne derse desin, ama yine de bir şeylerin kontrol edilmesi gerekiyor ...
 

Merhaba! Karlı olanlardan sonra son kârsız siparişlerin sayısını nasıl iade edeceğimi söyle?

İşte kodun benim kısmım, sorun ne?

int GetProfitLoss()// Kapanan siparişlerdeki kayıp (son kaybedilen siparişlerin sayısı)

{

int Kayıp = 0;

tarihsaat lastCloseTime = 0;

int cnt = OrdersHistoryTotal();

for(int i=0; i < cnt; i++)

{

if ( OrderSelect (i, SELECT_BY_POS, MODE_HISTORY))

{

if (OrderSymbol() == Symbol() && OrderMagicNumber() == OrderId && lastCloseTime < OrderCloseTime())

{

lastCloseTime = OrderCloseTime();

}

if (OrderProfit()<0)

{

kayıp++;

}

if(SiparişProfit()>0)

{

kırmak; // İlk karşılaşılan karlı olan döngüden çıkın }

}

}

}

}

geri dönüş kaybı);

}

 
Falx :

Herkese iyi günler!

1 mum için 1'den fazla sipariş açmaması için lütfen bana robotun komutunu söyleyin.

Bu mumu almış olsa bile, aynı mumdan bir sonraki siparişi açmayın.

Şimdi, göstergelerin koşulları karşılanırsa bir anlaşma açılacağı ortaya çıktı.

Alım satımı kapandıktan sonra hemen aynı mum üzerinde yeni bir alım satım açıyor ve artık buna ihtiyacım kalmadı ve sorun yaratıyor.

Ya da bunu nerede okuyacağımı söyler misin, böylece kendi başına çözebilirsin.

Kesinlikle 1 mum - 1 anlaşmaya ihtiyacınız var.

Şimdiden teşekkürler!

NumberOfBarCloseLastPos() işlevi.

Bu işlev, son konumun kapatma çubuğunun numarasını veya -1 değerini döndürür. Dikkate alınacak pozisyonların seçimi harici parametreler tarafından belirlenir:

  • sy - Piyasa aracının adı. Bu parametreyi ayarlarsanız, işlev yalnızca belirtilen takımın konumlarını dikkate alacaktır. Varsayılan değer - NULL , mevcut piyasa aracı anlamına gelir.
  • tf - Zaman çerçevesi. Varsayılan değer - 0 , geçerli zaman çerçevesi anlamına gelir.
  • op - Ticaret işlemi , pozisyon türü. Geçerli değerler: OP_BUY , OP_SELL veya -1 . Varsayılan değer -1 , herhangi bir konum anlamına gelir.
  • mn - Konum Kimliği, MagicNumber. Varsayılan değer -1 , herhangi bir tanımlayıcı anlamına gelir.
 //+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 19.02.2008                                                     |
//|  Описание : Возвращает номер бара закрытия последней позиции или -1.       |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    sy - наименование инструмента   ("" или NULL - текущий символ)          |
//|    tf - таймфрейм                  (    0       - текущий таймфрейм)       |
//|    op - операция                   (   -1       - любая позиция)           |
//|    mn - MagicNumber                (   -1       - любой магик)             |
//+----------------------------------------------------------------------------+
int NumberOfBarCloseLastPos( string sy= "0" , int tf= 0 , int op=- 1 , int mn=- 1 ) {
   datetime t=0;
   int       i, k= OrdersHistoryTotal ();

   if (sy== "" || sy== "0" ) sy= Symbol ();
   for (i= 0 ; i<k; i++) {
     if ( OrderSelect (i, SELECT_BY_POS , MODE_HISTORY )) {
       if ( OrderSymbol ()==sy) {
         if ( OrderType ()== OP_BUY || OrderType ()== OP_SELL ) {
           if (op< 0 || OrderType ()==op) {
             if (mn< 0 || OrderMagicNumber ()==mn) {
               if (t< OrderCloseTime ()) t= OrderCloseTime ();
            }
          }
        }
      }
    }
  }
   return ( iBarShift (sy, tf, t, True ));
}
 //+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 19.02.2008                                                     |
//|  Описание : Возвращает номер бара открытия последней позиции или -1.       |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    sy - наименование инструмента   ("" или NULL - текущий символ)          |
//|    tf - таймфрейм                  (    0       - текущий таймфрейм)       |
//|    op - операция                   (   -1       - любая позиция)           |
//|    mn - MagicNumber                (   -1       - любой магик)             |
//+----------------------------------------------------------------------------+
int NumberOfBarOpenLastPos( string sy= "0" , int tf= 0 , int op=- 1 , int mn=- 1 ) {
   datetime t= 0 ;
   int       i, k= OrdersTotal ();

   if (sy== "" || sy== "0" ) sy= Symbol ();
   for (i= 0 ; i<k; i++) {
     if ( OrderSelect (i, SELECT_BY_POS , MODE_TRADES )) {
       if ( OrderSymbol ()==sy) {
         if ( OrderType ()== OP_BUY || OrderType ()== OP_SELL ) {
           if (op< 0 || OrderType ()==op) {
             if (mn< 0 || OrderMagicNumber ()==mn) {
               if (t< OrderOpenTime ()) t= OrderOpenTime ();
            }
          }
        }
      }
    }
  }
   return ( iBarShift (sy, tf, t, True ));
}

NumberOfBarOpenLastPos() işlevi.

Bu işlev, son konumun veya -1'in açılmasının çubuk numarasını döndürür. Dikkate alınacak pozisyonların seçimi harici parametreler tarafından belirlenir:

  • sy - Piyasa aracının adı. Bu parametreyi ayarlarsanız, işlev yalnızca belirtilen takımın konumlarını dikkate alacaktır. Varsayılan değer - NULL , mevcut piyasa aracı anlamına gelir.
  • tf - Zaman çerçevesi. Varsayılan değer - 0 , geçerli zaman çerçevesi anlamına gelir.
  • op - Ticaret işlemi, pozisyon türü. Geçerli değerler: OP_BUY , OP_SELL veya -1 . Varsayılan değer -1 , herhangi bir konum anlamına gelir.
  • mn - Konum Kimliği, MagicNumber. Varsayılan değer -1 , herhangi bir tanımlayıcı anlamına gelir.

Ardından, ihtiyacınız olan durumu kontrol etmek için bu işlevleri kullanın.

 

Lütfen yardım et.

Robota aşağıdaki işlevi eklemeniz gerekir:

Anlaşma açıldıktan 40 saniye sonra kar 15 puandan fazla ise anlaşma anında kapatılır, daha az ise kar al 15 puanlık kar seviyesine geçer.

Şimdiden teşekkür ederim.

 
Vladimir Zubov :

NumberOfBarCloseLastPos() işlevi.

Bu işlev, son konumun kapatma çubuğunun numarasını veya -1 değerini döndürür. Dikkate alınacak pozisyonların seçimi harici parametreler tarafından belirlenir:

  • sy - Piyasa aracının adı. Bu parametreyi ayarlarsanız, işlev yalnızca belirtilen takımın konumlarını dikkate alacaktır. Varsayılan değer - NULL , mevcut piyasa aracı anlamına gelir.
  • tf - Zaman çerçevesi. Varsayılan değer - 0 , geçerli zaman çerçevesi anlamına gelir.
  • op - Ticaret işlemi , pozisyon türü. Geçerli değerler: OP_BUY , OP_SELL veya -1 . Varsayılan değer -1 , herhangi bir konum anlamına gelir.
  • mn - Konum Kimliği, MagicNumber. Varsayılan değer -1 , herhangi bir tanımlayıcı anlamına gelir.

NumberOfBarOpenLastPos() işlevi.

Bu işlev, son konumun veya -1'in açılmasının çubuk numarasını döndürür. Dikkate alınacak pozisyonların seçimi harici parametreler tarafından belirlenir:

  • sy - Piyasa aracının adı. Bu parametreyi ayarlarsanız, işlev yalnızca belirtilen takımın konumlarını dikkate alacaktır. Varsayılan değer - NULL , mevcut piyasa aracı anlamına gelir.
  • tf - Zaman çerçevesi. Varsayılan değer - 0 , geçerli zaman çerçevesi anlamına gelir.
  • op - Ticaret işlemi, pozisyon türü. Geçerli değerler: OP_BUY , OP_SELL veya -1 . Varsayılan değer -1 , herhangi bir konum anlamına gelir.
  • mn - Konum Kimliği, MagicNumber. Varsayılan değer -1 , herhangi bir tanımlayıcı anlamına gelir.

Ayrıca bu işlevleri kullanarak ihtiyacınız olan durumu kontrol edin.


Sana büyük insan Arigato!

içine gireceğim!!