Beta derleme 530'da dizi yeniden boyutlandırma hatası - sayfa 4

 
SDC :

MQL5 angevoyageur'da zaten kod yazdınız mı?

Evet. Niye ya ?
 
angevoyageur : Evet haklısın zor bir geçiş olacak. Ancak, yeni başlayanlar için değil, henüz mql5'i bilmeyen deneyimli mql4 kodlayıcıları için zor olacağını düşünüyorum. Genel olarak, yeni başlayanlar belgeleri okumaz

bu sefer sana katılıyorum . mql4'ü öğrenmek için zaman harcayan çoğu insan, yeni sözdizimini yeniden öğrenmekten korkardı.

mql4 artık mql5'ten daha fazla seviyeye sahip (bunu hayal edin).

  • mql4_non_oop sözdizimi var.
  • mql5_non_oop sözdizimi var.
  • mql5_object_yönelimli sözdizimi var.

İyi haber şu ki, bilmediğiniz şeyi kullanmak zorunda değilsiniz. Sanırım, metaQuotes'un mql4_programmers'ı mql5 ve OOP'ye dönüştürme şeklini seviyorum.

MetaTrader hayranları için bu dil muhtemelen geleceğin dilidir; bu yüzden ne kadar erken geçersek o kadar iyi ..... sadece benim görüşlerim .

 
SDC : Yeni sürüm yayınlandığında, yeni mql4 dokümantasyonu mql5 kodlamasına dayandığından, yeni başlayanlar için forumda çok fazla kafa karışıklığına neden olacağını düşünüyorum. Bu, bu forumda ve kod tabanında açıklananların çoğunun mql4 dokümanları tarafından çelişeceği anlamına gelir. Yeni mql4 dokümanlarından bir gösterge arabelleği ayarlama: (Bunun aslında içinde hataları var ve derlenmeyecek)
mql5.com gibi olacağına inanıyorum. Bazı yeni başlayanlar, kullandıkları stile bağlı olarak forumda kodlama konusunda yardım almazlar. Örnek: Kullandıkları stil mql5_oop ise çoğu yanıt onları mql5_docs'a yönlendirir. Ancak, mql4_code'larını gönderirlerse, gerçek kodları okuyabilen çok daha fazla insan olacaktır.
 
ubzen :

Bu sefer sana katılıyorum. mql4'ü öğrenmek için zaman harcayan çoğu insan, yeni sözdizimini yeniden öğrenmekten korkardı.

mql4 artık mql5'ten daha fazla seviyeye sahip (bunu hayal edin).

  • mql4_non_oop sözdizimi var.
  • mql5_non_oop sözdizimi var.
  • mql5_object_yönelimli sözdizimi var.

İyi haber şu ki, bilmediğiniz şeyi kullanmak zorunda değilsiniz . Sanırım, metaQuotes'un neden mql4_programmers'ı mql5 ve OOP'ye kaydırdığını seviyorum.

MetaTrader hayranları için bu dil muhtemelen geleceğin dilidir; bu yüzden ne kadar çabuk over_it alırsak o kadar iyi ..... sadece benim görüşlerim .

Haklısın ama şunu söylemeyi tercih ederim: İhtiyacın olmayanı kullanmak zorunda değilsin.
 
ubzen :

İyi haber şu ki, bilmediğiniz şeyi kullanmak zorunda değilsiniz. Sanırım, metaQuotes'un mql4_programmers'ı mql5 ve OOP'ye dönüştürme şeklini seviyorum.

MetaTrader hayranları için bu dil muhtemelen geleceğin dilidir; bu yüzden ne kadar çabuk over_it alırsak o kadar iyi ..... sadece benim görüşlerim .

Katılıyorum ve bu, üstesinden gelmek için ertelediğim bir şey. . . ama çok uzun sürmez, eğer herhangi biri OOP'nin arkasındaki ilkelere ilişkin iyi bir tanıtımla karşılaşırsa lütfen bana PM atın.


En büyük endişem, ihtiyaç duyduğu zaman ve ilginin kendisine verilmesi yerine sonradan düşünülüp bırakılmamasını umduğum belgelerdir. . . umarım korkularım yersizdir.

 
angevoyageur :
Evet. Niye ya ?

Size sormak istediğim için, mql5 öğrenmenin çabaya değdiğini düşünüyor musunuz? Eski mql4'te yapamayacağınızı düşündüğünüz şeyleri mql5'te başardınız mı? Ayrıca deneyimli oop programcısı mısınız?

Haklısın, zor bir geçiş olacak, tüm bu yeni şeyleri öğrenecek zamanım bile olacak mı bilmiyorum.

Ayrıca bu kodlama örneğinin neden derlenmediğini merak ediyorum, ENUM'lar önceden tanımlanmış bir sabit mi?

ilk hata 'ENUM_APPLIED_PRICE' - TestCopyBuffer1.mq4 tipi olmadan bildirim 23 7...

 
RaptorUK :

Katılıyorum ve bu, üstesinden gelmek için ertelediğim bir şey. . . ama çok uzun sürmez, eğer herhangi biri OOP'nin arkasındaki ilkelere ilişkin iyi bir tanıtımla karşılaşırsa lütfen bana PM atın.


En büyük endişem, ihtiyaç duyduğu zaman ve ilginin kendisine verilmesi yerine sonradan düşünülüp bırakılmamasını umduğum belgelerdir. . . Umarım korkularım yersizdir.

Sanırım ben de aynı fikirdeyim, gerçi ne kadar oop'un gerekli olacağından emin değilim. Diğerleri, oop'un bir programın işlevinden veya yeteneklerinden çok yapısıyla ilgili olduğunu kabul eder mi? Yoksa mql5'in özelliklerinden en iyi şekilde yararlanmak için gerçekten oop'u düşünmemiz mi gerekecek?

 

Yeni betayı denemek isteyen ama aynı zamanda 509'u takas amacıyla tutmak isteyen herkes için bir ipucum var. Diğerleri, bir terminali beta sürümüne yükseltirseniz, canlı güncellemenin sahip olduğunuz diğerlerini de yükselteceğini söyledi. Bu benim başıma gelmedi, UAC'nin ana ticaret terminalimi otomatik canlı güncelleme ile müdahaleden koruduğunu fark ettim.

Böylece program dosyalarına bir 509 yükleyebilir ve UAC'yi açabilirsiniz. Bu sizin ana ticaret terminaliniz olacak.

Başka bir 509'u ayrı bir klasöre kurun, Program Files'da da olabilir, önemli değil ProgramFiles/MetaTraderBeta/ kullandım Bu terminali MT4 test sunucusuna bağlayın ve beta 530'a yükseltmesine izin verin

Şimdi beta sürümünü kapattığınızda ve 509 ticaret terminalini açtığınızda, UAC, bir programın devam etmek için izninize ihtiyacı olduğunu bildirecektir. Canlı güncelleme budur. İzin vermeyin ve terminal normal olarak yüklenecek ve 509 sürümü olarak kalacaktır. Bu, 509'u her yeniden başlattığınızda gerçekleşecektir.

 
SDC :

Size sormak istediğim için, mql5 öğrenmenin çabaya değdiğini düşünüyor musunuz? Eski mql4'te yapamayacağınızı düşündüğünüz şeyleri mql5'te başardınız mı? Ayrıca deneyimli oop programcısı mısınız?

Haklısın, zor bir geçiş olacak, tüm bu yeni şeyleri öğrenecek zamanım bile olacak mı bilmiyorum.

Ayrıca bu kodlama örneğinin neden derlenmediğini merak ediyorum, ENUM'lar önceden tanımlanmış bir sabit mi?

ilk hata 'ENUM_APPLIED_PRICE' - TestCopyBuffer1.mq4 tipi olmadan bildirim 23 7...

Profesyonel bir programcı olduğum için muhtemelen iyi bir örnek değilim. Yani benim için çok büyük bir çaba değil ve yeni programlama dili öğrenmeyi seviyorum. Benim de oop ile biraz deneyimim var.

Bence birçok mql4 programcısı profesyonel programcı değil ve biraz para kazanma umuduyla ticareti otomatikleştirme olanaklarına sahip olmak için mql4'ü öğrendiler. Oop hakkında konuşmadan bile, mql5'i öğrenmek mql4'ten daha zordur. mql5 daha yapılandırılmış, daha az izin verici. Sadece 1 örnek alıyorum, iCustom kullanımı. mql4 ile, belirli bir mum için bir arabellek değerini almak için gerekli parametrelerle iCustom'a 1 çağrı kullanmanız gerekir. Mql5 ile 2 adımda çalışmanız gerekir, önce göstergeyi ele almak için iCustom'u kullanın ve ikinci olarak veri almak için bir CopyBuffer işlevi kullanın (1 değer veya 1 çağrı ile 10000 değer). Böylece mql4'teki amatör bir kodlayıcı, 1 değeri elde etmek için iCustom'u kimin kullanacağını daha kolay anlayabilir, mql5 ile bir tutamaç kavramını anlamanız ve ardından CopyBuffer işlevinde ustalaşmanız gerekir. Daha zor. Ancak bir göstergenin arabelleğinden 3, 4, 10 veya hatta 1000 değer almanız gerekiyorsa daha verimlidir.

Ayrıca bir çok iyileştirme var, örneğin mql4 ile windows dll (postMessage...) kullanması gereken hemen hemen hepsi doğrudan mql5 ile yapılabilir. Oop kullanmanıza gerek yok, tüm özellikler prosedürel bir şekilde mevcut.

Sonuç olarak, oop için endişelenme. Bence yapılacak en iyi şey adım adım ilerlemek. Şimdiye kadar kullandıklarınız küçük değişikliklerle hala mevcuttur. Yeni bir sorun için bir çözüme ihtiyacınız olduğunda, yeni olasılıkların bir çözüm sunup sunamayacağına bakın.


 
SDC:

Yeni betayı denemek isteyen ama aynı zamanda 509'u takas amacıyla tutmak isteyen herkes için bir ipucum var. Diğerleri, bir terminali beta sürümüne yükseltirseniz, canlı güncellemenin sahip olduğunuz diğerlerini de yükselteceğini söyledi. Bu benim başıma gelmedi, UAC'nin ana ticaret terminalimi otomatik canlı güncelleme ile müdahaleden koruduğunu fark ettim.

Böylece program dosyalarına bir 509 yükleyebilir ve UAC'yi açabilirsiniz. Bu sizin ana ticaret terminaliniz olacak.

Başka bir 509'u ayrı bir klasöre kurun, Program Files'da da olabilir, önemli değil ProgramFiles/MetaTraderBeta/ kullandım Bu terminali MT4 test sunucusuna bağlayın ve beta 530'a yükseltmesine izin verin

Şimdi beta sürümünü kapattığınızda ve 509 ticaret terminalini açtığınızda, UAC, bir programın devam etmek için izninize ihtiyacı olduğunu bildirecektir. Canlı güncelleme budur. İzin vermeyin ve terminal normal olarak yüklenecek ve 509 sürümü olarak kalacaktır.

Beta konusunda sabırlı olun. Meta alıntılar, bu konudaki konusunu kaldırıyor çünkü mevcut sürüm henüz toplu bir test için hazır değil.

Test etmek ve diğer terminalin güncellenmesini önlemek istiyorsanız, aşağıdaki klasörü kaldırmanız gerekir:

  • Windows 7 : C: \ ProgramData \ MetaQuotes \ WebInstal Başarılı bir güncellemeden sonra, diğer terminallere giden test terminali güncellenmez.
  • Windows XP : C: \ Documents and Settings \ All Users \ Application Data \ MetaQuotes \ Webinstall \