![MQL5 - MetaTrader 5 müşteri terminalinde yerleşik ticaret stratejileri dili](https://c.mql5.com/i/registerlandings/logo-2.png)
Ticaret fırsatlarını kaçırıyorsunuz:
- Ücretsiz ticaret 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
Evet sorular bitmek bilmiyor...
sürekli olarak ortaya çıkmaları anlamında, AMA koşullara göre.
Şu anda yayınlanan hiçbir fonksiyon yok, çünkü editörde "hissetmeden" bakıyorum.
ldStopLoss'un rolü belirsiz...Ayrıca, bunlara ek olarak, erken kodlar hakkında, özellikle sondaki yankılarla ilgili sorular var.
yukarıdakilerle: nasıl, neden fonksiyonlara geçilir, örneğin, sondaki bu kısım beni şaşırttı:
vay... :-) çok eski bir işlev. Önceden açılmış bir pozisyonun veya kurulu bir emrin durma seviyesini değiştirmek için tasarlanmıştır. Almak için de benzer bir işlev vardı. Her ikisi de daha gelişmiş ve daha işlevsel ModifyOrder() ile değiştirildi.
ldStopLoss'un rolü belirsiz...
Bu, StopLoss'un ModifyStopLoss işlevine ayarlanması gereken fiyat seviyesini geçmek için kullanılan yerel bir değişkendir . Örneğin ModifyStopLoss fonksiyonunu şöyle çağıralım:
Ardından yerel değişken ldStopLoss 1.5662 değerini alacaktır. Bu şu şekilde kontrol edilebilir:
Günlükte aşağıdaki giriş olacaktır:
vay... :-) çok eski bir işlev. Önceden açılmış bir pozisyonun veya kurulu bir emrin durma seviyesini değiştirmek için tasarlanmıştır. Almak için de benzer bir işlev vardı. Her ikisi de daha gelişmiş ve daha işlevsel ModifyOrder() ile değiştirildi.
Şey, yani... eskiler... (utanmış gibi :)))
Klasörlere göz gezdirdim, en eski dosya 22.01.2006 tarihli.
Ve görünüşe göre benim krivoruchkas ile seçici bile değil ...
İtiraf ediyorum, uzun zamandır basit şeyler yapıyorum, örneğin oradaki sayıları değiştirin.
Basit hesap makineleri, vb...
Her şey ticaret forumlarından birine danışman yazma isteğiyle başladı ama...
Ardından, grafikteki bilgileri görüntüleyen bir göstergeye ihtiyaç duyuldu ve ardından gitti ve gitti.
Şimdi bir uyuşturucu bağımlısı gibi bağımlıyım... ;) Neyim ben? kullanışlı... her şey orada... editör, vb., kompakt, taşınabilir.
Delfu 6'yı teslim etmek için ilk ve son girişimi hatırladığımda... bu yüzden titreyeceğim.
Şimdiye kadar, o disk çifti rafta toz topluyor ... :))) offtopik için üzgünüm .
Yani, () işlevinin parantezleri içinde ne var, ona belirli parametreleri iletmek için bir tür "biçim" mi?
Çünkü akıllara nedense tam tersi geldi: Bu, işlevin işleme sonucunda döndürdüğü parametredir .
Ayrıca fonksiyonun küme parantezleri içinde işlemek için parametreler alması gerçeği...{}
onlar. tüm bu Teklif, Puan vb. girdi parametreleridir.
Görünüşe göre çılgınca yanılmıştı ... ve parantezler () içinde olması, bir fonksiyona işlemek için parametreleri iletmenize izin veriyor,
aynı zamanda, işlevin kendisi, gerçek komut dosyası kodunun herhangi bir (veya başka) yerine yerleştirilebilir...
Böyle?
İyi günler, Igor! Gerçek hayatta (Alpari DC) Uzman Danışmanlarınızı ve herhangi bir biçimde trol kullanan komut dosyalarınızı kullanırken sorunlar vardı. Özellikle e-Haber-Lucky$ (sistemim için ideal), e-TFL_v2, Set2StopOrders, e-SotTrailing ile ilgileniyorum. Demo üzerinde çalışıyorlar (ayrıca Alpari). Hata mesajları görüntülenmiyor. Ne olabilirdi?
Yani, () işlevinin parantezleri içinde ne var, ona belirli parametreleri iletmek için bir tür "form" mu?
Şey, evet ... konteyner gibi bir şey :-)
Çünkü akıllara nedense tam tersi geldi: Bu, işlevin işleme sonucunda döndürdüğü parametredir .
İşlevin döndürdüğü şey, dönüş değeridir. Basit bir örnek vereceğim. İki sayı ekleme işlevini tanımlarız:
Yani, bu fonksiyonu şöyle çağırırsak:
o zaman 3 ve 5 sayıları f fonksiyonunun parametreleridir. Sayılar, değişkenler, ifadeler fonksiyon parametreleri olarak hareket edebilir. a ve b değişkenleri parametre değerlerini alıp fonksiyona veren yerel değişkenlerdir . x değişkeni f fonksiyonunun dönüş değeridir, yani f fonksiyonuna yaptığımız çağrıdan sonra y değişkeni x değişkeninin kendisine ilettiği değeri yani 8 değerini alacaktır.
Ayrıca fonksiyonun küme parantezleri içinde işlemek için parametreler alması gerçeği...{}
onlar. tüm bu Teklif, Puan vb. girdi parametreleridir.
hayır... ModifyStopLoss işlevinin parametresi, Bid-TrailingStop*Point ifadesinin değeri olacaktır.
Görünüşe göre çılgınca yanılmıştı ... ve parantezler () içinde olması, bir fonksiyona işlemek için parametreleri iletmenize izin veriyor,
aynı zamanda, işlevin kendisi, gerçek komut dosyası kodunun herhangi bir (veya başka) yerine yerleştirilebilir...
Böyle?
Evet
Soru şu: OpenPosition'ın aksine neden ModifyOrder'da hata işleme yok?
Yolun kurallarının kanla yazıldığını söylerler deyimini bir yerde duymuştum. Ve içlerinde ekstra bir şey yok. Her kelimenin arkasında neredeyse bir kazada kaybedilen birinin hayatı var.
Deneyimlerime göre işlevlerimi yazıyorum ve onlara uygulamamda meydana gelen hataların işlenmesini dahil ediyorum ve bu işlemden vazgeçilemez. Pazara girmeye çalışırken gösterdiğim maksimum "kibarlık" (hata işleme) . Değişiklik sırasında çoğu hata, fiyat normalleştirmesi ve basit değer kontrolleri ile ortadan kaldırılır. Değişikliğin kendisi sırasında bir hata meydana gelirse, bir sonraki tikte değişiklik zaten normal şekilde ilerler. Kapanışta da aynı şey.
pp - emir açılış fiyatının bu fonksiyona geçirilmesinin amacı nedir?
renk de en başında bildiriliyor... test_ModifyOrder.mq4 (12.14 KB) ..neden kullanmıyorsunuz, ancak işleve yeniden gönderiyorsunuz
avantajı nedirkısa formdan önce
OrderOpenPrice () işlevini neden normalleştirmemiz gerekiyor? arama emrindekiyle aynı formatta değil mi?
Şimdiye kadar, aynı şeyi değişiklik sırasında geri eklersem herhangi bir hata fark etmedim. OrderStopLoss() ve OrderTakeProfit() ile aynıpp - emir açılış fiyatının bu fonksiyona geçirilmesinin amacı nedir?
OP_BUYLIMIT, OP_BUYSTOP, OP_SELLLIMIT ve OP_SELSTOP siparişlerini taşımak amacıyla.
renk de en başında bildiriliyor... test_ModifyOrder.mq4 (12.14 KB) ..neden kullanmıyorsunuz ama tekrar işleve gönderiyorsunuz
Teşekkür ederim! Kullanacağım!
avantajı nedir
kısa formdan önce
danışmanın sadece mevcut enstrümanın değil, diğerlerinin de pozisyonları ve emirleriyle çalışmasına izin veren evrensellikte. Örneğin, danışman EURUSD grafiği üzerinde çalışır. Rakamlar seçeneği USDJPY'de açılan pozisyonlarla çalışmanıza izin vermeyecektir.
OrderOpenPrice () işlevini neden normalleştirmemiz gerekiyor? arama emrindekiyle aynı formatta değil mi?
Çift değerleri başarıyla karşılaştırmak için. Normalleştirmezseniz, karşılaştıramazsınız veya daha doğrusu anlamsızdır.
Değişiklik sırasında aynı şey geri takılmışsa hatayı fark etmedim. OrderStopLoss() ve OrderTakeProfit() ile aynı