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

 
rigonich :

Daha kesin cevap vermek için danışmanın koduna bakmanız gerekir. Ancak bu genellikle, bir danışman yazarken, danışmanların çalışmalarının göstergeler adı verilen bazı özellikleri dikkate alınmadığında olur. Uzman Danışmanlar gösterge değerlerini kendileri hesaplamazlar, gösterge tamponlarından hazır olarak alırlar. Bu nedenle, örneğin göstergenin önceki değerlerini veya göstergenin kendisinin yaptığı başka bir şeyi hatırlamak gerekirse, tüm bunlar danışmanda sağlanmalıdır. En azından kod tabanında böylelerini gördüm.Eh, standart bir stokastik var gibi görünse de "çarpık" göstergeler de var ve bu onun için geçerli değil.


Cevap için teşekkürler, ama bana pek yardımcı olmadı, sorunu tekrar gönderiyorum, belki başka birinin bu konuda bazı düşünceleri vardır ???

Tünaydın! Lütfen yardım edin, neden gereksiz siparişler açıldığını anlayamıyorum ((, ekranda kırmızı daire içine alınmış, kod ektedir...

Dosyalar:
 
rigonich :

Eğer öyleyse, bu yardım geliştiricileri için bir sorudur.


Buradaki geliştiricilerin bununla ilgisi yoktu. :__

( Hour()>=10 || Hour()<20 ) yerine basit bir Hour()>=10 && Hour()<20 yapmalıydınız

ve her şey çalıştı

 
beyler, görselleştirme penceresindeki işlemlerle birlikte test cihazını nasıl yapacağımı söyleyin, ayrıca danışmanda kullanılan göstergeleri de çizin?
 

"Eğer son anlaşma kâr al ile kapatılırsa > 0 ise ..." koşulunun nasıl kodlandığını görmek için nerede arama yapacağımı söyle

onlar. zaten kapalı (otomatik olarak) işlemlerin muhasebeleştirilmesi.

 
lottamer :

"Eğer son anlaşma kâr al ile kapatılırsa > 0 ise ..." koşulunun nasıl kodlandığını görmek için nerede arama yapacağımı söyle

onlar. zaten kapalı (otomatik olarak) işlemlerin muhasebeleştirilmesi.


https://www.mql5.com/ru/forum/131859

https://www.mql5.com/ru/forum/131859/page4#434230

isCloseLastPosByTake() işlevi.

Bu fonksiyon, son pozisyonu al ile kapatmak için bayrağı döndürür. Bayrak kaldırıldı - Doğru - TakeProfit çalıştı. Bayrak atlandı - Yanlış - pozisyon başka bir nedenle kapatıldı. Dikkate alınacak pozisyonların daha doğru 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 "" herhangi bir piyasa aracı anlamına gelir. NULL , geçerli enstrüman 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.05.2008                                                     |
    //|  Описание : Возвращает флаг закрытия последней позиции по тейку.           |
    //+----------------------------------------------------------------------------+
    //|  Параметры:                                                                |
    //|    sy - наименование инструмента   (""   - любой символ,                   |
    //|                                     NULL - текущий символ)                 |
    //|    op - операция                   (-1   - любая позиция)                  |
    //|    mn - MagicNumber                (-1   - любой магик)                    |
    //+----------------------------------------------------------------------------+
    bool isCloseLastPosByTake( string sy= "" , int op=- 1 , int mn=- 1 ) {
       datetime t;
       double    ocp, otp;
       int       dg, i, j=- 1 , k=OrdersHistoryTotal();
    
       if (sy== "0" ) sy= Symbol ();
       for (i= 0 ; i<k; i++) {
         if ( OrderSelect (i, SELECT_BY_POS, MODE_HISTORY)) {
           if (OrderSymbol()==sy || sy== "" ) {
             if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
               if (op< 0 || OrderType()==op) {
                 if (mn< 0 || OrderMagicNumber()==mn) {
                   if (t<OrderCloseTime()) {
                    t=OrderCloseTime();
                    j=i;
                  }
                }
              }
            }
          }
        }
      }
       if ( OrderSelect (j, SELECT_BY_POS, MODE_HISTORY)) {
        dg=MarketInfo(sy, MODE_DIGITS);
         if (dg== 0 ) if ( StringFind (OrderSymbol(), "JPY" )< 0 ) dg= 4 ; else dg= 2 ;
        ocp= NormalizeDouble (OrderClosePrice(), dg);
        otp= NormalizeDouble (OrderTakeProfit(), dg);
         if (ocp==otp) return (True);
      }
       return (False);
    }

 
BeerGod :

https://www.mql5.com/ru/forum/131859

https://www.mql5.com/ru/forum/131859/page4#434230

isCloseLastPosByTake() işlevi.

Bu fonksiyon, son pozisyonu alma ile kapatmak için bayrağı döndürür. Bayrak kaldırıldı - Doğru - TakeProfit çalıştı. Bayrak atlandı - Yanlış - pozisyon başka bir nedenle kapatıldı. Dikkate alınacak pozisyonların daha doğru 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 "" herhangi bir piyasa aracı anlamına gelir. NULL , geçerli enstrüman 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.




Teşekkür ederim, kendim KIM Kütüphanelerine rastladım .. (Yoldaş Kim görünüşe göre forex dünyasının İŞARETLERİ gibidir - SERMAYE yazdı ... ve şimdi hepimiz ondan alıntı yapıyoruz (yani onları danışmanlarımıza ekliyoruz)) ... orada "bayraklar" var, farklı varyasyonlarda son fırsatlar var ...

Henüz #includ kullanmadım....

birkaç kelime ile açıklayabilir misin?

üstüne # include (mqh dosya adı) yazıyorum

ama kodda? sadece kullanıcı funk nereye eklenir? Örneğin

GetTypeLastClosePos();

sıradaki ne ?

Bundan, pozisyonun TÜRÜ bana TAM OLARAK NE döndürecek?

 int GetTypeLastClosePos( string sy= "" , int mn=- 1 ) {
   datetime t;
   int       i, k=OrdersHistoryTotal(), r=- 1 ;

   if (sy== "0" ) sy= Symbol ();
   for (i= 0 ; i<k; i++) {
     if ( OrderSelect (i, SELECT_BY_POS, MODE_HISTORY)) {
       if ((OrderSymbol()==sy || sy== "" ) && (mn< 0 || OrderMagicNumber()==mn)) {
         if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
           if (t<OrderCloseTime()) {
            t=OrderCloseTime();
            r=OrderType();
          }
        }
      }
    }
  }
   return (r);
}

