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
Delphi'de bir DLL doğurdum, onu MT4'ten çağırıyorum. Referans yoluyla basit parametreleri iletmek dışında her şey çalışır. Delphi'de şöyle ilan edildi:
prosedür Test2(var i: tamsayı); standart çağrı;
başlamak
addr(i) = nil ise ShowMessage('Bu da ne?!');
son;
öyle aramak için gag
#ithalat "DLL1.dll"
geçersiz Test2(int&i);
şöyle sesleniyorum:
int() {
int x = 5;
test2(x);
dönüş(x);
}
çağrıldığında, yığın tamsayı değişkenine bir başvuru içermelidir, ancak boş içerir
peki referans olarak bir int parametresi nasıl geçirilir?
dizileri geçerken, dizinin değeri normalde referansla iletilir
kullanmak
MetaEditor 4.00 yapı 183
MetaTrader 4.00 yapı 186
hemen başka bir soru: bir dize bir bağlantı olarak iletilirse, dizenin alıcı arabelleği ne boyutta olacak?
sadece başka bir soru:
Bir işlevin sonucu olarak bir dize iletirsem, dize için bellek alanı nereye ayrılmalıdır? Bir DLL'deki global bir değişkene bir işaretçi iletmeli miyim? Aynı zamanda, DLL'nin metatrader'ın herhangi bir modunda aynı anda farklı iş parçacıklarından çağrılmayacağından emin olabilir miyim?
Şimdiden teşekkürler
günün başında bekleyen iki emir belirledik
Biri (herhangi biri) çalıştıktan sonra - ikincisi kaldırılır
Çubuğun kapanmasından beş dakika önce (günlük diyelim), tetikleneni kapatın (SL veya TP tarafından kapatılmamışsa)
Bekleyen emirlerin hiçbiri işe yaramadıysa, çubuk kapanmadan beş dakika önce ikisini de silin
Şimdiden teşekkürler
2) Bir fonksiyonun sonucu olarak bir string iletirsem, string için hafıza alanı nereye tahsis edilmelidir? Bir DLL'deki global bir değişkene bir işaretçi iletmeli miyim? Aynı zamanda, DLL'nin metatrader'ın herhangi bir modunda aynı anda farklı iş parçacıklarından çağrılmayacağından emin olabilir miyim?
Şimdiden teşekkürler
günün başında bekleyen iki emir belirledik
Biri (herhangi biri) çalıştıktan sonra - ikincisi kaldırılır
Çubuğun kapanmasından beş dakika önce (günlük diyelim), tetikleneni kapatın (SL veya TP tarafından kapatılmamışsa)
Bekleyen emirlerin hiçbiri işe yaramadıysa, çubuk kapanmadan beş dakika önce ikisini de silin
Şimdiden teşekkürler
Böylece uygularsınız, bekleyen siparişleri doğru zamanda verirsiniz (kolaydır). Ve siparişleri kontrol etmeye başlarsınız. Bir Al veya Sat emri göründüğünde, bekleyen bir emri silme alıştırması yaparsınız (bu daha da kolaydır). Ve sonra, doğru zamanda, tüm siparişlerin kapanışını hesaplarsınız (oldukça basit).
в начале дня устанавливаем два отложенных ордера
После того как один(любой) сработал - второй удаляется
За пять минут до закрытия бара(допустим дневного) закрыть сработавший (если он не был закрыт по SL или TP)
Если ни один отложенный ордер не соработал то за пять минут до закрытия бара удаляем их обоих
Заранее спасибо
Böylece uygularsınız, bekleyen siparişleri doğru zamanda verirsiniz (kolaydır). Ve siparişleri kontrol etmeye başlarsınız. Bir Al veya Sat emri göründüğünde, bekleyen bir emri silme alıştırması yaparsınız (bu daha da kolaydır). Ve sonra, doğru zamanda, tüm siparişlerin kapanışını hesaplarsınız (oldukça basit).
Çalışan bir kod istedim (belki biri uygulamıştır)
Yaptığım her şey işe yaramadı ... Her nasılsa beceriksizce işlenmiş odrerdelete
Başka bir soru, bazen bu enstrümanın fiyatının birkaç dakika boyunca donması (kene yok), yani. siparişi kapatmanın bir yolu yok. int start() gövdesi yürütülmez, diğer parametreler için tikler alınmasına rağmen, tiklerin geldiği herhangi bir araçtan Curetime değerini bir şekilde iletmek mümkün müdür?
Basitçe söylemek gerekirse, Curetime'ın değeri pratikte donmaz
Ve bu kod parçası ne yapıyor?
Henüz tetiklenmemiş bekleyen siparişlerin ikisini de siler