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

 
Artyom Trishkin :
Print() görsel modda

Süper! Teşekkür ederim! Her şey yolunda gitti. Hemen tüm değişkenleri kontrol ettim.

 
Roni Iron :

Tünaydın!

Bu tür verileri alma seçenekleri nelerdir:

Zaman (UTC),Sor,Teklif,AskVolume,TeklifVolume

Sor, Teklif Ver - sadece belirtin. Akıllı olmaya gerek yok ve Forex'te Hacim sadece 1'dir.

iVolume

İlgili grafiğin (shift parametresi tarafından belirtilen) çubuğunun onay hacminin değerini döndürür.

 long    iVolume ( 
   string            symbol,           // символ 
   int               timeframe,       // период 
   int               shift             // сдвиг 
   );
 
Merhaba, lütfen bana MQL4'te yazılı bir özel gösterge yüklediğinizde her şeyin çalıştığını, ancak başka bir zaman dilimine geçtiğinizde, yalnızca deinit'in (önceki zaman diliminden) çalıştığını söyleyin, ancak yeni init'te çalışmıyor, yani , program yeniden başlamaz, sadece pencereden kaldırılır. Göstergeyi yeni bir zaman dilimine manuel olarak ayarlarken her şey yolunda gider. Ne yanlış olabilir?
 

Bu tam olarak şakadır - Forex'te bir çubuğun tik hacmi vardır, ancak bir tikin işlem hacmi yoktur. Ancak kene alıntı kaynakları (Ducascopy, vb.) bu formdaki fiyat değerlerinden sonra AskVolume,BidVolume değerleri verir 0,32,0,12 (ve bunların virgüllü 2 hane mi yoksa 4 hane mi olduğu net değildir) .

Teşekkür ederim!

 
Sınırlayıcı olmadan bir CSV dosyası oluşturmanın bir hilesi var mı?
 

Merhaba.

Lütfen söyleyin, MQL4 için yazdığım kodu MQL5 için yeniden yazdım.

Bunlar bire bir iki EMA, her şey basit görünüyor.

  Derlerken hata vermiyor ama MQL4 için yazılandan farklı bir şeyler de çiziyor.

MQL5 kılavuzunda zaten gözlerimi kırdım , hiçbir şey anlamıyorum.

//+------------------------------------------------------------------+
//|                                                           MA.mq5 |
//|                        Copyright 2019, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2019, MetaQuotes Software Corp."
#property link        "https://www.mql5.com"
#property version    "1.00"
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_plots    2
//--- plot 1
#property indicator_label1    "MA 1"
#property indicator_type1    DRAW_LINE
#property indicator_color1    clrLime
#property indicator_style1    STYLE_SOLID
#property indicator_width1    1
//--- plot 2
#property indicator_label2    "MA 2"
#property indicator_type2    DRAW_LINE
#property indicator_color2    clrYellow
#property indicator_style2    STYLE_SOLID
#property indicator_width2    1
//
input int PER= 8 ; //Period
//
double          MA_1[];
double          MA_2[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit ()
  {
//--- indicator buffers mapping
   SetIndexBuffer ( 0 ,MA_1, INDICATOR_DATA );
       SetIndexBuffer ( 1 ,MA_2, INDICATOR_DATA );
         IndicatorSetInteger ( INDICATOR_DIGITS , 2 );
//---
   return ( INIT_SUCCEEDED );
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
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[])
  {
   program(rates_total,prev_calculated,close);
   return (rates_total);
  }
//+------------------------------------------------------------------+
//+---EMA

double EMA( double N, double P, double EMA0= 0 )//формула
  {
   double   A= 2 /(N+ 1 );                      //расчета
   return (A*P+( 1 -A)*EMA0);                 //ЕМА
  }
//+---
void program( int rates_total, int prev_calculated, const double &close[])
  {

   int Y=rates_total-prev_calculated;
   if (prev_calculated== 0 ) Y=Y-PER- 1 ;

   for (Y=Y; Y>= 0 ; Y=Y- 1 )

     {
     
      MA_1[Y]=EMA(PER,close[Y],MA_1[Y+ 1 ]);//первая
      MA_2[Y]=EMA(PER,MA_1[Y],MA_2[Y+ 1 ]);//на неё вторая

     }
   return ;
  }
//+------------------------------------------------------------------+
 
imknk :

Merhaba.

Lütfen söyleyin, MQL4 için yazdığım kodu MQL5 için yeniden yazdım.

Bunlar bire bir iki EMA, her şey basit görünüyor.

  Derlerken hata vermiyor ama MQL4 için yazılandan farklı bir şeyler de çiziyor.

MQL5 kılavuzunda zaten gözlerimi kırdım , hiçbir şey anlamıyorum.

Mql5'te arabellekleri çevirmeniz gerekir, ileri geri giderler.

Bir tasarım ekleyin ve hakkında bilgi edinin

 ArraySetAsSeries (MA_1, true );
Документация по MQL5: Пользовательские индикаторы / SetIndexBuffer
Документация по MQL5: Пользовательские индикаторы / SetIndexBuffer
  • www.mql5.com
[in]  Тип данных, хранящихся в индикаторном массиве. По умолчанию INDICATOR_DATA (значения рассчитанного индикатора). Может также принимать значение INDICATOR_COLOR_INDEX, тогда данный буфер предназначен для хранения индексов цветов для предыдущего индикаторного буфера. Можно задать до 64 цветов в строке #property indicator_colorN. Значение...
 
Vitaly Muzichenko :

Mql5'te arabellekleri çevirmeniz gerekir, ileri geri giderler.

Bir tasarım ekleyin ve hakkında bilgi edinin

Teşekkürler, şimdi deneyeceğim.
 

Lütfen yardım edin, hata nerede?

Neden bir fonksiyona geçişle if koşulu altında " 'all_clouse' - fonksiyon tanımlanmadı " yemin ediyor

 if (buy>=position)
 {
   All_clouse();   // 'All_clouse' - wrong parameters count

 }
..............
дальше код
..............
Уже за пределами OnTick
void All_clouse( int a, double x, double y)
  {
.............
   } к самой функции закрытия ордеров у него претензий нет.
 
Gilmor :

Lütfen yardım edin, hata nerede?

Neden bir işleve geçişle if koşulu altında " 'all_clouse' - işlev tanımlanmadı " yemin ediyor

Çünkü fonksiyona parametreler iletmeniz gerekiyor ve onu boş bir All_clouse () ile çağırıyorsunuz.

 void All_clouse( int a, double x, double y )
Neden: