Yeni başlayanlardan sorular MQL5 MT5 MetaTrader 5 - sayfa 24

 
Lütfen bana bir işlevi diğerinin içinde kullandığımı söyle. Dış bir değişiklik duyurdu. Dahili olarak kullanıyorum. Bu hakkında
   string PositionSymboll = "" ;
   if   (PositionSymboll= PositionGetSymbol (i)){ //Возвращает символ соответствующей открытой позиции и автоматически выбирает позицию для дальнейшей работы с ней
     if ( PositionGetInteger ( POSITION_MAGIC )== MAGIC) //Функция возвращает запрошенное свойство открытой позиции, предварительно выбранной
              { BU_();}}

Vb. Böyle yemin eder. 'PositionSymboll' - bildirilmemiş tanımlayıcı Redo.mq5 2472 5

Dürüst olmak gerekirse, burada herhangi bir yakalama beklemiyordum. Kullanılmış BU_() işlevi içinde bildirirsem, ad "sıfır çıkar". Nasıl daha iyi yapılır?

Bunu ilk fonksiyonun içinde, if döngüsünün içinde bildirmek benim için çok iyi olurdu.

 
Ah sen! Ve bunu void OnTick() fonksiyonu içinde ilan etse bile, derleyici ilk fonksiyona da yemin eder! Geçtim, düştüm..
 
Dimka-novitsek :
Ah sen! Ve bunu void OnTick() fonksiyonu içinde ilan etse bile, derleyici ilk fonksiyona da yemin eder! Geçtim, düştüm..
 void OnStart ()
  {
   int i= 0 ; long MAGIC= 1234 ;
   
   string PositionSymboll= "" ;
   if (PositionSymboll= PositionGetSymbol (i))
     { //Возвращает символ соответствующей открытой позиции и автоматически выбирает позицию для дальнейшей работы с ней
       if ( PositionGetInteger ( POSITION_MAGIC )==MAGIC) //Функция возвращает запрошенное свойство открытой позиции, предварительно выбранной
        { BU_();}
     }
  }
void   BU_(){} 

iyi derler, ancak inşaat

 string PositionSymboll= "" ;
   if (PositionSymboll)

şüpheli, doğru/yanlış dize değişkenini kontrol ediyorsunuz ????????? şaşırdım

retorik soru.

 
Teşekkürler!! Hâlâ öğreniyorum, bu benim MQL5'teki ilk Uzman Danışmanım. retorik ne demek?
 
Dimka-novitsek :
Teşekkürler!! Hâlâ öğreniyorum, bu benim MQL5'teki ilk Uzman Danışmanım. retorik ne demek?

Cevap yok demektir.

Yalnızca bir if ifadesine ifade olarak geçirilen bir dize değişkeni, değişken başlatılmamışsa yalnızca bir durumda false döndürür.

Değişkenin içeriğinin diğer tüm türevlerinde true döndürülür.

 
Teşekkürler!!!
 

Lütfen söyleyin, fonksiyona iletilen fiyatta bekleyen bir emir varsa true döndürmesi gereken bir fonksiyon var mı? Ama kel büyükannemi geri getiriyor (sırasıyla doğru / yanlış). Bana mql5'te siparişlerle çalışmanın mantığını nerede yanlış anladığımı söyleyin? (Sadece öğreniyorum).


 bool OrderExist( double price)                                                                       // функция возвращает наличие ордера на передаваемой цене
{
         
uint total= OrdersTotal ();
ulong     ticket;

for ( uint i= 0 ;i<total;i++)
   {
   if ((ticket= OrderGetTicket (i))> 0 )      
      {
       if ( NormalizeDouble ( OrderGetDouble ( ORDER_PRICE_OPEN ), 4 )== price)
         {
         return ( true );
         }
      }
   }
return ( false );
}
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров - Документация по MQL5
 
DMXX :

Lütfen söyleyin, fonksiyona iletilen fiyatta bekleyen bir emir varsa true döndürmesi gereken bir fonksiyon var mı? Ama kel büyükannemi geri getiriyor (sırasıyla doğru / yanlış). Bana mql5'te siparişlerle çalışmanın mantığını nerede yanlış anladığımı söyleyin? (Sadece öğreniyorum).

Ama emrin belirli bir fiyattan açıldığı bir gerçek değil, bir kayma olabilirdi ve bu yüzden ortaya çıktı: doğru zamanda açıldı, zamanı yoktu (fiyat değişti) - yanlış .

 
fyords :
Ama emrin belirli bir fiyattan açıldığı bir gerçek değil, bir kayma olabilirdi ve bu yüzden ortaya çıktı: doğru zamanda açıldı, zamanı yoktu (fiyat değişti) - yanlış .
Evet bu fiyata terminalde takılıyor. İşlemlerde ise, başarıyla ayarlandığı anlamına mı geliyor?
 
DMXX :
Evet bu fiyata terminalde takılıyor. İşlemlerde ise, başarıyla ayarlandığı anlamına mı geliyor?

Sergilendi evet, ama çalıştığında ...

Veya böyle bir örnek: bekleyen bir emir var , fiyatı mevcut olandan 1 puan farklı, bir sonraki tıklamada fiyat 1 puan atlamıyor, ancak, diyelim ki, 3-5 ile sonuç, açılışta bir açılış. Yanlış fiyat. Açık bir örnek boşluktur.

Ya da belki soruyu anlamadım ve aptalım.