Hatalar, hatalar, sorular - sayfa 610

 

Merhaba.

4'ten 5'e geçiyorum. Bu sorunu çözemiyorum. Sınıfımı içerme dosyasına kaydettim, sonra onu EA'da kullanıyorum. Sonra başka bir uzmanı aday göstermek istiyorum ve aynı sınıfa ihtiyacım var. Başka bir içerme dosyası oluşturmalı mıyım yoksa terminal mevcut ve önceden kullanılmış dosyanın bir kopyasını oluşturup başka bir Uzman Danışmana (MQL4'teki işlev kitaplıkları gibi) doğru şekilde mi bağlayacak? Sınıflar kitaplıklara eklenebilir ve daha sonra aynı anda birkaç Uzman Danışman ile kullanılabilir mi (MQL4'teki işlev kitaplıkları gibi)? Yardımı 5'inde indirdim, ancak orada bu prosedürün ayrıntılı bir açıklamasını bulamadım, belki bunu anlamak için okuyabileceğiniz bir yer var mı?

Şimdiden teşekkür ederim.

 

RedFish :

Başka bir içerme dosyası oluşturmalı mıyım yoksa terminal mevcut ve zaten kullanılan dosyanın bir kopyasını oluşturup başka bir Uzman Danışmana (MQL4'teki işlev kitaplıkları gibi) doğru şekilde mi bağlayacak?

harici bir dosyada sınıf oluştururken - bu dosyayı mq5 değil mqh uzantılı yapın. Daha sonra bu dosya, herhangi bir uzman /script/indicator projenize dahil etme yoluyla eklenebilir.

Sınıflar kitaplıklara eklenebilir ve daha sonra aynı anda birkaç Uzman Danışman ile kullanılabilir mi (MQL4'teki işlev kitaplıkları gibi)?

kesinlikle! böyle yap.

 
sergeev :

harici bir dosyada sınıf oluştururken - bu dosyayı mq5 değil mqh uzantılı yapın. Daha sonra bu dosya, herhangi bir uzman/komut dosyası/gösterge projenize dahil etme yoluyla eklenebilir.

kesinlikle! böyle yap.

Cevap için teşekkürler.

Ve bir sınıfa sahip kütüphaneleri bir uzmana nasıl bağlayabilirim? MQL4'te bir #import işlemi vardı - fonksiyonları listeliyorum - #import, kapattı ve her şey çalıştı. MQL5'te bu prosedür nasıldır? Bu işlemin açıklamasını hiçbir yerde bulamıyorum...

Tekrar teşekkürler.

 
RedFish :

Cevap için teşekkürler.

Ve bir sınıfa sahip kütüphaneleri bir uzmana nasıl bağlayabilirim? MQL4'te bir #import işlemi vardı - fonksiyonları listeliyorum - #import, kapattı ve her şey çalıştı. MQL5'te bu prosedür nasıldır? Bu işlemin açıklamasını hiçbir yerde bulamıyorum...

Tekrar teşekkürler.

Bu noktalar yardımda ayrıntılı olarak ele alınmıştır: https://www.mql5.com/ru/docs/basis/preprosessor
Документация по MQL5: Основы языка / Препроцессор
Документация по MQL5: Основы языка / Препроцессор
  • www.mql5.com
Основы языка / Препроцессор - Документация по MQL5
 
Terminal: При авторизации в журнал терминала выводится информация о времени и адресе предыдущего успешного подключения.

Bu uygulama bir güvenlik ihlaline yol açar - aniden birisine Invest şifresini vermeye karar verirse tacirin IP adresini ortaya çıkarır. Kontrol ettim - IP, kimin bağlandığına ve nasıl bağlandığına bakılmaksızın herkese gösteriliyor - bir ticaret şifresi veya bir yatırımcı şifresi kullanarak.

Yani, oturum açarken (yatırımcı veya ticaret şifresi ne olursa olsun), son bağlantının IP'si gösterilir (yatırımcı şifresini veya işlem şifresini kullanarak en son bağlanıp bağlanmadığınıza bakılmaksızın).

Yatırımcı şifresi için bu özelliğin devre dışı bırakılması ve sadece işlem şifresi ile yapılan girişlerin dikkate alınması gerekmektedir.

 
notused :

Bu uygulama bir güvenlik ihlaline yol açar - aniden birisine Invest şifresini vermeye karar verirse tacirin IP adresini ortaya çıkarır. İşaretlendi - IP, kimin bağlandığına ve nasıl bağlandığına bakılmaksızın herkese gösterilir - bir ticaret şifresi veya bir yatırımcı şifresi kullanılarak.

Yani, oturum açarken (yatırımcı veya ticaret şifresi ne olursa olsun), son bağlantının IP'si gösterilir (yatırımcı şifresini veya işlem şifresini kullanarak en son bağlanıp bağlanmadığınıza bakılmaksızın).

Yatırımcı şifresi için bu özelliğin devre dışı bırakılması ve sadece işlem şifresi ile yapılan girişlerin dikkate alınması gerekmektedir.

Evet, düzelteceğiz - zaten gördük.
 
       ObjectSetInteger ( 0 ,highlevel, OBJPROP_TIMEFRAMES , OBJ_PERIOD_M10 | OBJ_PERIOD_H4 );
Önceden OBJ_PERIOD_M10|OBJ_PERIOD_H4 gibi bir mantıksal(?) numaralandırmaya sahip bir dizeyi nasıl hazırlayabilirim, böylece daha sonra bitmiş değişkeni yapıştırılmış bir dize biçiminde ObjectSetInteger () ile değiştirebilir miyim? İlk başta onu sembolik olarak yapıştırmaya çalıştım ve sonra onu StringToInteger() içine sarmaya çalıştım, ama işe yaramadı... Sonuçta , OBJ_PERIOD_ ... enum türünün bir öğesidir, ancak bayrağın onaltılık eşdeğerine sahiptir. int tipi? O zaman böyle bir numaralandırma daha çok bitsel bir "VEYA" işlemine benziyor ...
 
x100intraday :
Önceden OBJ_PERIOD_M10|OBJ_PERIOD_H4 gibi bir mantıksal(?) numaralandırmaya sahip bir dizeyi nasıl hazırlayabilirim, böylece daha sonra bitmiş değişkeni yapıştırılmış bir dize biçiminde ObjectSetInteger () ile değiştirebilir miyim? Önce sembolik olarak yapıştırmaya çalıştım ve sonra onu StringToInteger() içine sarmaya çalıştım, ama işe yaramadı... Sonuçta , OBJ_PERIOD_ ... enum tipinin bir elemanı, ama int tipinin onaltılık bayrağına sahip mi? O zaman böyle bir numaralandırma daha çok bitsel bir "VEYA" işlemine benziyor ...

#define ile yapılabilir mi?

Misal:

 #define Fl_Fnc __FILE__+ " -> " +__FUNCTION__+ "(): "
 
tol64 :

#define ile yapılabilir mi?

Misal:

Hayal etmekten bile korkuyorum. Aslında esnek bir seçeneğe ihtiyacım var, ancak değişmeyen formda bir satıra değil, bir döngü içinde birkaç farklı satıra ihtiyacım var ... Bu mümkünse, daha spesifik bir örnek görmek isterim .. .

Aslında, soru biraz farklı bir soruya geliyor. OBJ_PERIOD_M30'u " OBJ_PERIOD_M30 " gibi ayrılmış bir sözcük içeren ve aslında, üzerinde |? Bu basit bir durumda. "OBJ_PERIOD_M15|OBJ_PERIOD_M30|OBJ_PERIOD_H1" biçimindeki herhangi bir dizeyi, ek bir karşılık gelen sayısal değerler dizisi oluşturmadan ve ardından manuel olarak öğe eleman "tanımlama" oluşturmadan sayısal değerler üzerinde bit düzeyinde bir işlem olarak hemen yorumlamak istiyorum. liste.

 

İyi günler, lütfen bana söyleyin, aşağıdaki yapı void RAssignStringVector(int rhandle, string değişken, string &vector[], int size);

derlerken, 'vektör' hatası veriyor - mt4R.mqh içe aktarma işlevi için geçersiz parametre, bir işaretçiyi bir dizi diziye nasıl iletebilirim, mcl4'te yuvarlanır, 5 hayır, bu durumda ne yapmalı?, teşekkürler