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

 

hoz :

1. Если эксперт снять с графика тоже поступит команда ТРУ от  IsStopped()  ?

2. yani daha sık, yalnızca baykuşları veya komut dosyalarını grafikten ve diğer bazılarından çıkarırken. Bu özelliğin çalışması için bir neden var mı?

3. Bununla ilgili nereden okuyabilirim?

4. Ve işlevin gövdesinde, koşul karşılandığında bir koşul oluşturun, ardından IsStopped() = true , değil mi?

1. Evet.

2. Sadece programdan çıkarma hakkında bilgim var.

3. Bilmiyorum.

4. Yapabilirsin, işe yarayacak.

 
4. ?
 
tara :
4. ?

?
 
tara :
4. ?

Muhtemelen soruyu anlamadı. IsStopped()=true olacak şekilde kendiniz yaparsanız - bu imkansızdır.
 
hoz :

?

Uygulamayı gösterin, aksi takdirde onu bir kare üç terimli olarak hayal bile edemiyorum.
 
Integer :

Muhtemelen soruyu anlamadı. IsStopped()=true olacak şekilde kendiniz yaparsanız - bu imkansızdır.

Herşey. Soru kaldırıldı.
 
Integer :

Muhtemelen soruyu anlamadı. IsStopped()=true olacak şekilde kendiniz yaparsanız - bu imkansızdır.


Bu yüzden anlaşılabilir. Bunu kendim yapmak istemedim. Aslında, döngüde bir şey yürütülürse, uzman veya komut dosyası tablodan kaldırılana kadar yürütülür ve buna göre, o anda komut sunucuya gönderilir:

IsStoped() = true ;

TarasBy tarafından yazılan fonksiyonları burada açtım (kendimi yazıyorum ama periyodik olarak bakıyorum çünkü ilginç bir yaklaşımı var). Yani orada bu işlevi vardır:

 //IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII+
//|  Автор : TarasBY, taras_bulba@tut.by                                              |
//+-----------------------------------------------------------------------------------+
//|        Запускаем в цикл получение рыночной цены.                                  |
//IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII+
double fGet_TradePrice ( int fi_Price,           // Цена: 0 - Bid; 1 - Ask
                         bool fb_RealTrade,       // реальная торговля или оптимизация\тестирование
                         string fs_Symbol = "" )   // валютная пара
{
     double ld_Price = 0.0 ;
//----
     if (fs_Symbol == "" )
    {
       fs_Symbol = Symbol ();
    }
     //RefreshRates();
     switch (fi_Price)
    {
       case 0 :
           if (fb_RealTrade)
          {
             while (ld_Price == 0.0 )
             {
                 if (fs_Symbol == Symbol ())
                {
                   ld_Price = Bid;
                }
                 else
                {
                   ld_Price = MarketInfo (fs_Symbol, MODE_BID);
                }
                 if (!IsExpertEnabled() || IsStopped ())
                {
                   break ;
                }
                 Sleep ( 50 );
                RefreshRates();
             }
          }
           else
          {
             if (fs_Symbol == Symbol ())
             {
                 return (Bid);
             }
             else
             {
                 return (MarketInfo (fs_Symbol, MODE_BID));
             }
          }
           break ;
       case 1 :
           if (fb_RealTrade)
          {
             while (ld_Price == 0.0 )
             {
                 if (fs_Symbol == Symbol ())
                {
                   ld_Price = Ask;
                }
                 else
                {
                   ld_Price = MarketInfo (fs_Symbol, MODE_ASK);
                }
                 if (!IsExpertEnabled() || IsStopped ())
                {
                   break ;
                }
                 Sleep ( 50 );
                RefreshRates();
             }
          }
           else
          {
             if (fs_Symbol == Symbol ())
             {
                 return (Ask);
             }
             else
             {
                 return (MarketInfo (fs_Symbol, MODE_ASK));
             }
          }
           break ;
   }
//----
   return (ld_Price);
}

Merak ediyorum neden burada bir durum var?

 if (!IsExpertEnabled() || IsStopped ())

BID'ler hemen elde edilir ve ardından IsStopped() ve IsExpertEnabled() işlevlerinin bayraklarına bakılır. mantık nerede? Bence hemen kontrol etmek daha kolay, bir şeyler yanlışsa fonksiyondan çıkın ..

Sonraki, RefreshRates() komutudur. Başlangıçta piyasa verileri güncellenmiyordu, ancak daha sonra bu BID değişkenleri alındığında zaten güncelleme yapıyorum. Ya ben öyle düşünmüyorum ya da yazarın benimkine uymayan belirli bir düşünce tarzı var. Amaç ne?

 
hoz :

TarasBy tarafından yazılan fonksiyonları burada açtım (kendimi yazıyorum ama periyodik olarak bakıyorum çünkü ilginç bir yaklaşımı var). Yani orada bu işlevi vardır:

Merak ediyorum neden burada bir durum var?

BID'ler hemen elde edilir ve ardından IsStopped() ve IsExpertEnabled() işlevlerinin bayraklarına bakılır. mantık nerede? Bence hemen kontrol etmek daha kolay, bir şeyler yanlışsa fonksiyondan çıkın ..

Sonraki, RefreshRates() komutudur. Başlangıçta piyasa verileri güncellenmiyordu, ancak daha sonra bu BID değişkenleri alındığında zaten güncelleme yapıyorum. Ya ben öyle düşünmüyorum ya da yazarın benimkine uymayan belirli bir düşünce tarzı var. Amaç ne?

Belki Igor yarın cevap verir...

Bunu yapardım:

 switch (fi_Price)
 {
   case 0 : return (MarketInfo(fs_Symbol, MODE_BID));
   case 1 : return (MarketInfo(fs_Symbol, MODE_ASK));
 }

Bana göre diğer her şey gereksiz.
 

Herkese iyi!

Söyleyin bana, bir danışmana son tetiklenen uyarıya başvurmayı öğretmek mümkün mü?

 
Zhunko :

Belki Igor yarın cevap verir...

Bunu yapardım:

Bana göre diğer her şey gereksiz.


Vadim , senin yazdığının aynısını yapardım! Bu yüzden soruyu sordum. Belki bilmiyordum diye düşündüm. Hala kendi mantığımı ve diğer programcıların mantığını izliyorum. Çünkü ana mantığa ek olarak, bir takım faktörlerin de dikkate alınması gerektiğini görüyorum.