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

[Silindi]  
Vitaly Muzichenko :

Bir şeyi anlamayabilirim, ancak burada ihtiyacınız var long tml = ( long ) ObjectGetInteger ( ChartID (), vlines_name[i] , OBJPROP_TIME ); dizini değil, satırların adını değiştirin, aksi takdirde sonucu alamazsınız.

Evet. Çok teşekkürler. Döngüye bir satır ekledim ve her şey çalıştı)))

   for ( int i = 0 ; i < vlines; i++)
   {
       vlines_name[i]    = ObjectName ( ChartID (),i, 0 , OBJ_VLINE );
       long tml          = ( long ) ObjectGetInteger ( ChartID (),vlines_name[i], OBJPROP_TIME );
      vlines_arr[i][ 0 ]  = tml;
      vlines_arr[i][ 1 ]  = ( long )i;
   }
 

Merhaba! Görev: 2 enstrümanın mumlarını çizelgede gösterin, ancak tek bir yerde yeterli mum yok. Döngüde, tüm verilerle birlikte enstrümanın çubuklarından geçiyoruz, 2 enstrümanın çubuklarının zamanını karşılaştırıyoruz ve bir tutarsızlıkla karşılaştığımızda, 1 enstrüman için döngünün daha da devam etmesi gerekiyor ve diğerinde, çubukların zamanı eşleşene kadar durur, böylece grafikte yeterli çubuğun olmadığı boş değerler olur. Nasıl yapılır?

 
Uzman pazarına nasıl yer verilir?
Sorun şu ki, bir uzman eklerken, uzman türünü seçmeniz gerekiyor. Uzman Danışmanım "sinir ağı" türünden, onu seçiyorum, ekliyorum ve ardından bir Expert Advisor'a veri almak için harici bir API kullanamayacağınız ortaya çıkıyor.
Ve bir sinir ağı son kullanıcının bilgisayarında nasıl çalışabilir ??? Yoksa Tensoflow + Keras + Ta-Lib + birkaç python betiği kurmak için talimatlar mı eklemem gerekiyor?

Bu sorun pratikte nasıl çözülür? Elbette birileri sinir ağları konusunda uzmanlaştı.
 

Herkese iyi günler! Lütfen kodu tavsiye edin veya düzeltin. Sıfır çubuğuna, yüksekliği 500'e bir histogram çizmek gerekir, renk kırmızıdır.

 #property indicator_separate_window
#property indicator_buffers 2
#property indicator_plots    1
#property indicator_type1    DRAW_COLOR_HISTOGRAM
#property indicator_color1   Red
#property indicator_style1    0
#property indicator_width1    1
#property indicator_minimum 0.0


double                     ExtBuffer[];
double                     ExtColorsBuffer[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
void OnInit ()
  {
//---- buffers   
   SetIndexBuffer ( 0 ,ExtBuffer, INDICATOR_DATA );
   SetIndexBuffer ( 1 ,ExtColorsBuffer, INDICATOR_COLOR_INDEX );
   
//----
  }
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[])
  {
  
  ExtBuffer[ 0 ]= 500 ;
  ExtColorsBuffer[ 0 ]=Red;
   
   return (rates_total);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
 
EfDim :

Herkese iyi günler! Lütfen kodu tavsiye edin veya düzeltin. Sıfır çubuğuna, yüksekliği 500'e bir histogram çizmek gerekir, renk kırmızıdır.

Sıfır çubuğu en soldaki çubuktur. Mevcut oranlar_toplam-1

 
Alexey Viktorov :

Sıfır çubuğu en soldaki çubuktur. Mevcut oranlar_toplam-1

Teşekkürler arkadaşım!
 

Merhaba!

Yardım edin lütfen sorunu çözün.

 //----------БЛОК 1---------
if (x)
 {
   func_1(a,b);
   ......
 }
//-----------БЛОК 2--------
if (z)
 {
  func(c,d);
  ....
 } 
//---------------------

Bu blokların aşağıdaki modlarda çalışması gerekir:

1) normalde, yani yazıldığı gibi, blok koşullarını sırayla kontrol etme

2) Blok 1: x koşulunun kontrolü iptal edilir ve içindeki kodun çalışması iptal edilir; Blok 2: koşul kontrolü z iptal edilir ve içindeki kod koşulsuz olarak yürütülür

3) Blok 1: x koşulunun kontrolü iptal edilir ve içindeki kod koşulsuz olarak yürütülür; Blok 2: durum kontrolü z iptal edilir ve içerideki kod iptal edilir

Danışman ayarlarında modları manuel olarak değiştirmeniz gerekir.

(Sadece geçiş için yeterli hayal gücüm vardı, üç yürütme çeşidi vardı, ama sonra kod tekrarlandı, ama bundan kaçınmak istiyorum. Belki?)

Торговые советники и собственные индикаторы - Алгоритмический трейдинг, торговые роботы - Справка по MetaTrader 5
Торговые советники и собственные индикаторы - Алгоритмический трейдинг, торговые роботы - Справка по MetaTrader 5
  • www.metatrader5.com
Среди программ для автоматического трейдинга можно выделить две большие категории: торговые роботы и индикаторы. Первые предназначены для совершения торговых операций на рынках, а вторые — для анализа котировок и выявления закономерностей в их изменении. При этом индикаторы могут использоваться непосредственно в роботах, образуя полноценную...
[Silindi]  

Tünaydın.

Bu kod var:

         // Нормализация входных данных
         Print ( TimeToString (( datetime )vlines_arr[i][ 0 ]));
         Print ( "размер buf_Dsl = " , ArraySize (buf_Dsl));
         ArrayPrint (buf_Dsl);
         double d1         = 0.0 ;
         double d2         = 1.0 ;
         double x_min      = buf_Dsl[ ArrayMinimum (buf_Dsl)];
         double x_max      = buf_Dsl[ ArrayMaximum (buf_Dsl)];
         for ( int n = 0 ; n < ArraySize (buf_Dsl); n++)
         {
            inp_Dsl[n]=(((buf_Dsl[n]-x_min)*(d2-d1))/(x_max-x_min))+d1; // array out of range
         }

Neden yemin ediyor anlamıyorum...

2019.09.04 06:00
размер buf_Dsl = 6
 -7.25207 -12.75148 -14.52521 -13.95145 -12.49837  -3.17857
array out of range in '.....' (143,20)
Dizinin ötesine nasıl geçebilirsiniz?
 
Сергей Таболин :

Tünaydın.

Bu kod var:

Neden yemin ederim anlamıyorum...

Dizinin ötesine nasıl geçebilirsiniz?

Aslında inp_Dsl[n] üzerine yemin ediyor

[Silindi]  
Vladimir Karputov :

Aslında inp_Dsl[n] üzerine yemin ediyor

Aynen öyle. Boyutu ayarlamadım ... Teşekkürler.