MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma - sayfa 1182

 
Igor Makanu :

MQL yardım, diğer dillerdeki yardım ile aynıdır

ve basit kodlar yazma konusunda en azından bir miktar başlangıç deneyiminiz olduğunu varsayar.

bu yüzden "// yer tutucu" kelimesi çoğu test ve doğrulama yapmayacak ve bu yüzden açık

kısa    fill_symbol='dolgu'        // Yer tutucu  

Bunun gibi bir şey.

 
awsomdino :

Bu, burada ve benzeri durumlarda bu alanı kullanamayacağınız anlamına mı geliyor?

tip

(kullanmanın ne kadar doğru olduğu anlamına gelir)

ve ikinci parametrenin atlandığı ortaya çıktı

hayır, hepsi bu değil

"varsayılan parametre" diye bir şey var - yardımın içinde işlev teriminin açıklandığı bir yerde, bunun hakkında yazılmalıdır.

ancak " default parametresini " kullanmak basittir: fonksiyon açıklamasında yardımda bir = işareti varsa, bu varsayılan parametredir ve bu yere kendiniz bir şey yazmazsanız, derleyici yazılanların yerine geçecektir . yardımda

 string    IntegerToString (
   long     number,               // число
   int      str_len= 0 ,           // длина строки на выходе
   ushort   fill_symbol= ' '        // заполнитель
   )
 

@Igor Makanu

Teşekkürler, şimdi çok şey açık. Temel bilgi olmadan her şey zordur

 
Artyom Trishkin :

Geçerli sembolün günlük grafiğindeki Kapanış fiyatları kullanılarak hesaplanan, 14 periyotlu, 0 kaymalı basit bir hareketli ortalama . İlk çubuğun değerini alın (sıfır - geçerli gün):

Ve 0. vardiya ile açılış ve kapanış arasındaki ortadaki hareketli ortalamalarda fiyatı hızlı bir şekilde almak mümkün mü, yani mevcut çubuğu mu kastediyorsunuz? Ya da zor olması gerekiyor, bu fonksiyon değişkenler gibi hazır değişkenlere sahip değil.

 

Herkese iyi günler.

Bir emir kısmen kapatıldığında, "OrderClose (28800839, 0.01) hatası (yöntem: CloseOrderPartial) - uzman mülklerinde ticarete izin verilmiyor" uyarı penceresinde bir uyarı belirir.

Bütün bunlarla aslında emrin bir kısmının doğru kapanması gerçekleşir ve danışman hem açılış emirlerini hem de kapanış emirlerini doğru bir şekilde gerçekleştirir. Belgelerde ve forumlarda da böyle bir hata bulamadım. Hatanın tercümesi, "danışmanın ticaret yapmasına izin verilmediğini " söylüyor, ancak aslında durum böyle değil ve danışman ticaret yapıyor.

Belki birisi buna rastladı?

Kısmi kapatma için yöntem kodu

//Закрытие ордера на продажу
//NumberOrder = тикет ордера, 0 - закрытие всех ордеров
//ValueClose = объем закрытия ордера
bool CloseOrderSell(int NumberOrder, double ValueClose)
{
   if (NumberOrder == 0)
   {
      for (int i = OrdersTotal() - 1; i >= 0; i--)
         if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
         {
            if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic && OrderType() == OP_SELL)
            {
               if(OrderClose(OrderTicket(), OrderLots(), Ask, Slippage, clrMaroon) == false)
               {
                  Print("Ошибка #" + (string)GetLastError() + " закрытия ордера на продажу #" + (string)OrderTicket());    
                  return false;       
               }
               else
               {
                  if (EnableMgs == true)
                     Print("Ордер на продажу #"+ (string)OrderTicket() +" закрыт на " + (string)ValueClose + " лота");
                  return true;            
               }         
            }      
         }
   }
   else
   {
      if (OrderSelect(NumberOrder, SELECT_BY_TICKET) == true)
      {
         ValueClose = NormalizeDouble(ValueClose * OrderLots(), 2);
         if(OrderClose(OrderTicket(), ValueClose, Ask, Slippage, clrMaroon) == false)
         {
            Print("Ошибка #" + (string)GetLastError() + " закрытия ордера на продажу #" + (string)OrderTicket());   
            return false;
         }
         else
         {
            if (EnableMgs == true)
               Print("Ордер на продажу #"+ (string)OrderTicket() +" закрыт на " + (string)ValueClose + " лота");
            return true;
         } 
      }
      else
         Print("Ошибка #" + (string)GetLastError() + " выбора ордера на продажу #" + (string)NumberOrder + " при закрытии ордера");
   }
   return false;
} 
Документация по MQL5: Константы, перечисления и структуры / Состояние окружения / Информация о запущенной MQL5-программе
Документация по MQL5: Константы, перечисления и структуры / Состояние окружения / Информация о запущенной MQL5-программе
  • www.mql5.com
Константы, перечисления и структуры / Состояние окружения / Информация о запущенной MQL5-программе - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Seric29 :

Ve 0. vardiya ile açılış ve kapanış arasındaki ortadaki hareketli ortalamalarda fiyatı hızlı bir şekilde almak mümkün mü, yani mevcut çubuğu mu kastediyorsunuz? Ya da zor olması gerekiyor, bu fonksiyon değişkenler gibi hazır değişkenlere sahip değil.

bir baykuş için mi yoksa bir hindi için mi?
farklı pençeleri var, farklı terliklere ihtiyacınız var)

 
Medvedina :

Herkese iyi günler.

Bir emir kısmen kapatıldığında, "OrderClose (28800839, 0.01) hatası (yöntem: CloseOrderPartial) - uzman mülklerinde ticarete izin verilmiyor" uyarı penceresinde bir uyarı belirir.

Bence sorun yöntemde değil, kapatma koşullarında.

Günlükte ne yazıyor? Ekran görüntüsü alabilir miyim?

 
Taras Slobodyanik :

baykuş için mi hindi için mi?
farklı pençeleri var, farklı terliklere ihtiyacınız var)

Düzenli düzleştirilmiş (Üssel Düzleştirilmiş Ağırlıklı Ortalama ve orada başka bir şey de vardır). Açma ve kapama arasında aptalca bir şekilde geçecek olan basit bir düzleştirilmiş hareketli ortalamaya ihtiyacım var. Anladığım kadarıyla öyle bir şey yok, yapmanız gerekiyor çünkü benim gibi bir moronun ortaya çıkacağı ve bu kadar basit şeyleri çok zor durumlarda kullanabileceği kimsenin aklına gelmezdi ama aklıma geldi. böyle karmaşık değişkenler yapmak için (Simle ...).

ne saydıklarını anlamayan ve aptalca fiyatları yeniden çizen. Büyük yatırımcıların ortalamaya dikkat edip etmedikleri bile belli değil (örneğin, 200,30,21,14,7), hiç değişime ihtiyacım yok. Eğer yoksa, daha sonra yapacağım.

 
MakarFX :

Bence sorun yöntemde değil, kapatma koşullarında.

Günlükte ne yazıyor? Ekran görüntüsü alabilir miyim?

Tünaydın.

Fikir için teşekkürler. Gerçekten de, dikkat etmedim, ancak uyarı danışmanıma değil, aynı çift üzerinde paralel olarak çalışan bir başkasına veriyor. Ancak, garip olan - ikinci danışman için uyarılar yalnızca aynı anda çalışırken görünür.

 
Seric29 :

Normal düzleştirilmiş (Üssel Düzleştirilmiş Ağırlıklı Ortalama ve orada başka bir şey de vardır). Açma ve kapama arasında aptalca bir şekilde geçecek olan basit bir düzleştirilmiş hareketli ortalamaya ihtiyacım var.

yani kendinizi toplayın ve bölün - (MA1 + MA2 + MA3) / 3 = ortalama MA

ve arabelleğe göre sayarsak, iMAOnArray