MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma - sayfa 49
![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
Teşekkürler , bu doğru mu?
if (label==Lime) BUY_ = true ;
Hayır, renk verilerini int olarak bu şekilde alırsınız
Burada, yorumda ne görüntüleneceğini görmeye çalışın
Dönüşüm hakkında bilgi edinin
Dönüşüm hakkında bilgi edinin
Teşekkürler, koşulun kendisi doğru mu?
if (label==Lime) BUY_ = true ;
if (label==Red) BUY_ = false ;
Büyük olasılıkla değil. Veri türü string ise , onu tırnak işaretleri ile çerçevelemeniz ve karakter karakter tam bir renk eşleşmesi yazmanız gerekir: "clrLime"
Büyük olasılıkla değil. Veri türü string ise , onu tırnak işaretleri ile çerçevelemeniz ve karakter karakter renk eşleşmesi yazmanız gerekir: "clrLime"
Hayır, alıntılara ihtiyacınız yok - bunlar sabittir. Yani, buna ihtiyacınız var: if(label==clrLime) {}
Teşekkürler Çalışıyor.
Lütfen bana daha yüksek zaman diliminden stokastik göstergenin seviyesini nasıl doğru bir şekilde elde edeceğimi söyleyin.
int bar_sto2_1= iBarShift ( Symbol (),TimeFrame2, iTime ( Symbol (),TimeFrame2,i+ 1 ));
double sto1_0= iStochastic ( Symbol (),TimeFrame1,kperiod1,dperiod1,slowing1, MODE_LWMA , STO_CLOSECLOSE , MODE_MAIN ,i);
double sto1_1= iStochastic ( Symbol (),TimeFrame1,kperiod1,dperiod1,slowing1, MODE_LWMA , STO_CLOSECLOSE , MODE_MAIN ,i+ 1 );
double sto2_0= iStochastic ( Symbol (),TimeFrame2,kperiod2,dperiod2,slowing2, MODE_LWMA , STO_CLOSECLOSE , MODE_MAIN ,bar_sto2_0);
double sto2_1= iStochastic ( Symbol (),TimeFrame2,kperiod2,dperiod2,slowing2, MODE_LWMA , STO_CLOSECLOSE , MODE_MAIN ,bar_sto2_1);
if (sto2_0> 55 )
{
BufferUP[i]=low[i]-distance*MyPoint;
}
Gösterge eski ph'a ayarlandığında. o zaman her şey doğrudur, gösterge çizgisi 55'in üzerindeyken ok yerleştirilir.
Küçük bir grafiğe geçerken, kaos.
Teşekkürler Çalışıyor.
Lütfen bana daha yüksek zaman diliminden stokastik göstergenin seviyesini nasıl doğru bir şekilde elde edeceğimi söyleyin.
int bar_sto2_1= iBarShift ( Symbol (),TimeFrame2, iTime ( Symbol (),TimeFrame2,i+ 1 ));
double sto1_0= iStochastic ( Symbol (),TimeFrame1,kperiod1,dperiod1,slowing1, MODE_LWMA , STO_CLOSECLOSE , MODE_MAIN ,i);
double sto1_1= iStochastic ( Symbol (),TimeFrame1,kperiod1,dperiod1,slowing1, MODE_LWMA , STO_CLOSECLOSE , MODE_MAIN ,i+ 1 );
double sto2_0= iStochastic ( Symbol (),TimeFrame2,kperiod2,dperiod2,slowing2, MODE_LWMA , STO_CLOSECLOSE , MODE_MAIN ,bar_sto2_0);
double sto2_1= iStochastic ( Symbol (),TimeFrame2,kperiod2,dperiod2,slowing2, MODE_LWMA , STO_CLOSECLOSE , MODE_MAIN ,bar_sto2_1);
if (sto2_0> 55 )
{
BufferUP[i]=low[i]-distance*MyPoint;
}
Gösterge eski ph'a ayarlandığında. o zaman her şey doğrudur, gösterge çizgisi 55'in üzerindeyken ok yerleştirilir.
Küçük bir grafiğe geçerken, kaos.
Gösterge döngüsünden bahsediyorsanız, daha yüksek zaman diliminin hangi çubuğunun alt TF'deki döngü indeksi tarafından belirtilen çubuğa karşılık geldiğini bilmek için, zaman çubuğunu almanız gerekir i . Ardından, bu zamana kadar, bu zamana karşılık gelen daha yüksek TF'nin çubuğunu belirleyin. Örneğin: bir H4 çubuğu, dört H1 çubuğuna karşılık gelir. Buna göre, TF H1 ile i döngü indeksinin dört değeri, TF H4'te aynı çubuğa işaret edecektir.
Değişkenlerinize (adlarına) göre değerleri hangi çubuktan aldığınızı anlayamıyorum. Bu nedenle teori dışında bir şey söylemek zor.
Gösterge döngüsünden bahsediyorsanız, daha yüksek zaman diliminin hangi çubuğunun alt TF'deki döngü indeksi tarafından belirtilen çubuğa karşılık geldiğini bilmek için, zaman çubuğunu almanız gerekir i . Ardından, bu zamana kadar, bu zamana karşılık gelen daha yüksek TF'nin çubuğunu belirleyin. Örneğin: bir H4 çubuğu, dört H1 çubuğuna karşılık gelir. Buna göre, TF H1 ile i döngü indeksinin dört değeri, TF H4'te aynı çubuğa işaret edecektir.
Değişkenlerinize (adlarına) göre değerleri hangi çubuktan aldığınızı anlayamıyorum. Bu nedenle teori dışında bir şey söylemek zor.
Gösterge M1 olarak ayarlanmıştır.
Yukarı ok için ana koşul, M5'teki 55 seviyesinin üzerindeki gösterge çizgisidir .
Bu koşul karşılanmaz, M5 üzerindeki çizgi 55 seviyesinin altında olsa bile ok hala yer almaktadır.
robotta "1 bar'ın yüksek değeri 3. bar'ın en düşük değerinden yüksekse..." koşulu nasıl yazılır?
aynı zamanda tetikleyici "OnTick ()" olmamalıdır
ve her 0 bar 1 olduğunda
robotta "1 bar'ın yüksek değeri 3. bar'ın en düşük değerinden yüksekse..." koşulu nasıl yazılır?
aynı zamanda tetikleyici "OnTick ()" olmamalıdır
ve her 0 bar 1 olduğunda
böyle olabilir mi
//| test03.mq4 |
//| Sergey Gritsay |
//| https://www.mql5.com/ru/users/sergey1294 |
//+------------------------------------------------------------------+
#property copyright "Sergey Gritsay"
#property link "https://www.mql5.com/ru/users/sergey1294"
#property version "1.00"
#property strict
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
class CNevBar
{
private :
datetime curbar;
datetime lastbar;
public :
CNevBar();
~CNevBar();
bool new_bar( string symbol, ENUM_TIMEFRAMES period);
};
//+------------------------------------------------------------------+
void CNevBar::CNevBar()
{
}
//+------------------------------------------------------------------+
void CNevBar::~CNevBar( void )
{
}
//+------------------------------------------------------------------+
bool CNevBar:: new_bar( string symbol, ENUM_TIMEFRAMES period)
{
curbar=( datetime ) SeriesInfoInteger (symbol,period, SERIES_LASTBAR_DATE );
if (lastbar== 0 )lastbar=( datetime ) SeriesInfoInteger (symbol,period, SERIES_LASTBAR_DATE );
if (lastbar!=curbar)
{
lastbar=curbar;
return ( true );
}
return ( false );
}
CNevBar newbar;
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit ()
{
//---
//---
return ( INIT_SUCCEEDED );
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit ( const int reason)
{
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick ()
{
if (newbar.new_bar( _Symbol , PERIOD_CURRENT ))
{
if ( High [ 1 ]> Low [ 3 ])
{
}
}
}
//+------------------------------------------------------------------+
...