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

 
, ve bu yüzden
 //+------------------------------------------------------------------+
//|                                                      5 fkkjd.mq4 |
//|                      Copyright © 2009, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2009, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"

//---- input parameters
extern double       urov_h1_1 = 1 ;
.....
extern double       urov_D_4 = 1 ;
extern double       urov_D_5 = 1 ;

double urov_h1 [ ] , urov_h4 [ ] , urov_D [ ] ;
int svechi_ball , urov_ball , stoh ;
int i ;
//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init ( )
   {
   return ( 0 ) ;
   }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit ( )
   {
//----
   
//----
   return ( 0 ) ;
   }
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start ( )
   {
   //*******
   urov_h1 [ 0 ] = urov_h1_1 ;    urov_h1 [ 1 ] = urov_h1_2 ;    urov_h1 [ 2 ] = urov_h1_3 ;    urov_h1 [ 3 ] = urov_h1_4 ;
   urov_h1 [ 4 ] = urov_h1_5 ;    urov_h1 [ 5 ] = urov_h1_6 ;    urov_h1 [ 6 ] = urov_h1_7 ;    urov_h1 [ 7 ] = urov_h1_8 ;
   urov_h1 [ 8 ] = urov_h1_9 ;    urov_h1 [ 9 ] = urov_h1_10 ;   urov_h1 [ 10 ] = urov_h1_11 ; urov_h1 [ 11 ] = urov_h1_12 ;
   urov_h1 [ 12 ] = urov_h1_13 ; urov_h1 [ 13 ] = urov_h1_14 ; urov_h1 [ 14 ] = urov_h1_15 ;
   //*******
   urov_h4 [ 0 ] = urov_h4_1 ;    urov_h4 [ 1 ] = urov_h4_2 ;    urov_h4 [ 2 ] = urov_h4_3 ;    urov_h4 [ 3 ] = urov_h4_4 ;
   urov_h4 [ 4 ] = urov_h4_5 ;
   //******* 
   urov_D [ 0 ] = urov_D_1 ;    urov_D [ 1 ] = urov_D_2 ;    urov_D [ 2 ] = urov_D_3 ;    urov_D [ 3 ] = urov_D_4 ;
   urov_D [ 4 ] = urov_D_5 ;
   //*******

   //+++++медвежье поглощение++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
   for ( i = 0 ; i < 15 ; i + + )
   {
   if ( medvejye_poglochenie ( urov_h1 [ i ] ) = = true )
       {
      svechi_ball = 4 ;
      urov_ball = 3 ;
      text ( svechi_ball , urov_ball ) ;
       }
   }
   /*bool medv_po_h1_1=medvejye_poglochenie(urov_h1_1);
  bool medv_po_h1_2=medvejye_poglochenie(urov_h1_2);
  ............
  bool medv_po_h1_15=medvejye_poglochenie(urov_h1_15);
  //**
   //****стохастик
  double st_2=iStochastic(Symbol(),60,6,1,2,MODE_EMA,0,MODE_MAIN,2);    
  double st_1=iStochastic(Symbol(),60,6,1,2,MODE_EMA,0,MODE_MAIN,1);    

  if(medv_po_h1_1==true || medv_po_h1_2==true || medv_po_h1_3==true || medv_po_h1_4==true || medv_po_h1_5==true || medv_po_h1_6==true
     || medv_po_h1_7==true || medv_po_h1_8==true || medv_po_h1_9==true || medv_po_h1_10==true || medv_po_h1_11==true || medv_po_h1_12==true
     || medv_po_h1_13==true || medv_po_h1_14==true || medv_po_h1_15==true)
      {
      svechi_ball=4;
      urov_ball=3;
      if(st_2>st_1 && st_2>70 && st_1>70) stoh=2;
      else if(st_2>st_1 && st_2<70 && st_1<70) stoh=1;
      else stoh=0;
      text(svechi_ball,urov_ball,stoh);
      }
  if(medv_po_h4_1==true || medv_po_h4_2==true || medv_po_h4_3==true || medv_po_h4_4==true || medv_po_h4_5==true)
      {
      svechi_ball=4;
      urov_ball=4;
      if(st_2>st_1 && st_2>70 && st_1>70) stoh=2;
      else if(st_2>st_1 && st_2<70 && st_1<70) stoh=1;
      else stoh=0;
      text(svechi_ball,urov_ball,stoh);
      }
  if(medv_po_D_1==true || medv_po_D_2==true || medv_po_D_3==true || medv_po_D_4==true || medv_po_D_5==true)
      {
      svechi_ball=4;
      urov_ball=5;
      if(st_2>st_1 && st_2>70 && st_1>70) stoh=2;
      else if(st_2>st_1 && st_2<70 && st_1<70) stoh=1;
      else stoh=0;
      text(svechi_ball,urov_ball,stoh);
      }*/
   return ( 0 ) ;
   }

Numara

bu kod parçasında bir sorun var, ama ne olduğunu anlamıyorum

 for ( i = 0 ; i < 15 ; i + + )
   {
   if ( medvejye_poglochenie ( urov_h1 [ i ] ) = = true )
       {
      svechi_ball = 4 ;
      urov_ball = 3 ;
      text ( svechi_ball , urov_ball ) ;
       }
   }

Samimi olarak.

 
alsu >> :

çift iCustom ( dize sembolü, int zaman çerçevesi, dize adı, ..., int modu, int shift)
Belirtilen özel göstergenin hesaplanması. Özel gösterge derlenmelidir (EX4 uzantılı dosya) ve terminal_directory\experts\indicators dizininde bulunmalıdır.
Seçenekler:
semboller - Göstergenin hesaplanacağı sembolün sembolik adı. NULL, geçerli karakter anlamına gelir.
zaman aralığı - Dönem. Grafik dönemlerinden biri olabilir. 0, mevcut grafiğin periyodu anlamına gelir.
isim - Özel göstergenin adı.
... - Parametre listesi (gerekirse). Geçirilen parametreler, bildirim sırasına ve özel göstergenin harici (harici) değişkenlerinin türüne uygun olmalıdır.
mod - Gösterge satırı indeksi. 0 ile 7 arasında olabilir ve SetIndexBuffer işlevlerinden biri tarafından kullanılan dizinle eşleşmelidir.
vardiya - Gösterge arabelleğinden alınan değerin dizini (geçerli çubuğa göre belirtilen dönem sayısı kadar önce kayma).
Misal:


yaşasın yardım!

ÇOK TEŞEKKÜR EDERİM iCustom'u >> MQL4 Referansı - Teknik Göstergeler - iCustom'da asla bulamazdım (her yerde aradım ama burada değil)

bir kez daha BÜYÜK bir teşekkür!

 

Selamlar!

MT4'e, aralığı ATR(60) aşan grafikteki çubukları vurgulamayı öğretmeye çalışıyorum, kod aşağıdaki gibidir:

harici int Quant_Bars=1000; // Çubuk sayısı


int başlangıç()
{
int Ind_Bar;

for(Ind_Bar=Quant_Bars-1; Ind_Bar>=0; Ind_Bar--)
{
Oluştur(Ind_Bar);
}

dönüş;
}
//------------------------------------------------ --------------- 3 --
int Create(int Ind_Bar) // Özel nesne oluşturma fonksiyonu

{
renk Renk=Kırmızı; // nesne rengi
tarihsaat T_Bar=Saat[Ind_Bar]; // Barın açılma zamanı
double O_Bar=Aç[Ind_Bar]; // Bar açılış fiyatı
double C_Bar=Kapat[Ind_Bar]; // Bar kapanış fiyatı
double H_Bar=Yüksek[Ind_Bar]; // Maksimum çubuk fiyatı
double L_Bar=Düşük[Ind_Bar]; // Minimum çubuk fiyatı
çift A= iATR(Symbol(),0,60,Ind_Bar);


if((H_Bar-L_Bar)>A)
ObjectCreate("Onun_Adı", OBJ_TREND ,0,T_Bar,H_Bar,T_Bar,L_Bar);
dönüş;
}

... nedense, sadece bir çubuk boyanacak (bence soldaki ilki), ancak teorik olarak her şey 1000-0 çubuk aralığında olmalıdır. Lütfen bana hatanın nerede olduğunu söyle?

 

Parantezleri nerede kapatacağımı bulamıyorum .. yardım pliz!

	if ( ( ( b1 + b1_2 ) > 0 ) | | ( ( b2 + b2_2 ) > = 0 ) | | ( ( s1 + s1_2 ) < 0 ) | | ( ( s2 + s2_2 ) < = 0 ) )
	{
	if ( T1green ! = 0 & & T2red = = 0 )
	}
	else 
	if ( Flat ! = 0 ) return ( 0 ) ;
	{
	SigBuy = true ;
	}
	if ( ( ( b1 + b1_2 ) > 0 ) | | ( ( b2 + b2_2 ) > = 0 ) | | ( ( s1 + s1_2 ) < 0 ) | | ( ( s2 + s2_2 ) < = 0 ) )
	{
	if ( T1red ! = 0 & & T2green = = 0 )
	}
	else if ( Flat ! = 0 ) return ( 0 ) ;
	{	
	SigSell = true ;
	}

=>

'}' - unbalanced parentheses
'}' - unbalanced parentheses

 
Ibiss >> :

Parantezleri nerede kapatacağımı bulamıyorum .. yardım pliz!

=>

Orada eksik iki parantez yok, genel olarak yapı bükülmüş, önce bunu yapmaya çalışın:

 if ( ) { } else { } //вот так 

if ( ) // или так 
   { }
else
   { }
// и в зависимости от необходимости строите структуру 
if ( )
   { if ( ) { } else { } }
else
   { if ( ) { } } // простым скопировал вставил 

ve ardından gerekli koşulları ve operatörleri yapıya yerleştirin.

	if ( ( ( b1 + b1_2 ) > 0 ) | | ( ( b2 + b2_2 ) > = 0 ) | | ( ( s1 + s1_2 ) < 0 ) | | ( ( s2 + s2_2 ) < = 0 ) )
	{
	if ( T1green ! = 0 & & T2red = = 0 ) // что это условие должно разрешать ????????????
	}
	else 
	if ( Flat ! = 0 ) return ( 0 ) ; //тут вылетаем по ретурну дальше код не исполняется 
	{
	SigBuy = true ; // по какому условию выполняется этот оператор ???????????
	}
	if ( ( ( b1 + b1_2 ) > 0 ) | | ( ( b2 + b2_2 ) > = 0 ) | | ( ( s1 + s1_2 ) < 0 ) | | ( ( s2 + s2_2 ) < = 0 ) )
	{
	if ( T1red ! = 0 & & T2green = = 0 ) // что это условие должно разрешать ????????????
	}
	else if ( Flat ! = 0 ) return ( 0 ) ; //тут вылетаем по ретурну дальше код не исполняется 
	{	
	SigSell = true ; // по какому условию выполняется этот оператор ???????????
	}

pppppp

 
TAMAM. Deneyeceğim, teşekkürler!
 
Urain >> :

Orada eksik iki parantez yok, genel olarak yapı bükülmüş, önce bunu yapmaya çalışın:

ve ardından gerekli koşulları ve operatörleri yapıya yerleştirin.

pppppp


Böyle çalışmıyor.

Benim durumum için bunu yapmanın doğru yolu nedir?

if(...........)//если условие выполнилось,то
{
if(T1green!=0 && T2red==0)//и это выполнилось..  ...это типо максд
}
else 
if(Flat!=0) return(0);//это пролетаем, выполняется следующее
{
SigBuy=true;// включение покупки
}
 
Renkli olarak öne çıkan gönderilere kodlar nasıl eklenir?
 
Bir şekilde 10 dakikalık mumlardan oluşan bir tablo oluşturmak mümkün müdür?
 

Merhaba. Lütfen Dönem Dönüştürücü Opt'u yeniden yapmama yardım edin.

Mesele şu.

Örneğin, 1 saatlik çubuklardan 8 saatlik çubuklar (terminal zamanı) oluşturuyoruz. Bir dizi elde ederiz: 0, 8, 16, 0 saat, vb.

Dönüştürücüde ofseti ayarlayabilmek istiyorum. Bu kayma, ihtiyacımız olanın oluşturulduğu temel alınarak TF'nin çubuk sayısında yapılabilir. 1 saat bazında oluşturursak, ofset saat olarak ifade edilecektir... 15 dakika bazında ise, offset 15, 30, 45 dakika olacaktır....

Ek olarak, terminaldeki zaman da "benim" zamanımdan 2 saat farklıdır. => Moskova saatiyle 2'de terminale yaklaşmak sakıncalıdır.

Bu nedenle, +3 kaymalı (örneğin) 8 saatlik bir zaman çerçevesi oluştururken yeni bir satır alırız: 3, 11, 19, 3, vb. Veya (-2) ofset şunu verir: 22, 6, 14, 22, vb. Kendinizi sadece olumlu ile sınırlayabilmenize rağmen

telafi etmek.


Ofsetin amacı, tüccarın uyku döneminde çubuğun tam oluşumunu önlemektir.


"Dönem Dönüştürücü Seçeneği"ni bu şekilde geliştirmek istiyorum.