bazı "StringToEnum" işlevi veya alternatifi var mı?
MODE_SMMA
zaten tamsayı değeri 2'dir.
Print ( IntegerToString ( MODE_SMMA ));

- www.mql5.com
zaten tamsayı değeri 2'dir.
Söyledikleriniz benim ihtiyaçlarıma uymuyor. Sorumu okuyabileceğiniz gibi, enum değerinden dizeye nasıl dönüştürüleceğini biliyorum, ancak yapmak istediğim tam tersi:
kod ile:
int b = StringTo Enum ("MODE_SMMA");
Aşağıdakileri almak istiyorum:
b = 2
StringToEnum yok.
MODE_SMMA
zaten tamsayı değeri 2'dir.
int b= MODE_SMMA ; Print ( "b= " ,b);
int b; string StringToEnum= "MODE_SMMA" ; if (StringToEnum== "MODE_SMMA" ){b= 2 ;} Print ( "b= " ,b);
Söyledikleriniz benim ihtiyaçlarıma uymuyor. Sorumu okuyabileceğiniz gibi, enum değerinden dizeye nasıl dönüştürüleceğini biliyorum, ancak yapmak istediğim tam tersi:
kod ile:
int b = StringTo Enum ("MODE_SMMA");
Aşağıdakileri almak istiyorum:
b = 2
sağolun beyler
tavsiyen için teşekkür ederim Alain ama aslında sorunum için iyi bir çözümüm yok,
bu yüzden bazı garip geçici çözümler bulmam gerekiyor.
mql5'in PHP ve Javascript'teki eval(...) işlevi gibi dinamik olarak kod değerlendirmesini desteklemesi gerçekten güzel olurdu,
sonra harici dosyalardan (bazen çok ilginç) küçük kod parçaları yükleyebilir ve hatta şu işlevi uygulayabiliriz: StringToEnum kolayca:
eval("dönüş" + enumId + ";");
}
Yani eval(...) fonksiyonunun desteği ile aynı anda birçok şeyi çözebiliriz.
Bu, MT5 geliştirici ekibi için çok ilginç bir tavsiye olabilir.
Teşekkürler, Cyberglassed.
tavsiyen için teşekkür ederim Alain ama aslında sorunum için iyi bir çözümüm yok,
bu yüzden bazı garip geçici çözümler bulmam gerekiyor.
mql5'in PHP ve Javascript'teki eval(...) işlevi gibi dinamik olarak kod değerlendirmesini desteklemesi gerçekten güzel olurdu,
sonra harici dosyalardan (bazen çok ilginç) küçük kod parçaları yükleyebilir ve hatta şu işlevi uygulayabiliriz: StringToEnum kolayca:
eval("dönüş" + enumId + ";");
}
Yani eval(...) fonksiyonunun desteği ile aynı anda birçok şeyi çözebiliriz.
Bu, MT5 geliştirici ekibi için çok ilginç bir tavsiye olabilir.
Teşekkürler, Cyberglassed.
MQL'de, harici kitaplıkları (DLL'ler olarak) veya belirli #include dosyalarını yükleme ve bu şekilde olmasını sağlama yeteneği zaten vardır. MQL aynı zamanda bir OOP dili olduğundan, teoride, bu fonksiyon kodunu kendiniz yazabilir ve sadece o özel fonksiyona ihtiyaç duyduğunuz programlarınıza dahil edebilirsiniz. EA'nızın kodu içinde veya harici bir dosya olarak.
teşekkür ederim JD4 ama ne yazık ki bu benim gereksinimlerimi çözmüyor çünkü harici DLL'leri yüklediğinizde bazı parametreler iletiyorsunuz ve bu parametrelere dayalı bir sonuç alıyorsunuz, sorun değil, ama orada başka bir dilde/ortamda/yerde programlama yapıyorsunuz ve değil tam olarak mql5'te. Özel DLL'leri programladım ve benim için parametrelerimi işleyecek dil önemli olmadığında onu mql5'e yükledim, ancak bu iş parçacığında verilerin mql5'te işlenmesini istedim, böylece (örneğin) yerel ve globalden yararlanabilirim değişkenler. Harici DLL'ler kullanırsanız, yerel ve global değişkenlerin değerlerini bilemezsiniz, çünkü bu harici bir işleme makinesi gibidir. Daha sonra, mql5'te bulunan eval(...) gibi bir fonksiyonunuz varsa (şu anda durum böyle değil çünkü uygulanmadı), o zaman global ve yerel değişkenleri ve hatta fonksiyonları kullanabilirsiniz.

- Ücretsiz ticaret uygulamaları
- Ticaret kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Web sitesi politikasını ve kullanım şartlarını kabul edersiniz
Merhaba, eğer yaparsam:
string a = EnumToString(MODE_SMMA);
Alırım:
a = " MODE_SMMA "
Şimdi, tam tersini yapan bir işlev istiyorum, şöyle bir şey demek istiyorum:
int b = StringTo Enum ("MODE_SMMA");
b = 2
burada 2 sabitle ilişkili int değeridir: " MODE_SMMA "
Saygılar, siber gözlüklü.