Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz, hiçbir yerde - 6. - sayfa 536

 
nekadabra :
Söyleyin lütfen, Win 8, MT 4 ve MT 5 ile uyumlu mu? Soruyorum çünkü bir haşhaşım var ve hangi işletim sistemiyle bilgisayar satın alacağımı merak ediyorum. Hatta bir kişi, sekiz üzerinde çalışan MT 4'ün olduğunu gösteren bir ekran görüntüsü bile gösterdi. Ama bazı yoldaşlar tam bir uyum olmadığını iddia ettikleri için açıklamam gerekiyor... Teşekkürler.

Win 8, MT 4 ve 5 ile uyumludur.
 

Güzel gün!

Gösterge programında bir sorun vardı, yazar göstergenin çalıştığını iddia ediyor, ancak aslında grafik görüntülenmiyor - sorun nedir?

 #property copyright "Copyright © 2006, Profitrader."
#property link        "profitrader@inbox.ru"
//----
#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 Red
//---- input parameters
extern int FastMAPeriod = 3 ;
extern int SlowMAPeriod = 15 ;
extern string SecondMarket = "GOLD" ;
extern bool MarketsDirectCorrelation = true ;
//---- buffers
double [];
double Spread[];
double FastEMA[];
double SlowEMA[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
   string Correlation = "Invert Correlation" ;
   if (MarketsDirectCorrelation == TRUE ) 
       Correlation = "Direct Correlation" ;
   IndicatorShortName ( "Will-Spread(" + FastMAPeriod + "," + SlowMAPeriod + 
                       "," + SecondMarket + "," + Correlation + ")" );
   IndicatorDigits ( Digits + 2 );
   IndicatorBuffers ( 4 );
   SetIndexBuffer ( 0 , WillSpread);
   SetIndexBuffer ( 1 , Spread);
   SetIndexBuffer ( 2 , FastEMA);
   SetIndexBuffer ( 3 , SlowEMA);
   SetIndexStyle ( 0 , DRAW_LINE );
   SetIndexLabel ( 0 , "W-S" );
   return ( 0 );
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
   return ( 0 );
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   int i, counted_bars = IndicatorCounted ();
//---- check for possible errors
   if (counted_bars < 0 ) 
       return (- 1 );
//---- last counted bar will be recounted
   if (counted_bars > 0 ) 
       counted_bars--; 
   int limit = Bars - counted_bars;
   if (MarketsDirectCorrelation == TRUE )
     {
       for (i = 0 ; i < limit; i++)
           Spread[i] = iClose (SecondMarket, 0 , i) / Close [i]* 100 ;
     }
   else
     {
       for (i = 0 ; i < limit; i++)
           Spread[i] = Close [i] / iClose (SecondMarket, 0 , i)* 100 ;
     }
   for (i = limit - 1 ; i >= 0 ; i--)
     {
       FastEMA[i] = iMAOnArray (Spread, 0 , FastMAPeriod, 0 , MODE_EMA , i);
       SlowEMA[i] = iMAOnArray (Spread, 0 , SlowMAPeriod, 0 , MODE_EMA , i);
       WillSpread[i] = FastEMA[i] - SlowEMA[i];
     }
//----
   return ( 0 );
  }
//+------------------------------------------------------------------+
 
AlexMikash :

Güzel gün!

Gösterge programında bir sorun vardı, yazar göstergenin çalıştığını iddia ediyor, ancak aslında grafik görüntülenmiyor - sorun nedir?

Sorun bu satırlarda

   int i, counted_bars = IndicatorCounted ();
//---- check for possible errors
   if (counted_bars < 0 ) 
       return (- 1 );
//---- last counted bar will be recounted
   if (counted_bars > 0 ) 
       counted_bars--; 
   int limit = Bars - counted_bars;
Yeni derleyicide çalıştırırken hata veriyor ama derlerken her şey yolunda. Yazarın hata ayıklayıcıda çalıştırmasına ve sorunu hemen görmesine izin verin.
 
AlexeyVik :

Sorun bu satırlarda

Yeni derleyicide çalıştırırken hata veriyor fakat derlerken her şey yolunda. Yazarın hata ayıklayıcıda çalıştırmasına ve sorunu hemen görmesine izin verin.


Herhangi bir sorunu yok, her şey çalışıyor. Tamponların açıklamasını geri yüklemek yeterlidir

 //---- buffers
double [];
double Spread[];
double FastEMA[];
double SlowEMA[];

Sorun varsayılan araçta. Büyük olasılıkla, ALTIN aracı yoktur, başka bir araç koyarsanız her şey yolundadır


 
Metatrader'da sinyal yayını simgesinin sarı rengi ne anlama geliyor? Sinyalin geçici olarak yayınlanmadığını mı? Ve neden terminalde görebildiğim bazı sinyaller şu anda mql5.com web sitesindeki listede yok?
 
Vinin :


Herhangi bir sorunu yok, her şey çalışıyor. Tamponların açıklamasını geri yüklemek yeterlidir

Sorun varsayılan araçta. Büyük olasılıkla, ALTIN aracı yoktur, başka bir araç koyarsanız her şey yolunda demektir.



