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

 
progeon :
Bana iki boyutlu bir diziyi sabit olarak nasıl göstereceğimi söyle, yani. tüm parametreleri manuel olarak ayarla?
 double Variable[][ 3 ]={{ 1 , 2 , 3 },{ 4 , 5 , 6 },{ 7 , 8 , 9 }};

https://www.mql5.com/ru/articles/567

Основы программирования на MQL5 - Массивы
Основы программирования на MQL5 - Массивы
  • 2012.11.03
  • Dmitry Fedoseev
  • www.mql5.com
Наряду с переменными и функциями, массивы являются практически неотъемлемой частью любого языка программирования. Статья должна быть интересна в первую очередь новичкам, приступившим к изучению программирования на MQL5. Опытным программистам представляется хорошая возможность подытожить, обобщить и систематизировать свои знания.
 

Lütfen bana belirli bir günde belirli bir saatte alım satımı nasıl kuracağımı söyler misiniz?

Forumu araştırdım, Fundamentals of MQL5 Programming - Time'ı okudum ama tüm bunları algoritmaya nasıl gireceğimi anlamadım?

Örneğin, ilk 4 saatlik mumdan sonra Çarşamba günü bir işlem açmam gerekiyor.

Makaleden belirli bir günde alım satımla ilgili her şeyi alıyorum:

 input bool Sunday   = true ; // Воскресенье
input bool Monday   = true ; // Понедельник
input bool Tuesday  = true ; // Вторник 
input bool Wednesday= true ; // Среда
input bool Thursday = true ; // Четверг
input bool Friday   = true ; // Пятница
input bool Saturday = true ; // Суббота

bool WeekDays[ 7 ];
 void WeekDays_Init()
  {
   WeekDays[ 0 ]=Sunday;
   WeekDays[ 1 ]=Monday;
   WeekDays[ 2 ]=Tuesday;
   WeekDays[ 3 ]=Wednesday;
   WeekDays[ 4 ]=Thursday;
   WeekDays[ 5 ]=Friday;
   WeekDays[ 6 ]=Saturday;
  }
 bool WeekDays_Check( datetime aTime)
  {
   MqlDateTime stm;
   TimeToStruct (aTime,stm);
   return (WeekDays[stm.day_of_week]);
  }

Nasıl uygulanır? OnTimer() işlevine bir işlev çağrısı eklemeye çalışıyorum ve eğer WeekDays_Check(3)==true ise ve Çarşamba başlangıcından bu yana geçen süre saniye>14300 && saniye <14800 içindeyse, o zaman bir anlaşma açma koşulunu ayarlamaya çalışıyorum.

 void OnTimer ()
  {
   S_Time= TimeCurrent ();
   if (WeekDays_Check( 3 )==true)
     {
       Print ( "Среда" );
       long seconds=S_Time% 86400 ;
       if (seconds> 14300 && seconds < 14800 )
      {
       double Open_1=S_Open( NULL , PERIOD_CURRENT , 1 );
       double Close_1=S_Close( NULL , PERIOD_CURRENT , 1 );
       double High_1=S_High( NULL , PERIOD_CURRENT , 1 );
       double Low_1=S_Low( NULL , PERIOD_CURRENT , 1 );
       bool S_CriBuy= 0 ,S_CriSell= 0 ;
       double S_Lot;
      S_CriBuy=S_TailBar_Buy(Open_1,Close_1,High_1,Low_1);
      S_CriSell=S_TailBar_Sell(Open_1,Close_1,High_1,Low_1);
       Print ( "Прошлый бар" ,High_1);
       if (S_CriBuy== 1 )
        {
         double S_Price=Low_1;
         double S_SL=Low_1+SL* Point ();
         double S_TP=Low_1-TP* Point ();
         S_Lot=countLot(Lot,HandLot);
         S_Trade.SellStop(S_Lot,S_Price, NULL ,S_SL,S_TP);
        }
       if (S_CriSell== 1 )
        {
         double S_Price=High_1;
         double S_SL=High_1-SL* Point ();
         double S_TP=High_1+TP* Point ();
         S_Lot=countLot(Lot,HandLot);
         S_Trade.BuyStop(S_Lot,S_Price, NULL ,S_SL,S_TP);
        }
        }
     }
  }

Bu şekilde çalışmıyor (Herhangi bir günde açılır. En azından belirli bir günde nasıl işlem yapılacağını açıklar mısınız?

Şimdiden teşekkürler. Kod çocuklar içinse - üzgünüm, sadece öğreniyorum)

 
DenisSavenko :

Lütfen bana belirli bir günde belirli bir saatte alım satımı nasıl kuracağımı söyler misiniz?

