[UYARI, KONU KAPALI!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde. - sayfa 263

 
Run >> :

Bana bir kare veya dikdörtgenin nasıl çizileceğini söyleyebilir misiniz, ancak sadece arka plan olarak değil, çerçeve olarak çizilecek şekilde

teşekkürler

Dikdörtgeni object özellik listesinde ayarlayın, draw as background özelliğini false olarak ayarlayın:

ObjectSet(dize adı, OBJPROP_BACK, yanlış) ;

Doğru, bu durumda nesne grafikten önce çizilecektir.

 

düzenleme | silmek

Muhtemelen aptalca soru için özür dilerim ...


Gösterge arabelleklerinde biraz yavaşım .... veya göstergenin kendisini tam olarak anlamadım ...


söyle bana, lütfen, eğer bir fırsat varsa, BrainTrend2StopN göstergesine nasıl erişilir?


Mevcut çubuğun açıklığının gösterge değerlerinin üstünde/altında olup olmadığını kontrol etmek istiyorum.

Göstergeye EA'dan şu satırla erişiyorum:


iCustom(NULL,0,"BrainTrend2StopN",CountBars, 1,0)

veya

iCustom(NULL,0,"BrainTrend2StopN",CountBars, 0,0)

sırasıyla sıfır ve ilk tampon için ....

ama danışman bu satıra hiçbir şekilde tepki vermiyor...


Şimdiden çok teşekkür ederim.

Dosyalar:
 
Morzh09 >> :

iCustom(NULL,0,"BrainTrend2StopN",CountBars,1,0)

veya

iCustom(NULL,0,"BrainTrend2StopN",CountBars, 0,0)

sırasıyla sıfır ve ilk tampon için ....

ama danışman bu satıra hiçbir şekilde tepki vermiyor...

Lütfen göstergede 2 harici parametreniz olduğunu unutmayın:

harici int Simbol =119;

harici int CountBars=500;

hepsinin iCustom'da kayıtlı olması gerekir:


 iCustom ( NULL , 0 , "BrainTrend2StopN" , Simbol , CountBars , 0 , 0 ) ;

iCustom ( NULL , 0 , "BrainTrend2StopN" , Simbol , CountBars , 1 , 0 ) ;
 

alsu


Çok teşekkürler. Kodu düzelttim şimdi her iki parametreyi de geçiyorum ama ne yazık ki gösterge tampon değerleri ile Alert çağırırken bana sadece sıfırlar yazılıyor....


mümkünse, bana bununla nasıl başa çıkacağımı söyle.

Dosyalar:
bt1_1.mq4  10 kb
 

denemek

 Alert ( "Buy signal" ,
      "  " ,
      DoubleToStr ( iCustom ( NULL , 0 , "BrainTrend1StopN" , Simbol , CountBars , EnableAlerts , SignalID , 1 , 0 ) , 8 ) ,
      "   " , 
      DoubleToStr ( iCustom ( NULL , 0 , "BrainTrend1StopN" , Simbol , CountBars , EnableAlerts , SignalID , 0 , 0 ) , 8 )
      ) ;
 
Lütfen yardım edin beyler programcılar. Bir haftadır acı çekiyorum ama hiçbir şey çıkmıyor çünkü programlamada sıfırım. İki HMA kesiştiğinde ok şeklinde işaretçiler olacak şekilde bir gösterge yazabilirsiniz .
Dosyalar:
hma.mq4  4 kb
 

nedense bir vardiyanın ne olduğunu anlamıyor ve ok koymak istemiyor

#özellik göstergesi_chart_window
//#özellik göstergesi_chart_window
#özellik göstergesi_tamponları 4
#özellik göstergesi_renk1 Macenta // 12
#özellik göstergesi_renk2 Mavi // 26
#özellik göstergesi_renk3 OrtaMavi
#özellik göstergesi_color4 Domates
#özellik göstergesi_width1 2
#özellik göstergesi_width2 2
#özellik göstergesi_width3 1
#özellik göstergesi_width4 1
//---- gösterge parametreleri
harici int FastHMA = 12;
harici int YavaşHMA = 26;
extern int ExtmethodFastHMA=0; // MODE_SMA
harici int ExtmethodSlowHMA=0; // MODE_SMA
harici int ExtpriceFastHMA=0; // PRICE_CLOSE
harici int ExtpriceSlowHMA=0; // PRICE_CLOSE
harici int ExtsdvigFastHMA=0;
harici int ExtsdvigSlowHMA=0;
harici bool EnableAlert=true;
harici string ExtSoundFileName = "";
//---- gösterge tamponları
çift PreHMA1[];
çift PreHMA2[];
çift Çapraz[];
çift CrossDown[];
statik int bBuy = 0;
statik int bSat = 0;

//+------------------------------------------- --------------------+
int pF, pS;

//+------------------------------------------- --------------------+
//| özel gösterge başlatma işlevi |
//+------------------------------------------- --------------------+
int init()
{

// Orta
SetIndexStyle( 0, DRAW_LINE );
SetIndexStyle( 1, DRAW_LINE );
// Sinyaller
SetIndexStyle( 2, DRAW_OK, BOŞ);
SetIndexArrow( 2, 233 );
SetIndexStyle( 3, DRAW_OK, BOŞ);
SetIndexArrow( 3, 234 );

//---- 5 gösterge arabelleği eşlemesi
SetIndexBuffer(0,PreHMA1);
SetIndexBuffer(1,PreHMA2);
SetIndexBuffer( 2, CrossUp );
SetIndexBuffer( 3, CrossDown );

IndicatorDigits( MarketInfo( Symbol(), MODE_DIGITS ) );

//---- DataWindow ve gösterge alt pencere etiketi için isim
GöstergeShortName("HMA2("+HızlıHMA+","+YavaşHMA+")");
SetIndexLabel( 0, "HMA("+ FastHMA + "," + SlowHMA+")" + FastHMA );
SetIndexLabel( 1, "HMA(" + FastHMA + "," + SlowHMA+")" + SlowHMA );
SetIndexLabel( 2, "Satın Al");
SetIndexLabel(3, "Sat");

pF = MathSqrt(FastHMA);
pS = MathSqrt(SlowHMA);

//---- başlatma tamamlandı
dönüş(0);
}


//+------------------------------------------- --------------------+
double WMA(int x, int p) {
dönüş(iMA(BOŞ, 0, p, 0, MODE_SMA, PRICE_CLOSE, x+sdvig));
}


//+------------------------------------------- --------------------+
//| Osilatörün Hareketli Ortalaması |
//+------------------------------------------- --------------------+
int başlangıç()
{

bool bConditionUp;
bool bConditionDown;
çift aralık;
çift AvgRange;

int limiti;
int sayacı;
int counted_bars=IndicatorCounted();

//---- son sayılan çubuk yeniden sayılacak
if(counted_bars>0) counted_bars--;
limit=bars-counted_bars;

//---- HMA'nın hazırlanması
for(int i=0; i<limit; i++) {
PreHMA1[i] = 2*WMA(i, FastHMA/2) - WMA(i, FastHMA);
PreHMA2[i] = 2*WMA(i, YavaşHMA/2) - WMA(i, YavaşHMA);

OrtAralık = 0;
bConditionUp = 0;
bKoşulDown = 0;
for ( sayaç = i; sayaç <= i + 9; sayaç++ ) {
AvgRange += MathAbs( Yüksek[ sayaç ] - Düşük[ sayaç ] );
}
Aralık = OrtAralık/10;
bConditionUp = (PreHMA1[i+1] >= PreHMA2[i+1] ) &&
(ÖnHMA1[i+2] <= ÖnHMA2[i+2] ) &&
(PreHMA1[i] > PreHMA2[i]); // karşıya geçmek
bConditionDown = (ÖnHMA1[i+1] <=HMA2 Öncesi[i+1] ) &&
(ÖnHMA1[i+2] >= ÖnHMA2[i+2] ) &&
(PreHMA1[i] < PreHMA2[i]); // aşağı geçiş
if (bConditionUp) {//
CrossUp[i+1] = PreHMA2[i+1]-Aralık * 0.75;
CrossDown[i+1] = EMPTY_VALUE;
bConditionDown = yanlış;
}

if (bConditionDown) {//
CrossDown[i+1] = PreHMA2[i+1]+Aralık * 0.75;
CrossUp[i+1] = EMPTY_VALUE;
bConditionUp = yanlış;
}

if (!bConditionUp && !bConditionDown) {
CrossDown[i+1] = EMPTY_VALUE;
CrossUp[i+1] = EMPTY_VALUE;
}

if (bConditionUp && !bBuy==1 && i==0 && EnableAlert){
bSatın alma = 1; // satın alma bayrağını ayarla
bSat = 0; // satış bayrağını sıfırla
Uyarı (Symbol()," ",Period(),"M Achtung BUY "); // ses sinyali
if ( ExtSoundFileName != "" ) PlaySound( ExtSoundFileName );
}
if (bConditionDown && !bSell==1 && i==0 && EnableAlert){
bSatın al = 0; // satın alma bayrağını ayarla
bSat = 1; // satış bayrağını sıfırla
Uyarı (Symbol()," ",Period(),"M Achtung SATIŞ "); // ses sinyali
if ( ExtSoundFileName != "" ) PlaySound( ExtSoundFileName );
}
//Comment("Satın Al-"+bAl+"\nSat-"+bSat);
} // için

//dönüş( 0 );
}
//satın almak için
// if (bBuy==0 && i < 1 && EnableAlert) {
// //Uyarı (Symbol()," ",Period(),"M Achtung BUY "); // ses sinyali
// Alert("Satın Al-",bBuy," ",i," ",EnableAlert);
// if ( ExtSoundFileName != "" ) PlaySound( ExtSoundFileName );
// }

// if (bSell==0 && i < 1 && EnableAlert) {
// //Uyarı (Symbol()," ",Period(),"M Achtung SATIŞ ");
// Alert("Sat-",bSat," ",i," ",EnableAlert);
// if ( ExtSoundFileName != "" ) PlaySound( ExtSoundFileName );
// }

biri bana hatamın ne olduğunu söyleyebilir mi

 
kurt >> :


biri bana hatamın ne olduğunu söyleyebilir mi

Yuvalama seviyesini ve SRC düğmesini gösteren sekmeleri kullanarak kodu okunabilir bir biçimde sararak başlayın

 

Merhaba.


Lütfen https://book.mql4.com/ru/build/info öğreticisinden bilgi işlevini anlamama yardım edin Bir haftadır neden ondan sinyal gelmediğini anlayamıyorum? Danışmanı aynen ders kitabından aldım, bilgiler içinde yer alıyor.


Göstergeyi grafiğe şimdi eklemem gerekiyor mu? Ve ne ile doldurmalı? Örnekte boş yazıyor ve ne istersen onu doldur diyorlar... Inform() fonksiyonundan sinyal çıkışına nasıl başlanır ???

 

Yeni başlayanlar için bizimle bir hafta gibi görünüyor, ardından size profesyonellere gideceğimiz son tarih)))


Son paylaşımlara göre...

Neden: