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

 

İşte bekleyen sipariş değiştirme fonksiyonum. Değişiklik yaparken, yeni bir fiyat ve yeni bir stop loss belirledim. İşlev kısmen çalışıyor, ancak bazı nedenlerden dolayı test cihazında hatalar 1 görünüyor.

İşlevim doğru yazılmış mı?

 void MovingPendingOrders( /*int ticket, double newPrice*/ )
{
   double priceS = NormalizeDouble ((Low[ 1 ] - i_thresholdFromInput*pt), Digits );           // Новая цена открытия для OP_SELLSTOP
   double priceB = NormalizeDouble ((High[ 1 ] + i_thresholdFromBasedSL*pt), Digits );         // Новая цена открытия для OP_BUYSTOP
   bool b_mod, s_mod;
  
   int total = OrdersTotal () - 1 ;
   int s_ticket, b_ticket;

   for ( int i=total; i>= 0 ; i--)
  {
     if (! OrderSelect (i,SELECT_BY_POS,MODE_TRADES)) continue ;
       if (OrderMagicNumber() != i_myMagic) continue ;
      {
         if (OrderType() == OP_BUYSTOP)
        {
          b_ticket = OrderTicket();
          b_mod = true ;
        }
         if (OrderType() == OP_SELLSTOP)
        {
          s_ticket = OrderTicket();
          s_mod = true ;
        }
      }
  }
  
   if (IsTradeAllowed())
  {
     if ((b_mod) && (priceB > Ask)) OrderModify(b_ticket,priceB,priceS, 0 , 0 ,Brown);
     if ((s_mod) && (priceS < Bid)) OrderModify(s_ticket,priceS,priceB, 0 , 0 ,Brown);
  }
   Print ( "MovingPendingOrders переоткрыл ордер по новой цене" );
}
 
hoz :

İşlevim doğru yazılmış mı?

 bool b_mod = false ; 
 bool s_mod = false ;
 
hoz :

İşte bekleyen sipariş değiştirme fonksiyonum. Değişiklik yaparken, yeni bir fiyat ve yeni bir stop loss belirledim. İşlev kısmen çalışıyor, ancak bazı nedenlerden dolayı test cihazında hatalar 1 görünüyor.

İşlevim doğru yazılmış mı?

...ve her tikte tekrar tekrar değişiklik yaparsın . ?!
 
BeerGod :

Danışmanın, grafiği daha iyi okunması için kapatan bir çerçevede bazı arka planların üzerine bir yorum görüntülemesini nasıl sağlayacağımı söyleyin, bunun uygulandığını gördüm, ancak nasıl olduğunu bilmiyorum.

Şimdi böyle:

Bunun gibi bir şeye ihtiyacınız var:

Biraz yazı tipi kullanmanız gerekiyor. Hatta belki kendinizinkini yaratın.
 
silatyt :
...ve her tikte tekrar tekrar değişiklik yaparsın. ?!

Evet nereye koyacağımı bilemedim, tamamen tecrübesizlikten uzmanın mantığını karıştırdım. Fonksiyonun çalışıp çalışmadığını kontrol etmek için başlangıca attım.. Evet her tikte oluyordu, hata o yüzden. Ardından, yeni bir çubuk tanımlama işlevinden sonra, onu ekledim ve kodu TheXpert'in önerdiği gibi düzelttim ve her şey olması gerektiği gibi gitti.
 

Tünaydın. Lütfen bana aşağıdakilerden sorumlu olan Expert Advisor kodunun nasıl görünmesi gerektiğini söyleyin:

1. Bir işlem açma koşulu karşılanana kadar, Uzman Danışmanın dayandığı göstergenin parametrelerini (belirli bir aralıkta, örneğin 10 ila 20 arasında) sırayla yineler.

2. Numaralandırmadan sonra koşul hala sağlanmadıysa 5 dakika bekleriz.

 
Tünaydın. Standart mql4 araçlarını kullanarak kod yürütme göndermenin mümkün olup olmadığını söyleyebilir misiniz, örneğin, satır 35'ten satır 18'e (örneğin satırlar için satırlar). Bir tür kod atlaması.
 
tpg_k156 :
Tünaydın. Standart mql4 araçlarını kullanarak kod yürütme göndermenin mümkün olup olmadığını söyleyebilir misiniz, örneğin, satır 35'ten satır 18'e (örneğin satırlar için satırlar). Bir nevi kodda atlama.

switch/if-else deyimleri

ve özellikler

 
sergeev :

switch/if-else deyimleri

ve özellikler



yani, işlevin gövdesinden, kendisini tekrar yürütmeye zorlamak mümkün mü? tip
 int Gipo()                   // Пользовательская функция  
{
всякая фигня
if (получили-что-надо)
 {
 return (что-надо);
 }
else
 {
 Gipo();
 }
}
???
 
tpg_k156 :

yani, işlevin gövdesinden, kendisini tekrar yürütmeye zorlamak mümkün mü? tip


Evet. buna özyineleme denir.