Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz, hiçbir yerde - 6. - sayfa 1050

 
rapid_minus :
Tünaydın! 1048. sayfada sorduğum soru, profesyonellerin cevabını bilemeyeceği kadar karmaşık mı? Yoksa sadece bir görmezden mi geliyor (pekala, bazı insanlar beni sevmiyor!)?
Nasıl bir soru, nasıl bir cevap. Sleep() işleviyle ilgili notu okuyun Bu, ilk sorunuzun yanıtıdır.
 
Ekburg :

Güzel gün.

Bir uzmanın kodunu ayrıştırıyorum ve bir satırı anlayamıyorum:

Değişkenin adından programcının neyi başarmak istediğini anlıyorum.

Ama amatör programlama seviyemde MarketInfo( Symbol (),MODE_MINLOT) dışında bir şey anlamıyorum.

Lütfen ne, neden, nerede ve hangi sos ile açıklayınız)

Logaritma nedir, anladınız mı?

Bu kod biraz anlaşılmaz olmasına rağmen. Eğer log(10) her zaman 1 olacaksa, değerin logaritmasının neden logaritma(10)'a bölünmesi gerektiği açık değildir.

 
kocunyc89 : ekranın köşesinde görünen bir göstergenin kodu
 #property indicator_chart_window    //Вывод информации в окно графика
#property strict
int Число= 25 ;

int OnCalculate ( const int rates_total,
                 const int prev_calculated,
                 const datetime & time[],
                 const double & open[],
                 const double & high[],
                 const double & low[],
                 const double & close[],
                 const long & tick_volume[],
                 const long & volume[],
                 const int & spread[])
{
   // Проверка наличия метки для вывода информации
   if ( ObjectFind ( "Итог" )< 0 )
  {
     ObjectCreate ( "Итог" , OBJ_LABEL , 0 , 0 , 0 );   // Создание
    ObjectSet( "Итог" , OBJPROP_CORNER , 1 );   // Правый верхний угол
    ObjectSet( "Итог" , OBJPROP_XDISTANCE , 10 ); //X   
    ObjectSet( "Итог" , OBJPROP_YDISTANCE , 10 );       //Y
  }
  ObjectSetText( "Итог" , string (Число), 14 , "Arial" ,Yellow);
   return ( 0 );
}

void OnDeinit ( const int reason)
{
   ObjectDelete ( "Итог" );
}
 
AlexeyVik :

log(10) her zaman 1 olacaktır.

Uyarı(log(10)); log(10)=2.302585092994046. MathLog, tıpkı Log gibi, doğal bir logaritmadır. MQL'de ondalık sayı yoktur. Ondalık bir logaritmaya ihtiyacım vardı ve bu sayede sayının tamsayı kısmındaki, sayının sırası denilen karakter sayısına ihtiyacım vardı. Ondalık logaritma LG(X) herhangi bir diğerinden elde edilebilir. Burada LG(X)=Günlük(X)/Günlük(10)
 
Cevabın nerede olduğunu anlamıyorum. Bu şu anlama gelir: "İşlev, her 0.1 saniyede bir uzmanın durma işaretinin durumunun yerleşik bir denetimine sahiptir."? Eğer öyleyse, bu bayrağı nasıl kaldırabilirim?
 
LRA :

Üzgünüm, programlamada çok zayıfım, bunların hepsini bir göstergeye koymama yardım eder misiniz?
 #property indicator_chart_window    //Вывод информации в окно графика
#property strict
int Число= 25 ;

int OnCalculate ( const int rates_total,
                 const int prev_calculated,
                 const datetime & time[],
                 const double & open[],
                 const double & high[],
                 const double & low[],
                 const double & close[],
                 const long & tick_volume[],
                 const long & volume[],
                 const int & spread[])
{
   // Проверка наличия метки для вывода информации
   if ( ObjectFind ( "Итог" )< 0 )
  {
     ObjectCreate ( "Итог" , OBJ_LABEL , 0 , 0 , 0 );   // Создание
    ObjectSet( "Итог" , OBJPROP_CORNER , 1 );   // Правый верхний угол
    ObjectSet( "Итог" , OBJPROP_XDISTANCE , 10 ); //X   
    ObjectSet( "Итог" , OBJPROP_YDISTANCE , 10 );       //Y
  }
  ObjectSetText( "Итог" , string (Число), 14 , "Arial" ,Yellow);
   return ( 0 );
}

void OnDeinit ( const int reason)
{
   ObjectDelete ( "Итог" );
}
Dosyalar:
j_1.mq4  6 kb
 
rapid_minus :
poz = OrderSend(Symbol(),OP_SELL,lot, Bid ,slip,0,0,NULL,magic,Red);
Uyku (10000);
poz = OrderSend(Symbol(),OP_SELL,lot, Bid ,slip,0,0,NULL,magic,Red);
Uyku (10000);
poz = OrderSend(Symbol(),OP_SELL,lot, Bid ,slip,0,0,NULL,magic,Red);
Uyku (10000);
poz = OrderSend(Symbol(),OP_SELL,lot, Bid ,slip,0,0,NULL,magic,Red);
Uyku (10000);
poz = OrderSend(Symbol(),OP_SELL,lot, Bid ,slip,0,0,NULL,magic,Red);
Sebeplerden biri: Fişin 10 saniyesinden sonra Teklif eskir ve bir hata olur. Dergilere bakın. Fişi veya RefreshRates() değerini artırabilirsiniz. Test cihazında fişler duruyor ve her şey yolunda
 
kocunyc89 : ... göstergenin içine itin

Başlamak için bunu göstergenin sonuna itin. Ekranda bir etiket gördüğünüzde, içinde gerekli bilgileri nasıl görüntüleyeceğinizi öğrenin. Burada tavsiye ediyorlar, ama herkes kendi içine koyuyor.

  int Число= 25 ;

  if ( ObjectFind ( "Итог" )< 0 )        // Проверка наличия метки для вывода информации
  {
     ObjectCreate ( "Итог" , OBJ_LABEL , 0 , 0 , 0 );   // Создание
    ObjectSet( "Итог" , OBJPROP_CORNER , 1 );       // Правый верхний угол
    ObjectSet( "Итог" , OBJPROP_XDISTANCE , 10 );   //X   
    ObjectSet( "Итог" , OBJPROP_YDISTANCE , 10 );   //Y
  }
  ObjectSetText( "Итог" , string (Число), 14 , "Arial" ,Yellow);   // Вывод в метку
 
rapid_minus : İşlev, her 0,1 saniyede bir uzman durdurma bayrağının durumunun yerleşik bir denetimine sahiptir. Bu bayrak nasıl kaldırılır?
Bayrak, uzmana üç saniye içinde sıkışacağını bildirmek için terminal tarafından kaldırılır. Bayrağı görünce kayma durur ve uzmanın kaçmadan önce oyuncakları toplamasına engel olmaz.
 
LRA :
Uyarı(log(10)); log(10)=2.302585092994046. MathLog, tıpkı Log gibi, doğal bir logaritmadır. MQL'de ondalık sayı yoktur. Ondalık bir logaritmaya ihtiyacım vardı ve bu sayede sayının tamsayı kısmındaki, sayının sırası denilen karakter sayısına ihtiyacım vardı. Ondalık logaritma LG(X) herhangi bir diğerinden elde edilebilir. Burada LG(X)=Günlük(X)/Günlük(10)

log(10) gerçekten 1 değil, ama mql'de ondalık logaritma olmadığı için beni şaşırttınız...

Ve sonra nedir? https://docs.mql4.com/ru/math/mathlog10 metinde bir hata olmasına rağmen.

Sorunu çözmek çok daha kolay.

( int ) MathAbs ( MathLog10 (MarketInfo( _Symbol , MODE_LOTSTEP)));