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

 
Hedin :

Sevgili programcılar,
lütfen koşul doğru olduğunda operatörlerin neden yürütülmediğini, daha kesin olarak yürütüldüklerini, ancak düzensiz bir modda (örneğin, her seferinde) yürütüldüğünü söyleyin. Loglarda hata yok.


Kodunuzu düzeltin:

 if ( MathAbs ( ord_sl - (ord_open+First_sell_limit_SL* Point ) ) < Point / 2.0 && ...

Ve asla eşitlik için çift değişkenleri karşılaştırmayın.

 
PapaYozh :


Kodunuzu düzeltin:

Ve asla eşitlik için çift değişkenleri karşılaştırmayın.


Neden çift değişkenler eşitlik için karşılaştırılamıyor?
 
Hedin :

Neden çift değişkenler eşitlik için karşılaştırılamıyor?
Arama artık çalışmıyor mu?
 
Hedin :

Neden çift değişkenler eşitlik için karşılaştırılamıyor?
Buraya bak .
 
Necron :
deinit'te global bir değişkene yaz ve init bu değişkenin değerini oku, sorun nedir?

Anladığım kadarıyla global değişken, tüm fonksiyonların dışında bildirilen bir değişkendir. Genel değişkenlerin başlatılması, özel işlevlerin yürütülmesine başlamadan önce bir kez gerçekleştirilir.

Yani programın başında, başlatma işlevinden önce, bir sonraki başlatmada programa aktarmak istediğim de dahil olmak üzere global değişkenler bildirilir. Daha sonra önerinize göre deinit içinde bu değişkenin değerini sabitliyorum. ANCAK! Anladığım kadarıyla, program başladığında, hatta init işlevi yürütülmeden önce, beni ilgilendiren de dahil olmak üzere programın başında açıklanan tüm global değişkenler yeniden başlatılacak. Ve sıra init işlevine geldiğinde, önceden depolanmış değişkenim kaybolacak! Yoksa yanılıyor muyum?

 
Hayır, GlobalVariable global değişkenini kastediyordu. , dosyada saklanır.
 
ikatsko :

Anladığım kadarıyla global değişken, tüm fonksiyonların dışında bildirilen bir değişkendir. Genel değişkenlerin başlatılması, özel işlevlerin yürütülmesine başlamadan önce bir kez gerçekleştirilir.

Yani programın başında, başlatma işlevinden önce, bir sonraki başlatmada programa aktarmak istediğim de dahil olmak üzere global değişkenler bildirilir. Daha sonra önerinize göre deinit içinde bu değişkenin değerini sabitliyorum. ANCAK! Anladığım kadarıyla programın başlangıcında, init işlevi yürütülmeden önce bile, beni ilgilendiren de dahil olmak üzere programın başında açıklanan tüm global değişkenler yeniden başlatılacak. Ve sıra init işlevine geldiğinde, önceden depolanmış değişkenim kaybolacak! Yoksa yanılıyor muyum?

İki tür global değişken vardır: hakkında yazdığınız programınızın global değişkenleri ve terminalinizin global değişkenleri,
Eğer erişilmezse, iki hafta boyunca programınızdan ayrı olarak saklanır, hafıza bana doğru hizmet ederse ...
örneğin aynı terminalde aynı anda çalışan farklı uzmanlar arasında veri aktarımına hizmet ederler, vb.
İhtiyacınız olan şey, terminal global değişkenleridir.
 
Roger :
Hayır, GlobalVariable demek istedi , dosyada saklanır.
Evet, terminal global değişkenlerini kastetmiştim. Bir kişisel olarak bu soru zaten cevaplandı.
 
Necron :
Evet, terminal global değişkenlerini kastetmiştim. Bir kişisel olarak bu soru zaten cevaplandı.
Ben zaten HER ŞEYİ anladım. Olur ... şey, okumadım ... üzgünüm :)
 
вот, собственно код моментума стандартного из МТ4 - ии??? я не вижу тут 
double iMA ( string symbol, int timeframe, int period, int ma_shift, int ma_method, int applied_price, int shift)
 //+------------------------------------------------------------------+
//|                                                     Momentum.mq4 |
//|                      Copyright © 2004, MetaQuotes Software Corp. |
//|                                       http://www.metaquotes.net/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2004, MetaQuotes Software Corp."
#property link       "http://www.metaquotes.net/"

#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 DodgerBlue
//---- input parameters
extern int MomPeriod= 14 ;
 
//---- buffers
double MomBuffer[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
   string short_name;
//---- indicator line
   SetIndexStyle( 0 , DRAW_LINE );
   SetIndexBuffer ( 0 ,MomBuffer);
//---- name for DataWindow and indicator subwindow label
   short_name= "Mom(" +MomPeriod+ ")" ;
   IndicatorShortName(short_name);
   SetIndexLabel( 0 ,short_name);
//----
   SetIndexDrawBegin( 0 ,MomPeriod);
//----
   return ( 0 );
  }
//+------------------------------------------------------------------+
//| Momentum                                                         |
//+------------------------------------------------------------------+
int start()
  {
   int i,counted_bars=IndicatorCounted();
   
//----
   if ( Bars <=MomPeriod) return ( 0 );
//---- initial zero
   if (counted_bars< 1 )
       for (i= 1 ;i<=MomPeriod;i++) MomBuffer[ Bars -i]= 0.0 ;
      
//----
   
   i= Bars -MomPeriod- 1 ;
   if (counted_bars>=MomPeriod) i= Bars -counted_bars- 1 ;
   while (i>= 0 )
     {
      MomBuffer[i]=Close[i]* 100 /Close[i+MomPeriod];
      i--;
     }
   return ( 0 );
  }
//+------------------------------------------------------------------+
Roger :

Bir şey arıyor olman garip

çift iMA (

string sembolü, int zaman çerçevesi, int periyodu, int ma_shift, int ma_method, int uygulanan_fiyat, int shift)

İlk eleman.