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
CrossPointOfSections() işlevi.
Bu fonksiyon, iki doğru parçasının kesişme noktasının koordinatlarını hesaplar. Her segment, noktalarının bir çift koordinatıyla tanımlanır. İşleve parametre olarak üç dizi iletilir:
Test için komut dosyası.
Tünaydın. Kaybı al veya durdur ile son pozisyonu kapatmak için bayrağı döndüren işlevler hakkında soru.
'KimIV'ten Faydalı Özellikler'
isCloseLastPosByTake() işlevi.
Bu fonksiyon, son pozisyonu alma ile kapatmak için bayrağı döndürür. Bayrak kaldırıldı - Doğru - TakeProfit çalıştı. İşaret atlandı - Yanlış - pozisyon başka bir nedenle kapatıldı
//------------------------------------------------ ---------------
Zaten dün genel forumda bir soru gündeme getirdi. Ama cevap henüz bulunamadı.
MY EA'nın 3 adımlı martingali vardır. Her adımın (pozisyonun) bir büyüsü vardır (1,2,3).
Pozisyonlar sinyaller ve/veya stoplarla kapatılır.
Aşağıdaki kapatma da sağlanır:
Görünüşe göre danışmanım dövüşün son (en büyük pozisyon) aşaması kar al ile kapanana kadar iyi çalışıyor !
Bundan sonra, bir sonraki ilk pozisyon (Magic-1) açıldığında hemen kapanır, çünkü isCloseLastPosByTake() İşlevinin işlev bayrağı bir (1)'e eşit kaldı!
Ve böylece sonsuza kadar. Açılır ve kapanır.
Üstelik! Terminal bu bayrağı hatırlar ve danışmanın yeni kaldırılması / kurulması bile yardımcı olmaz (siz sihri değiştirene kadar).
Tüm pozisyonları kapattıktan sonra isCloseLastPosByTake() fonksiyonunu bir şekilde resetlemek gerekiyor.
Beynimi çoktan tersine çevirdim. İşe yaramıyor!
Igor! veya herhangi biri (kim yapabilir), pl. bana nasıl yapacağımı söyle ve bunu yapmak mümkün mü?
Soruma bir cevap varmış gibi görünüyor. Merak edenler için burada
'Uzmanlara soru'
ModifyOrder() işlevini kullanma örnekleri.
İlk önce, bana defalarca sorulan örnekler vermeye karar verdim. Bu, Piyasa İzleme ticaret emirlerinin piyasa yürütme koşullarında pozisyonların açılmasıdır. Bu, aynı anda piyasa fiyatından bir pozisyon açmak için emir vermek ve ona bekleyen bir emir eklemek imkansız olduğunda. Piyasa İzleme koşullarında böyle bir açılış iki aşamada gerçekleştirilmelidir: önce bir pozisyon açın ve ardından ona bekleyen emirleri ekleyin, yani StopLoss ve TakeProfit fiyat seviyelerini ayarlayın.
1. Mevcut enstrümandan 0.1 lot satın alın ve 30 puanlık bir stop loss ayarlayın
2. Mevcut enstrümanın 0.15 lotunu sat ve SL=45, TP=99 olarak ayarla
Fragmanda, örneklerle çalışan bir komut dosyası.
EA'ma sihir ekleyene kadar!
Tüm pozisyonlar normal olarak değiştirilir. Yine de -
Nedeni belli değil, ancak OpenPosition() işlevi - sanki sihirbazı görmüyor ve her çubukta birbiri ardına durmadan pozisyonlar açmaya devam ediyor. Gereksiz her şeyi zaten kaldırdım (kodda benim hatam olduğunu düşündüm).
Ve yoruma pozisyon sayısını ekledim. Faydasız. Konumların bariz varlığıyla, yorum sıfır gösterir:
İşlevin neden sihri görmediğini anlayamıyorum! İşte kod:
Bu kodun kaynak dosyası ektedir. Lütfen. nerede hata yaptığımı söyle ve danışman neden sihri göremiyor?
Evet, hepinize teşekkürler ( tmp.0 ve Roger )! Düzelttim ve her şey olması gerektiği gibi çalıştı.
Benim dikkatsizliğim suçlu. Ve hiç bir işlev değil - OpenPosition ()
Oyun, söyle bana!
OrderCloseBuy - OrderCloseSell'i kullanırken, yerleşik MCule dili ve derleyici iki işlev parametresi gerektirir ( bilet sipariş et - satın al ve sat). Bir açık sipariş bileti var, ancak ikincisi nasıl ayarlanır? Ya da bir şey anlamadım - dil eğitiminde bu işlev hakkında hiçbir şey yazılmamış ve hiçbir örnek yok.
Şimdiden teşekkürler!
Ve işte Igor için başka bir soru.
Alış-satış pozisyonunu tersine çevirmek için ayrı bir özel (veya başka) bir işlev yarattınız mı ve bunun tersi de normal OrderClose - OrderSend olmadan mı?