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

 
Alexey Viktorov :

Güncellemeyi yakalama amacının ne olduğuna bağlı. Belki sadece diziyi yeniden doldurun?

Hedefin ne olduğu ne fark eder? Asıl soru, ürkütücü derecede daha az kullanılan ve gerekli başka özellikler olmasına rağmen, böylesine bariz bir olayı yakalamanın neden bu kadar zor olduğudur. Bu durumda amaç bildirimdir (uyarı).

 
leonerd :

Hedefin ne olduğu ne fark eder? Asıl soru, ürkütücü derecede daha az kullanılan ve gerekli başka özellikler olmasına rağmen, böylesine bariz bir olayı yakalamanın neden bu kadar zor olduğudur. Bu durumda amaç bildirimdir (uyarı).

Dolayısıyla , işlem türünde vurgulanan bu açık olaydır. 58 makaledeki Trishkin kütüphanesini deneyin. Belki kolay bir seçenek vardır.

 
в 58 ми статьях

Oh teşekkürler ))

Onun da sicilini tuttuğundan şüpheleniyorum.

Изменение открытого ордера. К данным изменениям относятся не только явные изменения со стороны клиентского терминала или торгового сервера, но также и изменение его состояния при выставлении (например, переход из состояния   ORDER_STATE_STARTED   içinde   ORDER_STATE_PLACED   veya   ORDER_STATE_PLACED   içinde   ORDER_STATE_PARTIAL   vb.).


Bunun belirli bir sipariş bileti için ilk ORDER_STATE_PLACED olmadığını bilmek benim için yeterli olacaktır.

Görünüşe göre, siparişin ilk yerleşiminde iki TRADE_TRANSACTION_ORDER_UPDATE geliyor. Burada ve üçüncüsü, benim durumumda sadece bir fiyat değişikliği olan bir değişiklik olarak zaten bana uyuyor. Veya ikinci ORDER_STATE_PLACED.

Документация по MQL5: Константы, перечисления и структуры / Торговые константы / Свойства ордеров
Документация по MQL5: Константы, перечисления и структуры / Торговые константы / Свойства ордеров
  • www.mql5.com
Приказы на проведение торговых операций оформляются ордерами. Каждый ордер имеет множество свойств для чтения, информацию по ним можно получать с помощью функций Идентификатор позиции, который ставится на ордере при его исполнении. Каждый исполненный ордер порождает сделку, которая открывает новую или изменяет уже существующую позицию...
 
Ayrıca ORDER_TIME_SETUP 'ı da kontrol etmemiz gerekiyor. Her seferinde yeni mi?
 
MT4 ile örneğe göre yapılmıştır "STRINGS: ASCII KARAKTER TABLOSU VE KULLANIMI"

 //+------------------------------------------------------------------+
//| StringLowerCase |
//+------------------------------------------------------------------+
string StringLowerCase( string str)
  {
   string s = str;
   int lenght = StringLen (str) - 1 , symbol;
   while (lenght >= 0 )
     {
      symbol = StringGetChar(s, lenght);
       if ((symbol > 64 && symbol < 91 ) || (symbol > 191 && symbol < 224 ))
         s = StringSetChar(s, lenght, symbol + 32 ); // тут possible loss of data due to type conversion
       else
         if (symbol > - 65 && symbol < - 32 )
            s = StringSetChar(s, lenght, symbol + 288 ); // тут possible loss of data due to type conversion
      lenght--;
     }
   return (s);
  }
//+------------------------------------------------------------------+
//| StringUpperCase |
//+------------------------------------------------------------------+
string StringUpperCase( string str)
  {
   string s = str;
   int lenght = StringLen (str) - 1 , symbol;
   while (lenght >= 0 )
     {
      symbol = StringGetChar(s, lenght);
       if ((symbol > 96 && symbol < 123 ) || (symbol > 223 && symbol < 256 ))
         s = StringSetChar(s, lenght, symbol - 32 ); // тут possible loss of data due to type conversion
       else
         if (symbol > - 33 && symbol < 0 )
            s = StringSetChar(s, lenght, symbol + 224 ); // тут possible loss of data due to type conversion
      lenght--;
     }
   return (s);
  }

Zor değilse, lütfen düzeltmeme yardım et ..
Документация по MQL5: Основы языка / Типы данных / Приведение типов
Документация по MQL5: Основы языка / Типы данных / Приведение типов
  • www.mql5.com
Приведение типов - Типы данных - Основы языка - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
SGarnov :
MT4 ile örneğe göre yapılmıştır "STRINGS: ASCII KARAKTER TABLOSU VE KULLANIMI"


Zor değilse, lütfen düzeltmeme yardım et ..

StringSetChart() bir tür bool döndürür. Ve bir string değişkene atarsınız.Eğer soru buysa.

 
MT5 menüsünü kullanmadan, ancak doğru dosyaları doğru klasörlere koyarak özel semboller oluşturulabilir mi?
 

Merhaba. Bir pozisyon girme koşullarını kontrol eden bir fonksiyon yazdı.

Sorun şu ki, koşul (sarı ile vurgulanmıştır) karşılanmazsa, işlevin işini tamamlamaması, ancak bir sonraki koşula geçmesidir. Bu nedenle, sinyal doğru çalışmıyor.

Fonksiyonun koşullarından biri sağlanmazsa, yanlış koşuldan hemen sonra tüm fonksiyonun işinin bitmesi için ne yapılması gerekir?

 bool BuySignal_new()
{
   double Sig_Up[];                 // динамический массив для хранения значений индикатора на покупку для каждого бара
   double Sig_Down[];               // динамический массив для хранения значений индикатора на продажу для каждого бара
   ArraySetAsSeries (Sig_Up, true );   // устанавливаем индексацию как в таймсерии ( т.е. 5,4,3,2,1,0) в динамич. массиве для индикатора
   ArraySetAsSeries (Sig_Down, true ); // устанавливаем индексацию как в таймсерии ( т.е. 5,4,3,2,1,0) в динамич. массиве для индикатора
   ResetLastError ();
   double close = NormalizeDouble ( iClose ( _Symbol , _Period , 1 ), Digits ());
   double close_1 = NormalizeDouble ( iClose ( _Symbol , _Period , 0 ), Digits ());
   double Bid= NormalizeDouble ( SymbolInfoDouble ( _Symbol , SYMBOL_BID ), Digits ());
if ( CopyBuffer (Handle_stepma_line, 0 , 1 , 5 ,Sig_Up)== 5 && CopyBuffer (Handle_stepma_line, 1 , 1 , 4 ,Sig_Down)== 4 )
  {
   Print ( "Данные скопированы. Ошибок нет." );
   
  } 
else
    {
     Print ( "Ошибка копирования. Нет данных" );
     return ( false );
    }

if (Sig_Up[ 1 ] < Sig_Down[ 1 ] && Sig_Up[ 0 ] > Sig_Down[ 0 ])
  {
   Print ( "условие 1 - ок" );
  }
else
    {
     Print ( "условие 1 НЕ выполненно" );
     return ( false );
    }
if (close < Sig_Up[ 1 ]&& Bid > Sig_Up[ 0 ])
  { 
   Print ( "условие 2 - ок" );
   return ( true );
  }   
else
    {
     Print ( "условие 2 НЕ выполненно" );
     return ( false );
    }   
 
Sergey :

Fonksiyonun koşullarından biri sağlanmazsa, yanlış koşuldan hemen sonra tüm fonksiyonun işinin bitmesi için ne yapılması gerekir?

başka şubeleri kaldırın, bunu yapmayı deneyebilirsiniz:

   if ( CopyBuffer (Handle_stepma_line, 0 , 1 , 5 , Sig_Up) != 5 )
   {
       Print ( "Ошибка копирования. Нет данных" );
       return ( false );
   }

   if ( CopyBuffer (Handle_stepma_line, 1 , 1 , 4 , Sig_Down) != 4 )
   {
       Print ( "Ошибка копирования. Нет данных" );
       return ( false );
   }


   if ( ! (Sig_Up[ 1 ] < Sig_Down[ 1 ] && Sig_Up[ 0 ] > Sig_Down[ 0 ]))
   {
       Print ( "условие 1 НЕ выполненно" );
       return ( false );
   }

   if ( ! (close < Sig_Up[ 1 ] && Bid > Sig_Up[ 0 ]))
   {
       Print ( "условие 2 НЕ выполненно" );
       return ( false );
   }
//--- если дошли сюда, то все условия выполнены
   return ( true );
 
Igor Makanu :

başka şubeleri kaldırın, bunu yapmayı deneyebilirsiniz:

teşekkürler, deneyeceğim.