Yeni başlayanlardan sorular MQL5 MT5 MetaTrader 5 - sayfa 716
![MQL5 - MetaTrader 5 müşteri terminalinde yerleşik ticaret stratejileri dili](https://c.mql5.com/i/registerlandings/logo-2.png)
Ticaret fırsatlarını kaçırıyorsunuz:
- Ücretsiz ticaret uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
Merhaba ... Nasıl imkansız?
Ve o zaman nedir? Editörde beş dakika...
Kusursuzca!
Takım?
...
start()
{
........
j=j+ 10 ;
PlotIndexSetInteger ( 0 , PLOT_SHIFT ,j);
........
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 ;)
Kusursuzca!
Takım?
...
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);
}
//+------------------------------------------------------------------+
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?
oraya ekledim. SetIndexShift(). Evet ve Artyom daha ayrıntılı yazdı.
En sonunda! Sorun çözüldü.
...
start()
{
........
j=j+ 10 ;
SetIndexShift ( 0 ,j);
Her şey MT4'te çalışıyor
HERKESE ÇOK TEŞEKKÜRLER!!!
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?
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
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?
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?