MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma - sayfa 114
Alım-satım fırsatlarını kaçırıyorsunuz:
- Ücretsiz alım-satım 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
R Hangi nesneler ayırt edilemez? ve bir nesnenin türünü değiştirmek, ardından özelliklerin çökmesi ne anlama gelir?
bu, geçerli kodumda yatay çizgi nesnesini mevcut mum için bir eğilim çizgisi veya dikey bir çizgi ile değiştirirsem, başka bir nesnenin parametrelerini belirtmeden bağımsız olarak aynı renk ve kırmızı renkte bir şey çalışmaya devam eder.
tüm bu manipülasyonların amacı, göstergeyi ve danışmanı birleştirmek, şimdi olanlardan dolayı hatayı bulmaya çalışıyorum.
onlar. oluşturur, taşır ve siler iyi, ancak satın alırken maviye, satarken kırmızıya ihtiyacım var, zaten kırmızıya değil.Selamlar. "Double bb"den sonra () parantez içindeki girişin ne verdiğini ve bu durumda " double bb( int buff, int shift)" için {} parantez içindeki girişin ne olduğunu söyleyin
Ve hala burada. Al ve Sat tipi bool . "< , &&, >" kullanırken onlara ne atandığını nasıl anlayabilirim?
{
if (!UseHTF){
Buy = (bb( 0 , 1 ) < bb( 1 , 1 ) && bb( 0 , 2 ) > bb( 1 , 2 ));
Sell = (bb( 0 , 1 ) > bb( 1 , 1 ) && bb( 0 , 2 ) < bb( 1 , 2 ));}
if (UseHTF){
Buy = (bbh( 0 , 1 ) < bbh( 1 , 1 ) && bb( 0 , 1 ) < bb( 1 , 1 ) && bb( 0 , 2 ) > bb( 1 , 2 ));
Sell = (bbh( 0 , 1 ) > bbh( 1 , 1 ) && bb( 0 , 1 ) > bb( 1 , 1 ) && bb( 0 , 2 ) < bb( 1 , 2 ));}
Selamlar. "Double bb"den sonra () parantez içindeki girişin ne verdiğini ve bu durumda " double bb( int buff, int shift)" için {} parantez içindeki girişin ne olduğunu söyleyin
Ve hala burada. Al ve Sat tipi bool . "< , &&, >" kullanırken onlara ne atandığını nasıl anlayabilirim?
{
if (!UseHTF){
Buy = (bb( 0 , 1 ) < bb( 1 , 1 ) && bb( 0 , 2 ) > bb( 1 , 2 ));
Sell = (bb( 0 , 1 ) > bb( 1 , 1 ) && bb( 0 , 2 ) < bb( 1 , 2 ));}
if (UseHTF){
Buy = (bbh( 0 , 1 ) < bbh( 1 , 1 ) && bb( 0 , 1 ) < bb( 1 , 1 ) && bb( 0 , 2 ) > bb( 1 , 2 ));
Sell = (bbh( 0 , 1 ) > bbh( 1 , 1 ) && bb( 0 , 1 ) > bb( 1 , 1 ) && bb( 0 , 2 ) < bb( 1 , 2 ));}
2. Boole değişkenlerine, atama işaretinin (=) ardından tüm mantıksal ifadenin sonucu atanır. Tüm koşullar doğruysa, değişken true olarak ayarlanır, aksi takdirde - false
bu, geçerli kodumda yatay çizgi nesnesini mevcut mum için bir eğilim çizgisi veya dikey bir çizgi ile değiştirirsem, başka bir nesnenin parametrelerini belirtmeden bağımsız olarak aynı renk ve kırmızı renkte bir şey çalışmaya devam eder.
tüm bu manipülasyonların amacı, göstergeyi ve danışmanı birleştirmek, şimdi olanlardan dolayı hatayı bulmaya çalışıyorum.
onlar. oluşturur, taşır ve siler iyi, ancak satın alırken maviye, satarken kırmızıya ihtiyacım var, zaten kırmızıya değil.bu, grafik nesnesinin parametrelerini tekrar yanlış ayarladığınız anlamına gelir.
büyük olasılıkla.
herşey ders kitaplarına göre gözüküyor ama sonuç aynı değil o yüzden kodu buraya attım.
Ben oluşturmadıysam, terminalde neden bir İstemci Terminali Global Değişkeni olduğunu anlayamıyorum? ( GlobalVariablesTotal() işlevi "1" değerini döndürür ). Belki önceden yüklenmiş bir Terminal vardır? Öyleyse neden, adını öğrenmek ve GlobalVariableName(0) veya GlobalVariableName(1) işlevini çağırmak istediğimde, hiçbir ad görüntülenmiyor. Lütfen bana neyin yanlış olabileceğini söyle?
Selamlar. Fiyat tablosunda üst üste bindirilmeyen, ancak altında ayrı olarak görüntülenen göstergenin kırmızı çizgisi hakkında veri almanız gerekir. Bunu, grafikte üst üste bindirilmiş göstergelerde olduğu gibi yapmaya çalışıyorum, ancak bir sorun var. nerede hatalıyım?
İşte gösterge
#property link "yuriytokman@gmail.com"
//ну если проще запулить в одно окно три мульти с настройками
//1 EUR-USD
//2 EURGBP
//3 EURJPY
//если все три в состоянии перекупленности значит Бай и наоборот
#property indicator_separate_window
#property indicator_buffers 6
#property indicator_color1 Green
#property indicator_color2 Red
#property indicator_color3 Yellow
#property indicator_level1 0
#property indicator_level2 5
#property indicator_level3 - 5
extern string Symbol_1 = "EURUSD" ;
extern string Symbol_2 = "EURGBP" ;
extern string Symbol_3 = "EURJPY" ;
extern int RSI_1_Period = 14 ; //период первого индикатора РСИ
extern int RSI_2_Period = 28 ; //период второго индикатора РСИ
extern int applied_price = 0 ; //используемая цена 0-6
extern int ma_period = 14 ; //период сглаживания
extern int ma_method = 0 ; //метод сглаживания 0-3
double buf[];
double MA_buf[];
double buf2[];
double MA_buf2[];
double buf3[];
double MA_buf3[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
SetIndexStyle ( 0 , DRAW_LINE , STYLE_SOLID , 2 );
SetIndexBuffer ( 0 , buf);
SetIndexStyle ( 4 , DRAW_NONE );
SetIndexBuffer ( 4 ,MA_buf);
SetIndexStyle ( 1 , DRAW_LINE , STYLE_SOLID , 2 );
SetIndexBuffer ( 1 , buf2);
SetIndexStyle ( 3 , DRAW_NONE );
SetIndexBuffer ( 3 ,MA_buf2);
SetIndexStyle ( 2 , DRAW_LINE , STYLE_SOLID , 2 );
SetIndexBuffer ( 2 , buf3);
SetIndexStyle ( 5 , DRAW_NONE );
SetIndexBuffer ( 5 ,MA_buf3);
IndicatorShortName ( "ytg_Def_RSI_3_Symbol" );
Comment ( "yuriytokman@gmail.com" );
//----
return ( 0 );
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
Comment ( "" );
//----
return ( 0 );
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
//----
double RSI_1, RSI_2, RSI_12, RSI_22, RSI_13, RSI_23;
int limit;
int counted_bars= IndicatorCounted ();
if (counted_bars< 0 ) return (- 1 );
if (counted_bars> 0 ) counted_bars--;
limit= Bars -counted_bars;
for ( int i=limit; i>= 0 ; i--)
{
RSI_1 = iRSI (Symbol_1, 0 ,RSI_1_Period,applied_price,i);
RSI_2 = iRSI (Symbol_1, 0 ,RSI_2_Period,applied_price,i);
MA_buf[i] = (RSI_1-RSI_2);
RSI_12 = iRSI (Symbol_2, 0 ,RSI_1_Period,applied_price,i);
RSI_22 = iRSI (Symbol_2, 0 ,RSI_2_Period,applied_price,i);
MA_buf2[i] = (RSI_12-RSI_22);
RSI_13 = iRSI (Symbol_3, 0 ,RSI_1_Period,applied_price,i);
RSI_23 = iRSI (Symbol_3, 0 ,RSI_2_Period,applied_price,i);
MA_buf3[i] = (RSI_13-RSI_23);
}
for (i=limit; i>= 0 ; i--)
{
buf[i] = iMAOnArray (MA_buf, 0 ,ma_period, 0 ,ma_method,i);
buf2[i] = iMAOnArray (MA_buf2, 0 ,ma_period, 0 ,ma_method,i);
buf3[i] = iMAOnArray (MA_buf3, 0 ,ma_period, 0 ,ma_method,i);
}
//----
return ( 0 );
}
Selamlar. Fiyat tablosunda üst üste bindirilmeyen, ancak altında ayrı olarak görüntülenen göstergenin kırmızı çizgisi hakkında veri almanız gerekir. Bunu, grafikte üst üste bindirilmiş göstergelerde olduğu gibi yapmaya çalışıyorum, ancak bir sorun var. nerede hatalıyım?
İşte gösterge
extern string Symbol_2 = "EURGBP" ;
extern string Symbol_3 = "EURJPY" ;
extern int RSI_1_Period = 14 ; //период первого индикатора РСИ
extern int RSI_2_Period = 28 ; //период второго индикатора РСИ
extern int applied_price = 0 ; //используемая цена 0-6
extern int ma_period = 14 ; //период сглаживания
extern int ma_method = 0 ; //метод сглаживания 0-3
Giriş parametreleri penceresini açın ve bunları iCustom'da sırayla listeleyin
İlk üç dize değerini kaçırıyorsunuz: