Hatalar, hatalar, sorular - sayfa 1035

 
A100 :
"Merhaba kelimesi" olarak görüntülendiğini bir yerde gördünüz mü?

Sana yazdıklarımı dikkatlice oku. Hesaplama, çıktı değil.

Bu, i += ++i + i++ kategorisinden bir ifadedir.

 

Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum

Hatalar, hatalar, sorular

MetaSürücü , 2013.08.03 17:55

"

Belki. Sadece zaman diliminde herhangi bir değişiklik olmaması daha iyi olurdu. İyi için , göstergelerin aptal kene üretimine ihtiyacı var .

Amacım için, bu her zaman uygun değildir ve genel durumda, birçok "hafta sonu sorunu" ortadan kalkar .

Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum

Hatalar, hatalar, sorular

MetaSürücü , 2013.08.03 18:02

...

Seçilen karakter için tüm prev_hesaplananların yazılım tarafından zorla sıfırlanması "komutu" da yararlı olacaktır . Sonraki kene üretimi ile birleştirmek iyi olacaktır.

Beyler geliştiriciler, bu konuda bir plan yok mu?


 
TheXpert :

Sana yazdıklarımı dikkatlice oku. Hesaplama, çıktı değil.


Noktaları ayırmakta haklısınız:fonksiyon argümanlarını hesaplama, bu argümanları değiştirme ve fonksiyonun kendisini hesaplama. Bu komut dosyası, hem argümanların soldan sağa, hem de ifadenin kendisinin soldan sağa doğru değerlendirildiğini gösterir:

 int f( int x )  { Print ( __FUNCTION__ + "(" + x + ")" ); return ( x ); }

void OnStart ()
{
        int a = 0x0 ;
         int b = f(a+= 1 ) << f(a+= 2 ) << f(a+= 3 );
	Print( "b=" + b );
}
Результат:
f(1)
f(3)
f(6)
b=512
 
Bilgili insanlar lütfen bana extern'in statikten ne kadar farklı olduğunu söyleyin , küresel yaşam süresi nedir?
 //Test.mqh
extern int e1;
static int s1;

#import "testLib.ex5"
         void f();
#import
 //test.mq5
#include "Test.mqh"

void OnStart ()
{
        e1 = 10 ;
        s1 = 10 ;
        f();
}

//testLib.mq5

#property library
#include "Test.mqh"

void f() export
{
         Print ( "e1=" + e1 );
         Print ( "s1=" + s1 );
}
Результат:
e1 = 0 //не понятно
s1 = 0 //нормально
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров - Документация по MQL5
 
Silent :
değil mi ?

Hayır - başlatılmamış bir standart sınıf kullanımı var.

Kendi yazdığım tüm derslerim var. Ve yöntemin neden sınıf içinde iyi çalıştığı, ancak OnInit()'te neden olmadığı açık değil.

Upd: son derece ilginç... ;-) Uzman, MetaEditor'da bir hata ayıklayıcı altında çalıştırılırsa, her şey yolunda gider. Ayrıca - EX5 hata ayıklayıcısı altında derlendi (normalden bir buçuk kat daha fazla), o zaman da iyi çalışıyor. Ancak Expert Advisor normal modda yeniden derlenir yüklenmez başarısız olmaya başlar. Görünüşe göre Servis Masasında yeni bir uygulama açmanız gerekecek.

 
A100 :
Bilgili insanlar lütfen bana extern'in statikten ne kadar farklı olduğunu söyleyin , küresel yaşam süresi nedir?

Sizin durumunuzda, iki farklı dosyada bağımsız olarak bildirilen iki değişken kümesinin tek bir görünümde birleştirilmesine karar verirsiniz. Aslında değil.

Bir mqh dosyası ekleyerek, dahil edilen her dosyada açıkça ayrı değişken kümeleri tanımlarsınız. Kabaca söylemek gerekirse, başlık dosyalarına değişken tanımları koymayın - bunlar paketten çıkarılacaktır.

 
Birden çok modülde bir (tek) değişken kullanmak istedim ama nasıl yapacağımı bilmiyorum. Ubal .mqh
 10 //testLib.mq5
20 #property library
30 extern int e1;
40 void f() export
50 {
60         Print ( "e1=" + e1 );
70 }
 10 //test.mq5
20 extern int e1;        
30 #import "testLib.ex5"
40          void f();
50 #import
60 void OnStart ()
70 {
80         e1 = 10 ;
90         f();
100 }

Çıktı sonucu: e1=0 değişmedi. e1=10 nereye gitti? e1 farklı modüllerde farklıysa, static ve extern'in işlevselliği aynıdır? Ve değilse, benim hatam nerede?
 
A100 :
Birden çok modülde bir (tek) değişken kullanmak istedim ama nasıl yapacağımı bilmiyorum. Azaltılmış .mqhOutput sonucu: e1=0 değişmedi
Depolama sınıfı extern , özellikle sizin durumunuz için sağlanmıştır. Denemek
 
stringo :
Depolama sınıfı extern , özellikle sizin durumunuz için sağlanmıştır. Denemek
Lütfen bir örnek verin - veya benimkinde bir hatayı belirtin - Bir modülde e1 = 10 atadım, ikinci modülde e1'i aradım ve orada sıfıra eşit
 
A100 :
Birden çok modülde bir (tek) değişken kullanmak istedim ama nasıl yapacağımı bilmiyorum. Azaltılmış .mqhPoutput sonucu: e1=0 değişmedi. e=10 nereye gitti? e1 farklı modüllerde farklıysa, static ve extern'in işlevselliği aynıdır? Ve değilse, benim hatam nerede?
Bu yüzden bir kez başlatılması gerekiyor gibi görünüyor. Dış aynı.
Neden: