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

 
Artyom Trishkin :

Merhaba ... Nasıl imkansız?

Ve o zaman nedir? Editörde beş dakika...

Kusursuzca!

Takım?

int j;
...
start()
{
........
      j=j+ 10 ;
       PlotIndexSetInteger ( 0 , PLOT_SHIFT ,j);
........
yuvarlanmıyor((( //MT4, 1031 oluştur)
 
Renat Akhtyamov :

TEŞEKKÜR ETMEK!

Genel olarak, evet.

Gösterge penceresindeki çizgiyi sağa, sıfır çubuğunun ötesine kaydırmak, MT5 platformunda gerçekten işe yarıyor.

MT4'ün böyle bir imkanı yok, benim yapmadığım da ortaya çıkmadı.

Ayrıca MT5, bildiğim kadarıyla MT4'ün aksine 3D modelleme yeteneğine sahip.

Hepsi çok güzel!

Kırdım.

MT5'e geçiş!!! // üstelik acilen;)

imkansız nedir? Gösterge arabelleğini sağa kaydır? Yine de mümkün olduğu kadar sağa, hatta sola;) SetIndexShift().

Ama MT5'e geçmeye karar verdiğiniz için bayrak sizin elinizde ;)

 
Renat Akhtyamov :

Kusursuzca!

Takım?

int j;
...
start()
{
........
      j=j+ 10 ;
       PlotIndexSetInteger ( 0 , PLOT_SHIFT ,j);
........

Hesaplanan arabelleğin son on değerini aptalca çevirdi ve 10 barlık bir kayma ile çıktı. Herhangi bir optimizasyon vs. hakkında düşünmedim bile. Sadece göstermek için:

//+------------------------------------------------------------------+
//|                                                  iCheckShift.mq4 |
//|              Copyright 2017, Artem A. Trishkin, Skype artmedia70 |
//|                       https://login.mql5.com/ru/users/artmedia70 |
//+------------------------------------------------------------------+
#property copyright "Copyright 2016, Artem A. Trishkin, Skype artmedia70"
#property link        "https://login.mql5.com/ru/users/artmedia70"
#property version    "1.00"
#property strict
#property indicator_separate_window
#property indicator_buffers 2
#property indicator_plots    2
//--- plot BufferCurrent
#property indicator_label1   "BufferCurrent"
#property indicator_type1   DRAW_LINE
#property indicator_color1   clrRed
#property indicator_style1   STYLE_SOLID
#property indicator_width1   1
//--- plot BufferFuture
#property indicator_label2   "BufferFuture"
#property indicator_type2   DRAW_LINE
#property indicator_color2   clrDodgerBlue
#property indicator_style2   STYLE_SOLID
#property indicator_width2   2
//--- input parameters
input int       Shift= 10 ;   // Смещение в будущее (баров)
//--- indicator buffers
double          BufferCurrent[];
double          BufferFuture[];
double          BufferCalculate[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit ()
  {
//--- indicator buffers mapping
   IndicatorBuffers ( 3 );
   SetIndexBuffer ( 0 ,BufferCurrent, INDICATOR_DATA );
   SetIndexBuffer ( 1 ,BufferFuture, INDICATOR_DATA );
   SetIndexBuffer ( 2 ,BufferCalculate, INDICATOR_CALCULATIONS );
   SetIndexShift ( 1 ,Shift);
//---
   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[])
  {
//---
   if (rates_total< 1 ) return ( 0 );
   ArraySetAsSeries (BufferCalculate, true );
   ArraySetAsSeries (BufferCurrent, true );
   ArraySetAsSeries (BufferFuture, true );
   int limit=rates_total-prev_calculated;
   if (limit> 1 ) {
      limit=rates_total- 1 ;
       ArrayInitialize (BufferCalculate, EMPTY_VALUE );
       ArrayInitialize (BufferCurrent, EMPTY_VALUE );
       ArrayInitialize (BufferFuture, EMPTY_VALUE );
      }
   for ( int i=limit; i>= 0 ; i--) {
      BufferCurrent[i]=(high[i]+low[i])/ 2.0 ;
       if (i<Shift) BufferCalculate[i]=(high[i]+low[i]+open[i]+close[i])/ 4.0 ;
      }
   for ( int i= 0 ; i<Shift; i++) {
      BufferFuture[Shift-i]=BufferCalculate[i];
      }
//--- return value of prev_calculated for next call
   return (rates_total);
  }
//+------------------------------------------------------------------+
 
Vitalie Postolache :

imkansız nedir? Gösterge arabelleğini sağa kaydır ? Olabildiğince bile sağa hatta sola bile ;)

Ama MT5'e geçmeye karar verdiğiniz için bayrak sizin elinizde ;)

Kodumu yukarıda yazdım. Böyle?
 
Renat Akhtyamov :
Kodumu yukarıda yazdım. Böyle?
oraya ekledim. SetIndexShift(). Evet ve Artyom daha ayrıntılı yazdı.
 
Vitalie Postolache :
oraya ekledim. SetIndexShift(). Evet ve Artyom daha ayrıntılı yazdı.

En sonunda! Sorun çözüldü.

int j=0;
...
start()
{
........
      j=j+ 10 ;
       SetIndexShift ( 0 ,j);

Her şey MT4'te çalışıyor

HERKESE ÇOK TEŞEKKÜRLER!!!

 
Merhaba !
Sorum şu:
Gösterge penceresinde, cari fiyat üzerinden hesaplanan belirli bir "A" değerine sahip bir MACD var. Mevcut MACD değeri "-A" olursa fiyat değerini hesaplama formülü ne olmalıdır?
 
Leo59 :
Merhaba !
Sorum şu:
Gösterge penceresinde, cari fiyat üzerinden hesaplanan belirli bir "A" değerine sahip bir MACD var. Mevcut MACD değeri "-A" olursa fiyat değerini hesaplama formülü ne olmalıdır?
https://ru.wikipedia.org/wiki/%D0%98%D0%BD%D0%B4%D0%B8%D0%BA%D0%B0%D1%82%D0%BE%D1%80_MACD
Индикатор MACD — Википедия
Индикатор MACD — Википедия
  • ru.wikipedia.org
Индикатор используют для проверки силы и направления тренда, а также определения разворотных точек. Строится на основе скользящих средних. Существует две модификации индикатора MACD: линейный MACD и MACD-гистограмма. Для расчёта линейного MACD из скользящей средней цены (обычно берётся экспоненциальная скользящая средняя с меньшим периодом...
 
Renat, tabii ki katıldığın için teşekkür ederim .... Ama soru başka bir şeyle ilgiliydi:
Gösterge penceresinde, cari fiyat üzerinden hesaplanan belirli bir "A" değerine sahip bir MACD var. Mevcut MACD değeri "-A" olursa fiyat değerini hesaplama formülü ne olmalıdır?
 
Leo59 :
Renat, tabii ki katıldığın için teşekkür ederim .... Ama soru başka bir şeyle ilgiliydi:
Gösterge penceresinde, cari fiyat üzerinden hesaplanan belirli bir "A" değerine sahip bir MACD var. Mevcut MACD değeri "-A" olursa fiyat değerini hesaplama formülü ne olmalıdır?
Belki belirli bir "A" değeri pozitif bir değere sahip olduğunda hesaplama formülünü göstermeye değer, aksi halde neden bahsettiğimiz net değil