Forumu araştırdım, Fundamentals of MQL5 Programming - Time'ı okudum ama tüm bunları algoritmaya nasıl gireceğimi anlamadım?

Örneğin, ilk 4 saatlik mumdan sonra Çarşamba günü bir işlem açmam gerekiyor.

Makaleden belirli bir günde alım satımla ilgili her şeyi alıyorum:

Nasıl uygulanır? OnTimer() işlevine bir işlev çağrısı eklemeye çalışıyorum ve eğer WeekDays_Check(3)==true ise ve Çarşamba başlangıcından bu yana geçen süre saniye>14300 && saniye <14800 içindeyse, o zaman bir anlaşma açma koşulunu ayarlamaya çalışıyorum.

Bu şekilde çalışmıyor (Herhangi bir günde açılır. En azından belirli bir günde nasıl işlem yapılacağını açıklar mısınız?

Şimdiden teşekkürler. Kod çocuklar içinse - üzgünüm, sadece öğreniyorum)

M.b.
   if (WeekDays_Check( TimeCurrent ())==true)
?
 
uncleVic :
M.b.
?

Evet yaptı! Çok teşekkürler. Tabii ki, günlerin dengelenmesinde hala bazı hatalar var, ancak bu zaten kodun benim kısmında bir sorun ve her şey böyle çalışıyor. Gereksiz günler için yanlış ayarlarsanız, ticaret doğrudur - ihtiyacınız olan şey budur.

Tekrar teşekkürler

 
Insta Trader'a kaydoldum, gerçek bir hesap bağladım, MQ5'te /**/ adresinde bir sinyale abone oldum, abonelik başarılı oldu, ardından Insta Trader'ı açtım ve sinyali etkinleştirmek için sistem ayarlarına gittim, notta sinyal yazıyor bağlı değil, sinyali nasıl bağlayabilir ve gerçek parayla çalışmaya başlayabilirim [Ticaret hesabı #5216372]
 
752360 :
Insta Trader'a kaydoldum, gerçek bir hesap bağladım, MQ5'te /**/ adresinde bir sinyale abone oldum, abonelik başarılı oldu, ardından Insta Trader'ı açtım ve sinyali etkinleştirmek için sistem ayarlarına gittim, notta sinyal yazıyor bağlı değil, sinyali nasıl bağlayabilir ve gerçek parayla çalışmaya başlayabilirim [Ticaret hesabı #5216372]
Ayrıca, gerçek olmayan parada olduğu gibi, yani. gerçek bir hesaba giriş yapın ve bir sinyale abone olun.
 
daha kesin olarak nereden giriş yapılır
 
752360 :
daha kesin olarak nereden giriş yapılır

Ticaret terminalinde .

Bir sinyale abone olma

 

Merhaba.

CTrade sınıfında bekleyen bir emrin (EXPIRATION) sona erme tarihini nasıl ayarlayacağımı söyler misiniz? CTrade.SellStop(Lot,Price,NULL,SL,TP,expiration); gönderirken bu pozisyonu eklemeye çalışıyorum. her zaman enum dönüştüremez verir. CTrade belgelerinde, yalnızca bekleyen bir siparişin son kullanma süresinin nasıl öğrenileceğini buldum RequestExpiration , ancak nasıl ayarlanacağı açık değil.

CTrade son kullanma tarihini belirleyebilir mi? Yoksa bunun için tam sorguyu kullanmanız mı gerekiyor? OrderSend() yoluyla MqlTradeRequest ? Sadece onları nasıl kullanacağımı gerçekten anlamıyorum, makalelerin her yerinde vurgu hemen CTrade'de.

 
DenisSavenko :

Merhaba.

CTrade sınıfında bekleyen bir emrin (EXPIRATION) sona erme tarihini nasıl ayarlayacağımı söyler misiniz? CTrade.SellStop(Lot,Price,NULL,SL,TP,expiration); gönderirken bu pozisyonu eklemeye çalışıyorum. her zaman enum dönüştüremez verir. CTrade belgelerinde, yalnızca bekleyen bir siparişin son kullanma süresinin nasıl öğrenileceğini buldum RequestExpiration , ancak nasıl ayarlanacağı açık değil.

CTrade son kullanma tarihini belirleyebilir mi? Yoksa bunun için tam sorguyu kullanmanız mı gerekiyor? OrderSend() yoluyla MqlTradeRequest ? Sadece onları nasıl kullanacağımı gerçekten anlamıyorum, makalelerin her yerinde vurgu hemen CTrade'de.

   bool               SellStop( const double volume, const double price, const string symbol= NULL , const double sl= 0.0 , const double tp= 0.0 ,
                               const ENUM_ORDER_TYPE_TIME type_time= ORDER_TIME_GTC , const datetime expiration= 0 , const string comment= "" );
cevapsız seçenekler