Sipariş türü() ?

onlar. o zaman eğer ( OrderType() ==TRUE ) şöyle böyle yaparsa... doğru mu?

 
Test cihazının işlevleri çevrimiçi ticaret için olanlardan nasıl farklıdır?
 
Teorik olarak, ticaret sunucusuyla etkileşime girerken hata işleme .
 
lottamer :


Teşekkür ederim, kendim KIMA Kütüphanelerine rastladım .. (Yoldaş Kim görünüşe göre forex dünyasının İŞARETLERİ gibidir - BÜYÜK HALE yazdı ... ve şimdi hepimiz ondan alıntı yapıyoruz (yani onları danışmanlarımıza ekliyoruz)) ... orada "bayraklar" var, farklı varyasyonlarda son fırsatlar var ...

Henüz #includ kullanmadım....

birkaç kelime ile anlatabilir misin?

üstüne # include (mqh dosya adı) yazıyorum

ama kodda? sadece kullanıcı funk nereye eklenir? Örneğin

GetTypeLastClosePos();

sıradaki ne ?

Bundan, pozisyonun TÜRÜNÜ bana TAM OLARAK NE döndürecek?

Sipariş türü() ?

onlar. o zaman eğer ( OrderType() ==TRUE ) şöyle böyle yaparsa... doğru mu?

Fonksiyonlar, dönüş (0)'dan sonra eklenmelidir;

GetTypeLastClosePos() işlevi, bir satın alma varsa 0, satış varsa 1 veya geçmişte hiçbir şey yoksa -1 döndürür.

 //+------------------------------------------------------------------+
//|                                                          123.mq4 |
//|                        Copyright 2012, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright 2012, MetaQuotes Software Corp."
#property link       "http://www.metaquotes.net"

//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----
   
//----
   return ( 0 );
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return ( 0 );
  }
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
//----
if (isCloseLastPosByTake()== true ) Comment ( "Профит" ); else Comment ( "ХЗ" );   
//----
   return ( 0 );
  }
//+------------------------------------------------------------------+
//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 19.05.2008                                                     |
//|  Описание : Возвращает флаг закрытия последней позиции по тейку.           |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    sy - наименование инструмента   (""   - любой символ,                   |
//|                                     NULL - текущий символ)                 |
//|    op - операция                   (-1   - любая позиция)                  |
//|    mn - MagicNumber                (-1   - любой магик)                    |
//+----------------------------------------------------------------------------+
bool isCloseLastPosByTake( string sy= "" , int op=- 1 , int mn=- 1 ) {
   datetime t;
   double    ocp, otp;
   int       dg, i, j=- 1 , k=OrdersHistoryTotal();

   if (sy== "0" ) sy= Symbol ();
   for (i= 0 ; i<k; i++) {
     if ( OrderSelect (i, SELECT_BY_POS, MODE_HISTORY)) {
       if (OrderSymbol()==sy || sy== "" ) {
         if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
           if (op< 0 || OrderType()==op) {
             if (mn< 0 || OrderMagicNumber()==mn) {
               if (t<OrderCloseTime()) {
                t=OrderCloseTime();
                j=i;
              }
            }
          }
        }
      }
    }
  }
   if ( OrderSelect (j, SELECT_BY_POS, MODE_HISTORY)) {
    dg=MarketInfo(sy, MODE_DIGITS);
     if (dg== 0 ) if ( StringFind (OrderSymbol(), "JPY" )< 0 ) dg= 4 ; else dg= 2 ;
    ocp= NormalizeDouble (OrderClosePrice(), dg);
    otp= NormalizeDouble (OrderTakeProfit(), dg);
     if (ocp==otp) return (True);
  }
   return (False);
}
 
BeerGod :

Fonksiyonlar, dönüş (0)'dan sonra eklenmelidir;

GetTypeLastClosePos() işlevi, bir satın alma varsa 0, satış varsa 1 veya geçmişte hiçbir şey yoksa -1 döndürür.



anladım teşekkürler.

ama yine de, işlev #include dosyasındaysa, nasıl yok edilir?