[UYARI, KONU KAPALI!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde. - sayfa 554
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
artmedia70, Tüm siparişleri inceliyoruz ve karlarını özetliyoruz. Ortaya çıkan kâr sıfırdan büyükse veya önceden belirlenmiş belirli bir değerden büyükse, tüm pozları kapatın.
Tüm siparişleri kapatmak için kodu kendiniz oluşturmaya çalışın.
İpucu: Tüm siparişlerin kapatılacağı bir döngü için, tıpkı yukarıdaki kodda yaptığım gibi, siparişlerin yineleme yönünü tersine çevirmeniz gerekir. Yani - son siparişten birinciye. Aramanın yönünü değiştirirseniz, döngüdeki tüm siparişler kapanmaz. Örneğin, listede ilk sırada yer alan sipariş kapanacak ve bunun sonucunda yerini bir başkası alacaktır. Ve döngü sayacı bir arttığından, bu silme satırından diğer sipariş atlanacaktır.
Bu hala bir döngü.
Double türünde bir değişken tanımlıyoruz.
Tüm siparişleri inceliyoruz. Emrin karı iki katı olandan az ise, bu karı onun içinde depolarız. Böylece, döngüden sonra, bu değişiklik en küçük kârın değerini içerir (mevcut en büyük zararı okuyun). Hem mevcut kârsız siparişin biletini hem de karı sıfırdan büyük olan sipariş biletlerini ve pozitif olduğu siparişlerin toplam kârını aynı anda dizilerde saklarsak, o zaman tüm karar (hangi siparişler ve ne kadar çakışacak) ) tek bir fonksiyonda yapılabilir.
Bu hala bir döngü.
Double türünde bir değişken tanımlıyoruz.
Tüm siparişleri inceliyoruz. Emrin karı iki katı olandan az ise, bu karı onun içinde depolarız. Böylece, döngüden sonra, bu değişiklik en küçük kârın değerini içerir (mevcut en büyük zararı okuyun). Hem mevcut kârsız siparişin biletini hem de karı sıfırdan büyük olan siparişlerin biletlerini ve pozitif olduğu siparişlerin toplam kârını aynı anda dizilerde saklarsak, o zaman tüm kararı verebiliriz (hangi siparişler ve nasıl örtüşecek çok şey) tek bir işlevde.
Ve işte başka bir soru...
Diğerleri! Söyle bana pliz, yukarı hareketin en tepesinden alıp en dipte satmamak nasıl mümkün olabilir? Aksi takdirde, satın alma sinyalinin hala mevcut olduğu, ancak zaten bir geri dönüşe yakın olduğu ortaya çıkıyor ve o (danışman) çıldırıyor... ve satın alıyor. Pozisyon kârsız. Bu işletme nasıl filtrelenir, ha???
Zaten birçok farklı hindi denedim - öyle değil ...
Belki birileri bu sorunla daha önce karşılaşmıştır, hatta daha kesin olarak söyleyelim - sorunlar? Nasıl çözülür, en az yarım kelime söyleyin lütfen...
Tüm sonsuz kazançlar!
Ve işte başka bir soru...
Diğerleri! Söyle bana pliz, yukarı hareketin en tepesinden alıp en dipte satmamak nasıl mümkün olabilir? Aksi takdirde, satın alma sinyalinin hala mevcut olduğu, ancak zaten bir geri dönüşe yakın olduğu ortaya çıkıyor ve o (danışman) çıldırıyor... ve satın alıyor. Pozisyon kârsız. Bu işletme nasıl filtrelenir, ha???
Zaten birçok farklı hindi denedim - öyle değil ...
Belki birileri bu sorunla daha önce karşılaşmıştır, hatta daha kesin olarak söyleyelim - sorunlar? Nasıl çözülür, en az yarım kelime söyleyin lütfen...
Tüm sonsuz kazançlar!
Bir seçenek olarak - alternatif fırsatlar. Örneğin, - hareket eden fiyatın yönü + fiyatın konumu temelinde ticaret yapıyoruz (hemen sistemin kârsız olduğunu söyleyeceğim, ancak yaklaşımı iyi gösteriyor). Örneğin. Kodu yazıyoruz: SignalBuy=false; SignalSell=yanlış; - sinyalleri iptal etti. Ardından, kontrol ediyoruz: satın alma sinyali hareket eden sinyaldir ve fiyat hareketli olanın üzerindedir. Dolayısıyla SignalBuy=true; hareketli ortalama düşükse ve fiyat hareketli ortalamanın altındaysa, SignalSell=true; Ardından, koşulu yazıyoruz: piyasada hiç emir yoksa ve aynı zamanda satın alma sinyali "doğru" ise ve tarihteki son sipariş Buy ise, o zaman SignalBuy=false; - yani, uzun sipariş henüz kapatıldığı için satın alma sinyalini sıfırladık. Aynı şey kısa pozisyonlar için de geçerlidir. Bununla ne elde edeceğiz? Hareketli fiyat tersine döndüğünde ve kırıldığında, ilgili emir açılacaktır. Ayrıca, danışman ters sinyali bekleyecektir. Bu demektir ki, bir uzun pozisyon neredeyse trendin en tepesinde kapatılırsa, o zaman bu noktada uzun pozisyon artık açılmayacaktır, çünkü danışman bir kısa pozisyon açmak için bir sinyal bekleme durumuna girecektir.
Bence ilke açık.
Bir seçenek olarak - alternatif fırsatlar. Örneğin, - hareket eden fiyatın yönü + fiyatın konumu temelinde ticaret yapıyoruz (hemen sistemin kârsız olduğunu söyleyeceğim, ancak yaklaşımı iyi gösteriyor). Örneğin. Kodu yazıyoruz: SignalBuy=false; SignalSell=yanlış; - sinyalleri iptal etti. Ardından, kontrol ediyoruz: satın alma sinyali hareket eden sinyaldir ve fiyat hareketli olanın üzerindedir. Dolayısıyla SignalBuy=true; hareketli ortalama düşükse ve fiyat hareketli ortalamanın altındaysa, SignalSell=true; Ardından, koşulu yazıyoruz: piyasada hiç emir yoksa ve aynı zamanda satın alma sinyali "doğru" ise ve tarihteki son sipariş Buy ise, o zaman SignalBuy=false; - yani, uzun sipariş henüz kapatıldığı için satın alma sinyalini sıfırladık. Aynı şey kısa pozisyonlar için de geçerlidir. Bununla ne elde edeceğiz? Hareket eden fiyat tersine döndüğünde ve kırıldığında, ilgili emir açılacaktır. Ayrıca, danışman ters sinyali bekleyecektir. Bu demektir ki, bir uzun pozisyon neredeyse trendin en tepesinde kapatılırsa, o zaman bu noktada uzun pozisyon artık açılmayacaktır, çünkü danışman bir sinyalin kısa açılması için bekleme durumuna girecektir.
Bence ilke açık.
Да, конечно, спасибо, принцип понятен, но в моей ТС он будет ещё более убыточен. У меня торговля идёт сразу почти по всем ТФ (от М5 до D1) и на кждом ТФ несколько своих ТС одновременно пашут... Так вот на М5 у меня собирает по ходу движения цены всё, что можно... Вот здесь и загвоздочка... Сигнал на Бай длится до самого разворота. Также и на Селл. По движению он собирает конечно достаточно, но эти убыточные позиции, открытые на пиках-донышках либо съедают всю прибыль от движения, либо... (если их не закрывать, а пересиживать) ... жрут всю маржу. Вот как бы их подрезать чем-нить... эти пики-дондышки, чтоб сигнала уже не было...
>> Her TF'nin kendi ticaret sistemi vardır.
Bu, farklı ticaret sistemlerine sahip danışmanların birbirlerinin çalışmasına müdahale etmemesi gerekiyorsa, o zaman bir sihir kullanırız - her TS için diğer TS'lerin büyüsünden farklı olacak şekilde. Bu, EA'nın yalnızca kendi siparişlerini görmesini sağlar. Daha sonra, piyasada belirtilen sihire sahip bir emir varsa (örneğin, satın al) emirleri gözden geçiririz, ardından sinyali uzun olarak sıfırlarız. Veya önceki uzun tarihin sonuncusuysa, onu sıfıra sıfırlarız - kısa bekliyoruz.
Aksi takdirde, danışmanın aynı döviz çifti için diğer ticaret sistemlerinin çalışmasına müdahale etmesi gerekiyorsa, sipariş döngüsünde sihir dikkate alınmaz. Duruş kontrolünün diğer mantığı aynıdır. ANCAK! 1 nüans var. Bir danışman bir başkasının çalışmasına müdahale ederse, o zaman aniden emrinin ortadan kalktığını keşfettiği bir duruma başka bir danışman hazırlamanız gerekir - danışman buna yetkin bir şekilde yanıt verebilmelidir - hemen başka bir anlaşmayı düşünmeden açmamalı, ancak örneğin, aynı ticaret geçmişini analiz edin.
Sinyalinizin geri dönüşe kadar uzandığını söylüyorsunuz. Ama bu da atlanabilir. Piyasada emir yok - bir sinyalin varlığını kontrol ediyoruz. Sinyal belirdi - bir pozisyon açtı, sinyal bayrağını kaldırdı ( değişkeni sıfırladı ) ve karşı sinyal (kısa) görünene kadar artık bir sinyalin (örneğin uzun bir sinyal) varlığını kontrol etmez. Böylece, belirli bir türde bir sinyalin varlığının bayrağı genellikle birkaç saniye yaşar - bayrak ayarlanır, sıra ayarlanır, bayrak kaldırılır - karşı sinyali bekliyoruz. Tersi ortaya çıktı, karşı sinyalin bayrağı ayarlandı ve bayrak ayarlanarak önceden izlenmesi yasak olan sinyallerin izlenmesine izin verildi.
Expert Advisor'ın başlangıcı (start() işlevi değil, yalnızca işin başlangıcı):
- hem uzun hem de kısa sinyalleri izlemek için izin veriyoruz.
Uzun bir sinyal belirdi:
- kısa sinyalleri izlemek için izin verin
- Uzun bir sipariş verdik ve bu sipariş bittiyse, o zaman
- Uzun sinyalleri takip etmek için izin veren bayrağı kaldırıyoruz.
Kısa bir sinyal belirdi
- Siparişleri genişletme hakkı varsa, uzun siparişi kapatın ve kısa olanı ayarlayın
- Uzun sinyalleri izlemeye izin veren bayrağı ayarlayın ve kısa sinyalleri izlemeye izin veren bayrağı kaldırın.
Genel olarak, bayraklar anahtarlardır. Ayrıca anahtarlar değil, anahtarlar tasarlayabilirsiniz. Bu durumda danışman, hangi durumda olduğuna dair bir hafızaya sahip olan sibernetik bir otomatın ilkeleri üzerinde çalışmaya başlar. Bu, örneğin bir tamsayı değişkeni bildirerek ve buna durum numaraları atayarak başarılabilir. Örneğin, başlatma bloğuna şunu yazıyoruz:
sostojanie=0;
Ancak zaten başlangıçta, danışman sıfır durumunda (if(Sostojanie==0){}) danışmanın yalnızca A, B ve C işlemlerini gerçekleştirmesine izin verildiğini bilir. Ve bir veya daha fazlasının sonucuna bağlı olarak bu işlemler, danışman hangi duruma gidileceğini (Sostojanie=1;// veya 2 veya 3, vb.) veya tam tersi, mevcut durumda kalıp kalmayacağını seçer.
Her durumda danışman neyi yapıp neyi yapamayacağını ve hangi koşullar altında farklı bir duruma geçmesi gerektiğini bilir.
Daha önce, komisyoncunun mevcut bir siparişi kapatabileceği + yeniden açabileceği ve bazı parametrelerinin değişeceği (yorumlar, vb.) bahsetmiştik.
- Hangi parametrelerin %100 miras alınacağını bilmek istiyorum. ( açılış saati , çok, ...?)
Daha önce, komisyoncunun mevcut bir siparişi kapatabileceği + yeniden açabileceği ve bazı parametrelerinin değişeceği (yorumlar, vb.) bahsetmiştik.
- Hangi parametrelerin %100 miras alınacağını bilmek istiyorum. (açma/kapama zamanı, çok, ...?)