Bakın sorun ne, GOLD aracı benim için çok önemli, onu terminale nasıl bağlayabilirim?
 
AlexMikash :

Bakın sorun ne, GOLD aracı benim için çok önemli, onu terminale nasıl bağlayabilirim?

Ya öyledir, ya da değildir. Her şey DC'ye bağlı. Böyle bir araç sağlayıp sağlamadığı.
 
Vinin :

Ya öyledir, ya da değildir. Her şey DC'ye bağlı. Böyle bir araç sağlayıp sağlamadığı.


Teşekkürler, resim net!

 

Tünaydın. Göstergeleri bir EA'ya nasıl vidalayacağımı öğreniyorum, ancak şu ana kadar çok başarılı değil.

1- Danışmanı test cihazı üzerinden başlattığımda, sadece durdurduğumda gösterge işaretleri çıkıyor.

2 - ve şartların ne olması gerektiğini ve nasıl yazıldığını anlamıyorum.

Lütfen yardım edin Lütfen göstergeyi danışmana nasıl vidalayacağınızı açıklayın. böylece danışman gösterge üzerinde işlem yapar.

yukarı veya aşağı gösteren ok göstergesine dayalıdır BS_Living Now ver #1.mq4 https://www.mql5.com/en/code/11014#50910

 #özellik göstergesi_chart_window //
#özellik göstergesi_tamponları 4 //
#özellik göstergesi_renk1 Kırmızı //
#özellik göstergesi_renk2 Sarı //
#özellik göstergesi_renk3 Kırmızı //
#özellik göstergesi_color4 Sarı //
//********************// Gösterge parametrelerinin girilmesi
extern int BQuant = 48 ; // - hesaplanan çubuk sayısı
                                                                              //********************// Göstergenin bileşenleri
double ExtrimHi [] , // - Yüksek ekstremum
ExtrimLo [] , // - Düşük ekstremum
BreakHi [] , // - Yüksek ekstremum
BreakLo [] ;

int init () //
  { //
   Yorum ( " BS_Living Now " ) ; //
                                                                               //********************// Grafik görüntü ayarları
   Gösterge Tamponları ( 4 ) ; //
   SetIndexLabel ( 0 , " ExtrimHi " ) ; //
   SetIndexBuffer ( 0 , ExtrimHi ) ; //
   SetIndexStyle ( 0 , DRAW_OK , BOŞ , 2 ) ; //
   SetIndexArrow ( 0 , 159 ) ; //
   SetIndexLabel ( 1 , " ExtrimLo " ) ; //
   SetIndexBuffer ( 1 , ExtrimLo ) ; //
   SetIndexStyle ( 1 , DRAW_OK , BOŞ , 2 ) ; //
   SetIndexArrow ( 1 , 159 ) ; //
   SetIndexLabel ( 2 , " BreakHi " ) ; //
   SetIndexBuffer ( 2 , BreakHi ) ; //
   SetIndexStyle ( 2 , DRAW_NONE , EMPTY , 1 ) ; // DRAW_ARROW ile değiştir
   SetIndexArrow ( 2 , 224 ) ; //
   SetIndexLabel ( 3 , " BreakLo " ) ; //
   SetIndexBuffer ( 3 , BreakLo ) ; //
   SetIndexStyle ( 3 , DRAW_NONE , EMPTY , 1 ) ; // DRAW_ARROW ile değiştir
   SetIndexArrow ( 3 , 224 ) ; //
                                                                               //***********//
   dönüş ( 0 ) ; //
  }  

int tanım () //
  { //
   Yorum ( "" ) ; //
                                                                               //***********//
   dönüş ( 0 ) ; //
  }  

int başlangıç () //
  {
   int counted_bars = IndicatorCounted () ;
   if ( counted_bars < 0 ) return ( - 1 ) ;
   if ( counted_bars > 0 ) counted_bars --;
   int limit = Çubuklar - sayılan_barlar ;
   if ( counted_bars == 0 ) limit -= 1 + BQuant ;
//
   for ( int s = limit ; s >= 1 ; s -- ) //
     { //
      Yorum ( " Şimdi Yaşamak \n " , " Yayılma = " , MarketInfo ( Symbol () , MODE_SPREAD ) ) ) ; //
      Extreme_Detect ( s + 1 ) ; //********************// Ekstremumların tanımı
     } //
//***********//
   dönüş ( 0 ) ; //
  } 
double Extrim_Detect ( int t ) //****************************************// Ekstremumların tespiti
  { //
   if (( TimeDayOfWeek ( Time [ t ]) == 5 && TimeHour ( Time [ t ]) >= 20 ) || //
      ( TimeDayOfWeek ( Time [ t ]) == 1 && TimeHour ( Zaman [ t ]) <= 1 )) //
     { ExtrimHi [ t ] = 0 ; ExtrimLo [ t ] = 0 ; } //
   başka //
     { //
      if ( iYüksek ( NULL , 0 , t ) >= Yüksek [ iYüksek ( NULL , 0 , 2 , BQuant , t + 1 )] && //
         iYüksek ( NULL , 0 , t ) > iHigh ( NULL , 0 , t - 1 )) //
        { //
         ExtrimHi [ t ] = iYüksek ( NULL , 0 , t ) ; //
         Break_Detect ( t , 1 ) ; //********************// Koparma noktalarının tanımı
        } //
      if ( iLow ( NULL , 0 , t ) <= Düşük [ iLow ( NULL , 0 , 1 , BQuant , t + 1 )] && //
         iLow ( NULL , 0 , t ) < iLow ( NULL , 0 , t - 1 )) //
        { //
         ExtrimLo [ t ] = iLow ( NULL , 0 , t ) ; //
         Break_Detect ( t , -1 ) ; //********************// Koparma noktalarının tanımı
        } //
     } //
   dönüş ( 0 ) ; //
  } //
double Break_Detect ( int a , int Signal ) //****************************************// Algılama noktaları atılım
  { //
   for ( int r = 1 ; r < BQuant ; r ++ ) //
     { //
      if ( Signal == 1 && iHigh ( NULL , 0 , a + r ) < High [ iHighest ( NULL , 0 , 2 , BQuant , a + r + 1 )]) //
        { BreakHi [ a ] = Düşük [ iEn Düşük ( NULL , 0 , 1 , r + 2 , a - 1 )] ; r = BQuant ; } //
      if ( Sinyal ==- 1 && iLow ( NULL , 0 , a + r ) > Low [ iLowest ( NULL , 0 , 1 , BQuant , a + r + 1 )]) //
        { BreakLo [ a ] = Yüksek [ iEn Yüksek ( NULL , 0 , 2 , r + 2 , a - 1 )] ; r = BQuant ; } //
     }
   dönüş ( 0 ) ; //
  } //

ve işte başladığım danışmanım

dış çift Parti = 0.1;
harici int Magic=0;
harici int Durdur=98;
harici int Al=70;
dış int Slip=10;

extern int BQuant=48; // - hesaplanan çubuk sayısı


int başlangıç()
 {
 double S1=iCustom(NULL, 0, "BS_Living Now",BQuant,0,0);
OrderSend(Symbol(), OP_SELL,Lot, Bid, Slip,Sor+Stop*Puan,Sor-Al*Puan, "SAT", Magic, 0,Red ); OrderSend(Symbol(), OP_AL, Lot, Ask, Slip,Bid-Stop*Puan,Teklif+Al*Puan, " AL", Magic, 0,Mavi);

}
 

OBJ_ARROW_RIGHT_PRICE türünde bir nesne oluşturan basit bir komut dosyası yazar ve ardından onu silerseniz, nesne silinmez. Ayrıca, ObjectType komutu aniden, oluşturulan nesnenin OBJ_ARROW_RIGHT_PRICE (==36) türünde değil, ==22 türünde olduğu ortaya çıkıyor. basit "yukarı ok" !!! Bir tek ben mi böyleyim yoksa herkeste mi böyle?

Bu konuda zaten "uzmanların" görüşleri var: Yardımı okumak gibi veya yeterli bellek yok :).

Yeterli hafıza var.

ObjectCreate komutunun grafik üzerinde ObjectsDeleteAll(0,OBJ_ARROW_RIGHT_PRICE) komutu ile silinemeyen ancak ObjectsDeleteAll(0,22) komutu ile silinebilen OBJ_ARROW_RIGHT_PRICE türünde bir nesne çizdiği ortaya çıktı. doğru bir fiyat etiketi değil, bir "yukarı ok". Kimin canı?

#property telif hakkı "Telif hakkı 2014, MetaQuotes Software Corp."

#özellik bağlantısı "https://www.mql5.com"

#özellik sürümü "1.00"

#mülkiyet katı

//+------------------------------------------- --------------------+

//| Komut dosyası programı başlatma işlevi |

//+------------------------------------------- --------------------+

OnStart() geçersiz

{

Uyarmak("") ;

Alert("obj_arrow_right_price=",OBJ_ARROW_RIGHT_PRICE) ; // ==36

ObjectCreate("MyArrow", OBJ_ARROW_RIGHT_PRICE,0,Time[1],Open[1]) ; //

Alert("objectType=", ObjectType("MyArrow") ) ); // ==22 !!

ResetLastError() ;

Alert("script delete arrow right price=",ObjectsDeleteAll(0,OBJ_ARROW_RIGHT_PRICE)," lastError=",GetLastError() ) ; // silinen nesnelerin sayısı ==0, hatalar ==0

}

OBJ_ARROW_RIGHT_PRICE türündeki bir nesneyi silmek için, alt pencerenin zorunlu göstergesiyle ObjectsDeleteAll(0,OBJ_ARROW) komutunu kullanın.

ps OBJ_ARROW türündeki bir nesne, yalnızca "yukarı ok" değil, herhangi bir "oktur". ObjectCreate(...OBJ_ARROW...) hemen bir "yukarı ok" oluşturur. Peki, sıkıntılar, neden sertifikada bu yok?

Neden: