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

 
mario065 :

Hey,

Tabii ki değil.

Birkaç hindi varsa, her birinin yüzlerce kez kaç çift yemesi gerekir.

Tüm buharın taranması için tek bir tutamak.

Kolu sırayla kullanın, yani. gösterge arabelleklerini kopyalayın ve ardından bir sonraki göstergenin değerini tutamaca atayın.

Temel tamsayılarsa ve pratik olarak kaynakları etkilemiyorsa neden tutamaçlardan tasarruf edildiği açık değil mi?

 
Reshetov :

Kolu sırayla kullanın, yani. gösterge arabelleklerini kopyalayın ve ardından bir sonraki göstergenin değerini tutamaca atayın.

Temel tamsayılarsa ve pratik olarak kaynakları etkilemiyorsa neden tutamaçlardan tasarruf edildiği açık değil mi?

Merhaba sana

Geçen yıl şöyle bir harici fonksiyon yazdım:

 void CalculatePairs( string dSymbol) {

   atrHandle1= iATR (dSymbol, TimeFrame1, ATRPeriod);
   atrHandle2= iATR (dSymbol, TimeFrame5, ATRPeriod);
   atrHandle3= iATR (dSymbol, TimeFrame15, ATRPeriod);
   atrHandle4= iATR (dSymbol, TimeFrame30, ATRPeriod);
   atrHandle5= iATR (dSymbol, TimeFrame60, ATRPeriod);
   muvHandle1= iMA (dSymbol,TimeFrame1,MAPeriod, 0 ,MAMethod,InpPr);
   muvHandle2= iMA (dSymbol,TimeFrame5,MAPeriod, 0 ,MAMethod,InpPr);
   muvHandle3= iMA (dSymbol,TimeFrame15,MAPeriod, 0 ,MAMethod,InpPr);
   muvHandle4= iMA (dSymbol,TimeFrame30,MAPeriod, 0 ,MAMethod,InpPr);
   muvHandle5= iMA (dSymbol,TimeFrame60,MAPeriod, 0 ,MAMethod,InpPr);
   if (atrHandle1< 0 || atrHandle2< 0 || atrHandle3< 0 || atrHandle4< 0 || atrHandle5< 0 ||
   muvHandle1< 0 || muvHandle2< 0 || muvHandle3< 0 || muvHandle4< 0 || muvHandle5< 0 )
     {
       Alert ( "Error Creating Handles for indicators - error: " , GetLastError (), "!!" );
     }

   double ma1[],ma2[],ma3[],ma4[],ma5[];
   double atr1[],atr2[],atr3[],atr4[],atr5[];

   ArraySetAsSeries (ma1, true ); ArraySetAsSeries (ma2, true ); ArraySetAsSeries (ma3, true );
   ArraySetAsSeries (ma4, true ); ArraySetAsSeries (ma5, true );
   ArraySetAsSeries (atr1, true ); ArraySetAsSeries (atr2, true ); ArraySetAsSeries (atr3, true );
   ArraySetAsSeries (atr4, true ); ArraySetAsSeries (atr5, true );

   if ( NormalizeDouble ( CopyBuffer (muvHandle1, 0 , 0 , 1 ,ma1), 4 ) < 0 ){ Print ( "CopyBuffermuvHandle error =" , GetLastError ());}
   if ( NormalizeDouble ( CopyBuffer (muvHandle2, 0 , 0 , 1 ,ma2), 4 ) < 0 ){ Print ( "CopyBuffermuvHandle error =" , GetLastError ());}
   if ( NormalizeDouble ( CopyBuffer (muvHandle3, 0 , 0 , 1 ,ma3), 4 ) < 0 ){ Print ( "CopyBuffermuvHandle error =" , GetLastError ());}
   if ( NormalizeDouble ( CopyBuffer (muvHandle4, 0 , 0 , 1 ,ma4), 4 ) < 0 ){ Print ( "CopyBuffermuvHandle error =" , GetLastError ());}
   if ( NormalizeDouble ( CopyBuffer (muvHandle5, 0 , 0 , 1 ,ma5), 4 ) < 0 ){ Print ( "CopyBuffermuvHandle error =" , GetLastError ());}
   if ( NormalizeDouble ( CopyBuffer (atrHandle1, 0 , 0 , 1 ,atr1), 4 ) < 0 ){ Print ( "CopyBufferatrHandle error =" , GetLastError ());}
   if ( NormalizeDouble ( CopyBuffer (atrHandle2, 0 , 0 , 1 ,atr2), 4 ) < 0 ){ Print ( "CopyBufferatrHandle error =" , GetLastError ());}
   if ( NormalizeDouble ( CopyBuffer (atrHandle3, 0 , 0 , 1 ,atr3), 4 ) < 0 ){ Print ( "CopyBufferatrHandle error =" , GetLastError ());}
   if ( NormalizeDouble ( CopyBuffer (atrHandle4, 0 , 0 , 1 ,atr4), 4 ) < 0 ){ Print ( "CopyBufferatrHandle error =" , GetLastError ());}
   if ( NormalizeDouble ( CopyBuffer (atrHandle5, 0 , 0 , 1 ,atr5), 4 ) < 0 ){ Print ( "CopyBufferatrHandle error =" , GetLastError ());}

   Result = 0 ;
}
double FGroup(){
      CalculatePairs(Currency1);{
         Pair1 = Result;}

Tabii ki, ben hesaplamaları yapana kadar 4806 hatası verdi, ancak daha sonra iyi çalışıyor.

Bugün bu kodu açtım ve düşündüm, başka bir yolu var mı?

Hata ve yemek hatası.

8 çift ve 5 zaman dilimi için ne kadar işlem yapılmalıdır?

Soru kaynaklar için değil, daha sonra bir şeyler yapacaklar.

Документация по MQL5: Основы языка / Функции / Описание внешних функций
Документация по MQL5: Основы языка / Функции / Описание внешних функций
  • www.mql5.com
Основы языка / Функции / Описание внешних функций - Документация по MQL5
 
mario065 :

Merhaba sana

Geçen yıl şöyle bir harici fonksiyon yazdım:

Tabii ki, ben hesaplamaları yapana kadar 4806 hatası verdi, ancak daha sonra iyi çalışıyor.

Bugün bu kodu açtım ve düşündüm, başka bir yolu var mı?

  1. Neyin yolu?
  2. Hatalardan başka bir şey vermiyorsa CalculatePairs() işlevine neden ihtiyaç duyulur?

Bu işlevi kodunuzdan kaldırın ve huzur içinde uyuyun.

 
Reshetov :
  1. Neyin yolu?
  2. Hatalardan başka bir şey vermiyorsa CalculatePairs() işlevine neden ihtiyaç duyulur?

Bu işlevi kodunuzdan kaldırın ve huzur içinde uyuyun.

Göstermediği bazı "harika" hesaplamalar var.

Ardından diğer işlevler seçilen çifti alır ve tekrar bir şeyler yapar.

Yöntemin olması basittir.

Örneğin:

Gösterge tutamağını yapıyoruz - bir sembol, bir zaman çerçevesi içermiyor.

CopyBuffer yaptığımızda hangi çifti, çerçeveyi belirtiyoruz.

Örneğin:

int OnInit()

Şuna benzer: Tutamaç = gösterge adı (akıllı göstergeler)

geçersiz OnTick()

Şuna benzer: CopyBuffer(belirtilen sembol, zaman çerçevesi, kopyalama yeri, kopyalama yeri, ne kadar kopyalanacak, kopyalanacak yer)

Bu sadece bir diyalog :) sizinle.

 
mario065 :

Göstermediği bazı "harika" hesaplamalar var.

Apaçık. Veri içermeyen dizilere ArraySetSeries() uygulanmış, yani bilgiler onlara yüklenmeden önce, ancak arabellekleri kopyaladıktan sonra.
 
Reshetov :
Apaçık. Veri içermeyen dizilere ArraySetSeries() uygulanmış, yani bilgiler onlara yüklenmeden önce, ancak arabellekleri kopyaladıktan sonra.

Aynen öyle.

Ama bu CopyBuffer'da yapılırsa herkes için daha kolay olacağını düşünüyorum - yani. orada ukazyvat ne çift ve çerçeve.

Hindinin kendisi, sadece hangi çift ve çerçeve için belirtilmişse, aynı hesaplamayı yapar.

MT5 mimarisinin kendisi bunu yapmayı kolaylaştırıyorsa.

Dilek tabii :) .

 
Reshetov :
Apaçık. Veri içermeyen dizilere ArraySetSeries() uygulanmış, yani bilgiler onlara yüklenmeden önce, ancak arabellekleri kopyaladıktan sonra.
Fark yok.
 
tüm sağlık! Gurudan, terminali bu siteden sinyal alacak şekilde nasıl düzgün bir şekilde yapılandıracağımı söylemesini istiyorum. Her şeyi ayarladım, kaydoldum, terminalde ayarları yaptım ama otomatik olarak ticaret yapmak istemiyorum. bekleyen siparişimi vermeye çalıştığımda, terminaldeki tüm siparişleri senkronize etme ve silme hakkında bana yazıyor ve bundan sonra tedarikçiden sipariş alıyorum. ne yapmalıyım, söyle bana
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров - Документация по MQL5
 
Yedelkin :

EA, MFI kullanıyorsa, kodunda bu göstergenin ele alındığı bir satır bulunmalıdır: " MQL5 Referans / Teknik Göstergeler / iMFI". Buna göre, hareketli ortalama göstergesinin tutacağının elde edilmesi burada açıklanmaktadır: " MQL5 Referans / Teknik Göstergeler / iMA".

Ayrıca " MQL5'te bir göstergeye dayalı gösterge " makalesini okumaya çalışın.

makale ile tanıştım. Ancak "MFI gösterge penceresinde bulunan iMA tutamaçları nasıl kaldırılır ve barın kapanış fiyatı nasıl kaydedilir?" soruma cevap vermedi.

iMA tanıtıcısını kaldırmak için belirttiğiniz bağlantılar, gösterge penceresinde bulunan iMA için geçerli değildir. Açıklama Standart yöntemi kullanarak EA, MA tutamağını tablodan kaldırır.
 
Leser : Makaleyi okudum. Ancak "MFI gösterge penceresinde bulunan iMA tutamaçları nasıl kaldırılır ve barın kapanış fiyatı nasıl kaydedilir?" soruma cevap vermedi.

Başlangıçta görevi şu şekilde özetlediniz: "Uzman Danışman MFI kullanıyor; Ma grafikte (1 numaralı pencere) değil, MFI göstergeli pencerede (2 numaralı pencere) . Size cevap verdiğim şey: " EA MFI kullanıyorsa, kodu bu göstergeyi ele alan bir satır içermelidir: "MQL5 Referans / Teknik Göstergeler / iMFI ".

Bu nedenle, Uzman Danışmanınızın gösterge tutamağını prensip olarak "2 No'lu pencereden" nasıl aldığını tam olarak anlayarak başlamayı öneriyorum. Ve sonra bir şeyler bulacağız.

Leser : Makaleyi okudum. Ancak, "... iMA, MFI gösterge penceresinde bulunan ve çubuğun kapanış fiyatını kaydeden" soruma cevap vermedi.
Açıklayıcı soru: MA göstergesini hangi verilere göre oluşturuyorsunuz: MFI göstergesinin değerlerine veya barların kapanış fiyatlarına? "Bar kapanış fiyatlarının kaydı" hakkında daha önce hiçbir şey söylenmedi. Bu nedenle, "Göstergeden Gösterge" makalesine bir bağlantı verildi.
Neden: