KimIV'ten faydalı özellikler - sayfa 55

 
Rosh писал(а) >>

Böyle bir işlev yoktur. Nesneler yalnızca Expert Advisor'ın eklendiği çizelge üzerinde oluşturulabilir ve yönetilebilir.

Hemen yanıt verdiğiniz için teşekkür ederiz. Ve Metatrader'ın 5. versiyonunda mı olacak?

 
KimIV, ancak koleksiyonunuzda tüm açık emirleri tek bir komutla kapatacak bir komut dosyası yok: buy, sell, buystop, sellstop, buylimit, selllimit - zorla, döngüsel, böylece hatasız kapanır ve hepsi bu ???
 

http://forum.alpari-idc.ru/showpost.php?p=368730&postcount=24

Burada buldum.

 
KimIV, ancak koleksiyonunuzda bunun gibi bir komut dosyası yok - ByMarketBuySymbols ve ByMarketSellSymbols, yalnızca ortak, yani diyelim ki komut dosyası alım için 5, satış için 2 konum mu açıyor?
 
Sevgili KimIV,

Harika iş için çok teşekkür ederim.

Talep: Mümkünse, ilk gönderide, şubenin ilgili sayfalarına bağlantılar ve kısa bir açıklama ile fonksiyonlarınızın / komut dosyalarınızın listesini yayınlayın ve güncelleyin. O zaman süper bir araç olacak! Ve sonra birileri bir şeyler hakkında "Kim'e gönderecek" ve sonra bulmak için uzun bir süre burayı kaydırıyorsunuz ...

 

MovingInWL() işlevi.

Açık pozisyonların StopLoss fiyat seviyesini başa baş noktasına taşır. MovingInWL() işlevi, aşağıdaki isteğe bağlı parametreleri kabul eder:

  • sy - Araç adı. "" - herhangi bir karakter, NULL - geçerli karakter. Varsayılan değer "" dir.
  • op - Ticaret işlemi. Geçerli değerler: -1 , OP_BUY , OP_SELL . Varsayılan değer -1 - herhangi bir işlemdir.
  • mn - Ticaret işlemlerinin tanımlayıcısı, MagicNumber . Varsayılan değer -1 - herhangi bir büyü.

Ek olarak, MovingInWL() işlevi, global değişkenlerin (bir komut dosyasının veya bir Uzman Danışmanın harici parametreleri) varlığını varsayar:

  • int LevelProfit - Duruşunun başabaş seviyesine taşınması için pozisyonun ulaşması gereken puan cinsinden kar seviyesi.
  • int LevelWLoss - Karı puan olarak LevelProfit düzeyine ulaştıktan sonra pozisyonun durdurulacağı noktalarda başabaş düzeyi.
 //+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,   http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 11.09.2008                                                     |
//|  Описание : Перенос уровня стопа в безубыток                               |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    sy - наименование инструмента   ( ""  - любой символ,                   |
//|                                     NULL - текущий символ)                 |
//|    op - операция                   ( -1  - любая позиция)                  |
//|    mn - MagicNumber                ( -1  - любой магик)                    |
//+----------------------------------------------------------------------------+
void MovingInWL ( string sy = "" , int op = - 1 , int mn = - 1 ) {
   double po , pp ;
   int     i , k = OrdersTotal ( ) ;

   for ( i = 0 ; i < k ; i + + ) {
     if ( OrderSelect ( i , SELECT_BY_POS , MODE_TRADES ) ) {
      po = MarketInfo ( OrderSymbol ( ) , MODE_POINT ) ;
       if ( OrderType ( ) = = OP_BUY ) {
         if ( OrderStopLoss ( ) - OrderOpenPrice ( ) < LevelWLoss * po ) {
          pp = MarketInfo ( OrderSymbol ( ) , MODE_BID ) ;
           if ( pp - OrderOpenPrice ( ) > LevelProfit * po ) {
            ModifyOrder ( - 1 , OrderOpenPrice ( ) + LevelWLoss * po , - 1 ) ;
           }
         }
       }
       if ( OrderType ( ) = = OP_SELL ) {
         if ( OrderStopLoss ( ) = = 0 | | OrderOpenPrice ( ) - OrderStopLoss ( ) < LevelWLoss * po ) {
          pp = MarketInfo ( OrderSymbol ( ) , MODE_ASK ) ;
           if ( OrderOpenPrice ( ) - pp > LevelProfit * po ) {
            ModifyOrder ( - 1 , OrderOpenPrice ( ) - LevelWLoss * po , - 1 ) ;
           }
         }
       }
     }
   }
}

not. MovingInWL() işlevini kullanma örneğine sahip bir Uzman Danışman burada bulunabilir.

 
mamma писал(а) >>
mümkünse, ilk gönderide, şubenin ilgili sayfalarına bağlantılar ve kısa bir açıklama ile fonksiyonlarınızın / komut dosyalarınızın listesini yayınlayın ve güncelleyin.

İlk sayfada artık mümkün değil ...

Burada yayınlayacağım... Güncelleme için gönderi engellenirse tekrar gönderirim. O yüzden takipte kalın :-)

Dosyalar:
f_kimiv_1.rar  11 kb
 

SimpleTrailing() işlevi.

Açık pozisyonların StopLoss fiyat seviyesini TrailingStop algoritmasına göre hareket ettirir. SimpleTrailing() işlevi, aşağıdaki isteğe bağlı parametreleri kabul eder:

  • sy - Araç adı. "" - herhangi bir karakter, NULL - geçerli karakter. Varsayılan değer "" dir.
  • op - Ticaret işlemi. Geçerli değerler: -1 , OP_BUY , OP_SELL . Varsayılan değer -1 - herhangi bir işlemdir.
  • mn - Ticaret işlemlerinin tanımlayıcısı, MagicNumber. Varsayılan değer -1 - herhangi bir büyü.

Ayrıca SimpleTrailing() işlevi, global değişkenlerin (bir komut dosyasının veya bir Uzman Danışmanın harici parametreleri) varlığını varsayar:

  • bool TSProfitOnly - Trolün çalışmaya başladığı bölgenin anahtarı. True ise, takip yalnızca pozisyon karı TStop.Buy/Sell+TrailingStep puanlarının değerine ulaştıktan sonra çalışmaya başlar. False ise, EA, pozisyonun mevcut fiyata göre durmasının her zaman TStop.Buy/Sell+TrailingStep puanlarından daha fazla olmamasını sağlayacaktır. Başka bir deyişle, True ise EA yalnızca pozisyonun kar bölgesinde, False ise negatif bölgede çalışır.
  • int TStop.Buy - Satın almalar için puan cinsinden trol boyutu.
  • int TStop.Sell - Satış için puan olarak trolün boyutu.
  • int TrailingStep - Nokta cinsinden takip eden adım. Satıcıyı sık sık taleplerle eziyet etmemek için gereklidir.
 //+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 11.09.2008                                                     |
//|  Описание : Сопровождение позиций простым тралом                           |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    sy - наименование инструмента   ( ""  - любой символ,                   |
//|                                     NULL - текущий символ)                 |
//|    op - операция                   ( -1  - любая позиция)                  |
//|    mn - MagicNumber                ( -1  - любой магик)                    |
//+----------------------------------------------------------------------------+
void SimpleTrailing ( string sy = "" , int op = - 1 , int mn = - 1 ) {
   double po , pp ;
   int     i , k = OrdersTotal ( ) ;

   if ( sy = = "0" ) sy = Symbol ( ) ;
   for ( i = 0 ; i < k ; i + + ) {
     if ( OrderSelect ( i , SELECT_BY_POS , MODE_TRADES ) ) {
       if ( ( OrderSymbol ( ) = = sy | | sy = = "" ) & & ( op < 0 | | OrderType ( ) = = op ) ) {
        po = MarketInfo ( OrderSymbol ( ) , MODE_POINT ) ;
         if ( mn < 0 | | OrderMagicNumber ( ) = = mn ) {
           if ( OrderType ( ) = = OP_BUY ) {
            pp = MarketInfo ( OrderSymbol ( ) , MODE_BID ) ;
             if ( ! TSProfitOnly | | pp - OrderOpenPrice ( ) > TStop . Buy * po ) {
               if ( OrderStopLoss ( ) < pp - ( TStop . Buy + TrailingStep - 1 ) * po ) {
                ModifyOrder ( - 1 , pp - TStop . Buy * po , - 1 ) ;
               }
             }
           }
           if ( OrderType ( ) = = OP_SELL ) {
            pp = MarketInfo ( OrderSymbol ( ) , MODE_ASK ) ;
             if ( ! TSProfitOnly | | OrderOpenPrice ( ) - pp > TStop . Sell * po ) {
               if ( OrderStopLoss ( ) > pp + ( TStop . Sell + TrailingStep - 1 ) * po | | OrderStopLoss ( ) = = 0 ) {
                ModifyOrder ( - 1 , pp + TStop . Sell * po , - 1 ) ;
               }
             }
           }
         }
       }
     }
   }
}

not. SimpleTrailing() işlevini kullanma örneğini içeren bir EA burada bulunabilir.

 

//-------Harici modüllerin bağlanması ------------------------------------------ ---+

#include "b-Positions.mqh" // Konumlarla çalışma

Bu dosyayı nerede bulabilirim?

 
beginner писал(а) >>

//-------Harici modüllerin bağlanması ------------------------------------------ ---+

#include "b-Positions.mqh" // Konumlarla çalışma

Bu dosyayı nerede bulabilirim?

burada