[ARŞİV!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 4. - sayfa 472

 
Elektronik :

Her şey sizin için zaten yapıldı ve harika çalışıyor

KimIV 01.11.2006 18:49

Test ettiğim kodu öner



https://forum.mql4.com/en/4689


cevap için teşekkürler, ama neden benim için işe yaramadığını bilmek istiyorum :)
 
hoz :

Belgeler, SetIndexEmptyValue işlevinin "boş" bir değer belirtmek için kullanıldığını söylüyor. Yani, hangi değerde hiçbir şey çizmenin gerekli olmadığını belirtiyoruz. Bu bizim durumumuzda çok uygundur, çünkü sinyaller her çubukta bulunmaz. Bu şekilde çalışır. Geçerli çubukta bir ok görüntülemeniz gerekmediğinde, veri arabelleğinin ilgili öğesine, bizim durumumuzda 0 olan "boş" bir değer atarsınız.

Girmediğim bir şey. Bir sinyal üzerine bir şey çizilirse, sinyalsiz çekilmez. O zaman bu işlevin anlamı nedir?


Bilgisayarın, değerin eksik olduğunu doğrudan belirtmesi adettendir. O zaman görünüyor ve hiç sıfır değil. Bir tampon çizdiğinizi hayal edin - burada 1,2903, 1,2905, 1,2904 değeri var... Ve aniden 0. Bu mistlerde , gösterge çizgileri aniden pencerenin altına dalmak zorunda kalacak!!!
 
hoz :

Belgeler, SetIndexEmptyValue işlevinin "boş" bir değer belirtmek için kullanıldığını söylüyor. Yani, hangi değerde hiçbir şey çizmenin gerekli olmadığını belirtiyoruz. Bu bizim durumumuzda çok uygundur, çünkü sinyaller her çubukta bulunmaz. Bu şekilde çalışır. Geçerli çubukta bir ok görüntülemeniz gerekmediğinde, veri arabelleğinin ilgili öğesine, bizim durumumuzda 0 olan "boş" bir değer atarsınız.

Girmediğim bir şey. Bir sinyal üzerine bir şey çizilirse, sinyalsiz çekilmez. O zaman bu işlevin anlamı nedir?

Bu işlev bir diziyi (bu durumda bir gösterge arabelleği) boş bir EMPTY_VALUE = 0x7FFFFFFFF değeriyle doldurur.
 
drknn :


Aslında, dilin renk adı verilen özel bir değişken türü vardır. Örneğin:

çift değer;

colorMyLine;

Boyut=2.569;

MyLine=Kırmızı;


bende böyle oldu
   OrderSend ( NULL , OP_BUY, lot, Ask, 3 , NormalizeDouble ( Bid- (stoplos* Point ), Digits ),   NormalizeDouble ( Ask+( takeprofit* Point ), Digits ), NULL , magicnumber, 0 , 00 FF33);  }
           
Peki, ona orada, özellikle renk yazmak için mi, yoksa ne?
 
Dimka-novitsek :

Öylesine sahiptim ki, oraya renk yazmalı mı, yoksa ne?

Hayır, 00FF33 yerine Kırmızı veya Web Renk Kümesi tablosundan herhangi bir renk yazabilirsiniz - bu bağlantıyı açın - onaltılık kodu kullanmamak için birçok renk var.
 
Robot
 //+------------------------------------------------------------------+
//|                                                     советник.mq4 |
//|                        Copyright 2012, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright 2012, MetaQuotes Software Corp."
#property link       "http://www.metaquotes.net"


   extern double   lot= 1 ;                          
   extern int taymfreym= 0 ;                           
   extern double   stoplos= 20 ;                          
   extern double   takeprofit= 50 ; 
   extern double   magicnumber= 350//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
