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

 

Açıklamak. hiç anlamıyorum. neden koşul

int Kâr Al = 62;

pp = MarketInfo (OrderSymbol(), MODE_POINT);

if(OrderTakeProfit() - OrderOpenPrice() < Takeprofit*pp )

gerçek gibi çalışır? Her iki parça da eşit olmasına rağmen!! Aşağıdakilerden görüldüğü gibi.

2009.08.22 18:50:31 1999.10.11 23:43 Delta EURUSD,M1: OrderTakeProfit() - OrderOpenPrice() = 0.0062 Takeprofit*pp = 0.0062

Teşekkür ederim!

 

Gerçek sayılarla çalıştığınız için 0,0062'nin aslında hem 0,0061999 hem de 0,0062001 olabileceğini bilmelisiniz.

Normalleştirmeyi kullanın.

 
OneDepo писал(а) >>

Gerçek sayılarla çalıştığınız için 0,0062'nin aslında hem 0,0061999 hem de 0,0062001 olabileceğini bilmelisiniz.

Normalleştirmeyi kullanın.

Takeprofit*pp'yi normalleştirmeye çalıştım - işe yaramadı. Denklemin her iki tarafı da normalleştirilmeli mi?

 
001 >> :

Takeprofit*pp'yi normalleştirmeye çalıştım - işe yaramadı. Belki denklemin her iki tarafı da (İspanyol eşitsizliği ) normalleştirilmeli?

Evet.

İkinci seçenek, örneğin int türüyle çalışmaktır:

 int temp = 0.5 + ( OrderTakeProfit ( ) - OrderOpenPrice ( ) ) / pp ;
if ( temp < Takeprofit )
 
OneDepo писал(а) >>

Evet.

İkinci seçenek, örneğin int türüyle çalışmaktır:

Teşekkür ederim!

 

Merhaba!

duruma bağlı olarak gösterge çizgisinin rengi nasıl değiştirilir - örneğin, farklı bir çubuk aralığı farklı bir renge sahip olacak şekilde?

Bunu yapması gereken SetIndexStyle işlevi, renk ayarını veya çizgi kalınlığını çözmez - şekle bakın

Aşağıdaki örnek koda bakın.

Her adım farklı bir renk ve kalınlık olmalı ve hepsi sadece kırmızı ve kalınlıkta 2.

 //+------------------------------------------------------------------+
//|                                                       MinMax.mq4 |
//|                      Copyright © 2009, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2009, MetaQuotes Software Corp."
#property link       "http://www.metaquotes.net"

#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 Gray

//---- buffers
double ExtMapBuffer1 [ ] ;
double Val ;
int ExtCountedBars = 0 ;

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init ( )
   {
//---- indicators
   SetIndexStyle ( 0 , DRAW_LINE , STYLE_SOLID , 2 , Brown ) ;
   SetIndexBuffer ( 0 , ExtMapBuffer1 ) ;
   Val = Close [ Bars - 1 ] ;
  
//----
   return ( 0 ) ;
   }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit ( )
   {
//----
   
//----
   return ( 0 ) ;
   }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start ( )
   {
   

   if ( Bars < = 100 ) return ( 0 ) ;
   ExtCountedBars = IndicatorCounted ( ) ;

   //---- check for possible errors
   if ( ExtCountedBars < 0 ) return ( - 1 ) ;
   if ( ExtCountedBars > 0 ) ExtCountedBars - - ;
   int     i , pos = Bars - ExtCountedBars - 1 ; 
   Comment ( Bars , " " , ExtCountedBars , " " , pos ) ; 
//---- last counted bar will be recounted
   
//----

   while ( pos > = 0 ) {
        
         if ( pos < 100 & & pos > 0 )    { SetIndexStyle ( 0 , DRAW_LINE , STYLE_SOLID , 2 , Red ) ; Val = 1.45 ; }
         if ( pos < 200 & & pos > 100 ) { SetIndexStyle ( 0 , DRAW_LINE , STYLE_SOLID , 3 , Blue ) ; Val = 1.44 ; }
         if ( pos < 300 & & pos > 200 ) { SetIndexStyle ( 0 , DRAW_LINE , STYLE_SOLID , 4 , Yellow ) ; Val = 1.43 ; }
         if ( pos < 400 & & pos > 300 ) { SetIndexStyle ( 0 , DRAW_LINE , STYLE_SOLID , 5 , Magenta ) ; Val = 1.42 ; }
             
      ExtMapBuffer1 [ pos ] = Val ;
    
    pos - - ;
     }
   return ( 0 ) ;
   }
//+------------------------------------------------------------------+
 
stera писал(а) >>

Merhaba!

duruma bağlı olarak gösterge çizgisinin rengi nasıl değiştirilir - örneğin, farklı bir çubuk aralığı farklı bir renge sahip olacak şekilde?

Bunu yapması gereken SetIndexStyle işlevi, renk ayarını veya çizgi kalınlığını çözmez - şekle bakın

Aşağıdaki örnek koda bakın.

Her adım farklı bir renk ve kalınlık olmalı ve hepsi sadece kırmızı ve kalınlıkta 2.

Her biri kendi stiline ve rengine sahip ek arabellekler kullanın

 
Vinin >> :

Her biri kendi stiline ve rengine sahip ek arabellekler kullanın

Bir kez benzer bir soru başlattım ve ortak çabalarla neyin açık olması gerektiğini anladık :))

SetIndexStyle , başlangıçta kullanıldığında dürüstçe rengini değiştirir, ancak tüm arabellek bir kerede. Yani, geçerli çizelgede, arabellek (çizgi), son uygulanan SetIndexStyle'a karşılık gelen renge sahip olacaktır.

 
stera писал(а) >>

Merhaba!

gösterge çizgisinin rengi nasıl değiştirilir..

Buraya bak.

 
granit77 писал(а) >>

Bir kez benzer bir soru başlattım ve ortak çabalarla neyin açık olması gerektiğini anladık :))

SetIndexStyle , başlangıçta kullanıldığında dürüstçe rengini değiştirir, ancak tüm arabellek bir kerede. Yani, geçerli çizelgede, arabellek (çizgi), son uygulanan SetIndexStyle'a karşılık gelen renge sahip olacaktır.

Çok teşekkür ederim granit77.

kapsamlı cevap.
Bundan şüpheleniyordum, ama bu işleve böyle garip bir fikrin konulduğuna inanamadım.

Bazı amaçlar için tüm tamponun rengini değiştirmek gerekebilir, ancak daha pratiktir.

göstergenin ayrı bölümlerinin renklendirilmesi (ve diğer niteliklerin değiştirilmesi) için bir mekanizma.

Örneğin EasyLang'da var.

Geliştiricilere yazacağım.

Bir yerde MQL işlevlerinin daha ayrıntılı bir açıklaması var mı?

Belirli parametrelerin eyleminin resimleriyle mi?

Ve sonra ya tüm parametreleri kendiniz test etmeniz ya da başkalarının örneklerinden faydalanmanız gerekir.

Neden: