[ARŞİV] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 5. - sayfa 254
Alım-satım fırsatlarını kaçırıyorsunuz:
- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
İnsanlar, düzenleyicide daha önce, ayrılmış bir kelimenin üzerine geldiğinizde ve f1 tuşuna bastığınızda, aşağıdan bu işlevin açıklamasının bulunduğu bir pencere açılır, şimdi bende yok. Sorun ne olabilir?
Sonucu nasıl her zaman olumlu hale getireceğinizi size kim söyleyecek? (Parti al - Lot sat) = -0.25, ama her zaman pozitif mi olmalı?
Ben de öyle yapıyorum: if (profitbuy+profitsell > SymbProf_magBUY_magSELL* MathAbs(( OrdersTotalMagicBuyLots (MagicBuy)-OrdersTotalMagicSellLots(MagicSell))/Lots)())
parantez içinde ne var?
if (kârbuy+kârsell > SymbProf_magBUY_magSELL* MathAbs(( OrdersTotalMagicBuyLots (MagicBuy)-OrdersTotalMagicSellLots(MagicSell))/Lots)(??????))
nerede ???? ne?
Hacmi = 0.05 olan bir pozisyon açıyorum. Bir koda ihtiyacınız var - 5 basamak için 100 puanlık bir kayba ulaşıldığında bir pozisyonun hacmi nasıl 0,01 azaltılır ???
Teşekkür ederim.
Kaç Uzman Danışman yazdım, her yerde işten çıkarmalarla işlem yaparken piyasa koşullarını kontrol edeceğim (durdurma kolu, spread vb.). Izgaraları nasıl yazdıklarına baktım, bu yüzden hiçbirinde görmedim, en azından bazılarını göndermeden önce. bir siparişin aynı durdurma seviyesinin değeri kontrol edildi. Sebebi ne?
Forumda test cihazı ve sonuçlarının neden gerçek hayattan farklı olduğu hakkında birçok materyal var. Makaleler bölümüne bakın, orada bu konuya bir kereden fazla değinildi.
Teşekkür ederim.
Bir alternatif bulundu.
Bu, dizenin DLL'ye MqlStr olarak değil, tam olarak char* olarak geçirildiği anlamına gelir. Ancak bu , ex4 programının dizeyi MqlString olarak saklamadığı anlamına gelmez. Genel olarak, parametreleri ex4'ten dll'ye geçirmek (geliştiricilere göre) her türlü kontrol ve parametre dönüşümünün eşlik ettiği oldukça karmaşık bir işlemdir.
MQL4 Yardımını okudunuz mu? Bir MQL4 dizgisi, boş bir sonlandırıcı ile aynı c-dizesidir.
Yapı yalnızca bir dizi diziyi düzenlemek içindir. Tamamen Metaquotes' fikri, dize dizileri oluşturmayı kolaylaştırır.
StrStrA , shlwapi.dll kitaplığından. Ölçek:
Kayıt:
Mekanizma aşağıdaki gibidir. /system32'de shlwapi.dll. StrStrA, StringSubstr'nin WinAPI karşılığıdır . MQL4 tipsiz bir dildir ve çıktıya bir dizge değil de bir int tuzak koyarsak, bir dizge değil, ona bir işaretçi alırız. StrStrA, dizgede bir alt dizginin ilk oluşumunu arar (büyük/küçük harfe duyarlıdır, ancak dizgelerimiz aynı olduğu için umursamıyoruz) ve dizgilerimiz aynı olduğundan, dizgenin ilk karakterine bir işaretçi döndürür. , yani çizginin kendisine.
Bu kodu kullanacaklar için açıklayayım. WinAPI'de dize biçimi yoktur. Bunun yerine, yalnızca lpsz biçimi (0x00, diğer adıyla /0 ile biten karakter dizisinin ilk öğesine bir işaretçi). Bir bellek adresine işaretçi. Ve 32 bitlik bellek hücrelerimiz (yani 4 bayt) olduğundan ve int de 4 bayt boyutunda olduğundan, her şey oraya düzgünce sığar.
Alt satır: dizeleri güvenli bir şekilde int dizilerine paketleyebilir, böylece bir yapı veya sınıf gerekliyse bunları bir dll'ye daha fazla iletmek için yapıları taklit edebilirsiniz (MQL4'te hiçbir yapı ve sınıf yoktur). Veri türlerini çevirmek için kendi kendine yazılan dll'ler (yani "int(const char*)" (C-tipi çeviri) gibi yapılar veya C++'daki benzerleri) artık kullanılamaz.