//----
             double strela1 = iCustom ( NULL , taymfreym, "индикатор" , 0 , 1 );
             double strela2 = iCustom ( NULL , taymfreym, "индикатор" , 1 , 1 );
             int BUY= 0 ,SELL= 0 ; int ticket; 
             Print (   " strela1 " , strela1 , "   strela2  " , strela2  );
            
    
            
             for ( int i= 1 ; i<= OrdersTotal (); i++) {  
             if ( OrderSelect (i- 1 ,SELECT_BY_POS)==true) // Если есть следующий
        {                                       // Анализ ордеров:
         if ( OrderSymbol ()!= Symbol ( ) ) continue ;       // Не наш фин. инструм
         if ( OrderMagicNumber ( ) !=magicnumber) continue ;
         if ( OrderType ()== 0 ){ BUY++; ticket= OrderTicket ( );}
         if ( OrderType ()== 1 ) {SELL++;ticket= OrderTicket ( );}    } }
         
   if (strela1>strela2&&BUY== 0 &&SELL== 0 ){               
            
           OrderSend ( NULL , OP_BUY, lot, Ask, 3 , NormalizeDouble ( Bid- (stoplos* Point ), Digits ), 
  NormalizeDouble ( Ask+( takeprofit* Point ), Digits ), NULL , magicnumber, 0 , CLR_NONE );  }
           
           
   if (strela1<strela2&&BUY== 0 &&SELL== 0 ){  
   
             OrderSend ( NULL , OP_SELL, lot, Bid, 3 , NormalizeDouble ( Ask- (stoplos* Point ), Digits ), 
  NormalizeDouble ( Bid+( takeprofit* Point ), Digits ), NULL , magicnumber, 0 , CLR_NONE ) ; }
            
            
   if (strela1>strela2&&BUY== 0 &&SELL!= 0 ){ 
   OrderSelect (ticket, SELECT_BY_TICKET);
   OrderClose (  ticket , OrderLots ( ) , OrderOpenPrice ( ) , 3 , CLR_NONE );                 
   OrderSend ( NULL , OP_BUY, lot, Ask, 3 , NormalizeDouble ( Bid- (stoplos* Point ), Digits ),  
 NormalizeDouble ( Ask+( takeprofit* Point ), Digits ), NULL , magicnumber, 0 , CLR_NONE );  }         
      
   if (strela1<strela2&&SELL== 0 &&BUY!= 0 ){ 
   OrderSelect (ticket, SELECT_BY_TICKET);
   OrderClose (  ticket , OrderLots ( ) , OrderOpenPrice ( ) , 3 , CLR_NONE );                 
   OrderSend ( NULL , OP_SELL, lot, Bid, 3 , NormalizeDouble ( Ask- (stoplos* Point ), Digits ),  
 NormalizeDouble ( Bid+( takeprofit* Point ), Digits ), NULL , magicnumber, 0 , CLR_NONE ) ; }
      
            
            
//----
   return ( 0 );
  }
//+------------------------------------------------------------------+
Bu yer
 double strela1 = iCustom ( NULL , taymfreym, "индикатор" , 0 , 1 );
 double strela2 = iCustom ( NULL , taymfreym, "индикатор" , 1 , 1 );

Strela2 çalışmıyor, değeri sadece -1. Görev, ok yukarıdaysa, bir satın alma emri ve bunun tersidir. Ya da belki de tamamen yanlış bir şey yazıyorum !!

Bu iCustom'u ilk kez kullanıyorum. Onları böyle karşılaştırmak gerçekten doğru mu? strela1 ve strela2? Bu şekilde ne tür değerler alıyorum - hayır, ne olduğunu anlıyorum

birinci ve ikinci tamponlar, ancak artık yok

Okları bile nasıl çiziyor?

 

Gösterge

 /*ДЕКОМПИЛ УДАЛЕН, ВАМ ПРЕДУПРЕЖДЕНИЕ*/

Okları bile nasıl çiziyor?

 

"İz" kelimesinin anlamı nedir?

Alıntı tam olarak şöyle:

<Uzman Danışman, girişler için " Timsah " göstergesinin sinyallerini kullanır, konumu başa baş noktasına taşır ve belirli bir adımla takip eder.>

 
Anlamadım! Biri bana bir gösterge gönderdi. Nereden derledi? Evet, oldukça benzer göstergelerle bir kereden fazla, bir kereden fazla karşılaştım. Lütfen yere geri dönün!
 
Evet, içinde bir çizgi gördüm.