![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
Para yönetimini kullan öğesini false olarak ayarladım.... ama Lot parametreleriyle ilgili, Lotlarla değil, açık siparişlerin sayısıyla ilgili. , bu yüzden giriş parametrelerinde NumberofTrades parametresini 5'e ayarladım ama yine de bana cüret edecek ve 5'ten fazla emir alacak, dolayısıyla para yönetimimi tehdit edecek!
ana para
Bu, test etmenin bir sonucudur:
Gördüğünüz gibi aynı sembol ve aynı sihirli sayı için aynı anda 5'ten fazla sipariş açmadı.
tamam, görebiliyorum...Farklı semboller için 5'ten fazla emir almasını istemiyorum....örnek, diyelim ki son 20 dakika içinde 10 sembolden alım satım sinyali var.... sadece ilk 5 işlem sinyali, daha sonra bu beş emirden herhangi biri kapandığında, çeşitli sembollerdeki mevcut emirlerin 5'i geçmediğinden emin olarak bir tane daha alabilir. aynı sembolden 5 aynı emir alır ki bu da yanlıştır.
ana para
Bu, test etmenin bir sonucudur:
![](https://c.mql5.com/forextsd/forum/147/5_test.gif)
Gördüğünüz gibi aynı sembol ve aynı sihirli sayı için aynı anda 5'ten fazla sipariş açmadı.tamam, görebiliyorum...sadece farklı semboller için 5'ten fazla emir almasını istemiyorum....örneğin, diyelim ki son 20 dakika içinde 10 sembolden alım satım sinyali var... sadece ilk 5 işlem sinyali, daha sonra bu beş emirden herhangi biri kapandığında, çeşitli sembollerdeki mevcut emirlerin 5'i geçmediğinden emin olarak bir tane daha alabilir. aynı sembolden 5 aynı emir alır ki bu da yanlıştır.
Tüm semboller üzerinde maksimum 5 sıra olmasını istiyorsanız, 144. satıra gidin ( if( OrderSymbol() != Symbol() ) devam; ) ve silin. Ve tüm sembollerdeki tüm örnekler için sihirli sayıyı aynı tutun (böylece tüm sembollerde yalnızca bu EA tarafından açılan siparişleri sayabilir)
Merhaba Mladen
Daha yüksek bir TF'ye ayarlandığında canlanmayan güzel bir indi'm var.
Grafikte gördüğünüz gibi edit yapmadığımda takılı kalıyor. Bu sorunu çözmek için yardımcı olabilir misiniz?
Göstergeyi ve ekran görüntüsünü ekliyorum
Merhaba Mladen
Daha yüksek bir TF'ye ayarlandığında canlanmayan güzel bir indi'm var.
Grafikte gördüğünüz gibi edit yapmadığımda takılı kalıyor. Bu sorunu çözmek için yardımcı olabilir misiniz?
Göstergeyi ve ekran görüntüsünü ekliyorumkurtçuk
Bu yalnızca görsel geri testte olabilir (bu, meta tüccarın en az 7-8 ay boyunca düzeltmediği bir hatadır ve göstergeden değil meta tüccarın hatasıdır) ve görsel olarak geriye dönük test edildiğinde tüm çoklu zaman çerçevesi göstergelerinde olur
Normal kullanımda sorunsuz çalışıyor (her ihtimale karşı şu anda test edildi ve her şey normal grafiklerde çalışması gerektiği gibi çalışıyor)
Teşekkürler, bunun üzerinde çalışacağım, size geri döneceğim......
Tüm semboller üzerinde maksimum 5 sıra olmasını istiyorsanız, 144. satıra gidin ( if( OrderSymbol() != Symbol() ) devam; ) ve silin. Ve tüm sembollerdeki tüm örnekler için sihirli sayıyı aynı tutun (böylece tüm sembollerde yalnızca bu EA tarafından açılan siparişleri sayabilir)
TFI
Tampon 3 doğru olandır (yani, yukarı eğim için 1 ve aşağı eğim için -1 değerlerine sahip "trend" tamponudur). 1. ve 2. vardiyaları kullanıyorsunuz, dolayısıyla 1. kapalı çubuğu test ediyor.
Kodun bir kısmını satın alın tamamdır.
dışarıda bıraktın
if(trendc!=trendp)
size bir soruna neden olabilecek satış bölümünden karıncaMerhaba Mladen,
yardımcı olduğun için çok teşekkür ederim. kodu ona göre değiştirdim
önerinize göre, işlem sorunsuz, pip hesaplaması da iyi.
Ama şimdi artık kısa vadeli işlemler açmıyor (bir strateji de olabilir ;-)).
Sadece uzun pozisyonları kapatıyor.
Lütfen bir kez daha tavsiye verebilir misiniz?
extern double maxshorttrades = 2;
extern double maxlongtrades = 2;
//+-----------------------------------------------------+
//| BUY |
//+-----------------------------------------------------+
for (i=OrdersTotal()-1;i>=0; i--)
if(OrderType()==OP_BUY && OP_BUY<maxlongtrades) break; // Check Traded Positions.
{
if(trendc!=trendp)
{
if(trendc==1 && (CCIFilter<80)) // code for buy
OpenBuy();
return(0);
}
openedOrders++;
}
//+----------------------------------------------------+
//| SELL |
//+----------------------------------------------------+
for (i=OrdersTotal()-1;i>=0; i--)
if(OrderType()==OP_SELL && OP_SELL<maxshorttrades) break; // Check Traded Positions.
{
if(trendc!=trendp)
{
if(trendc==-1 && (CCIFilter>80)) // code for sell
OpenSell();
return(0);
}
openedOrders++;
}
}
Ayrıntılar için lütfen ekteki ekran görüntüsüne bakın.
Şimdiden teşekkür ederim!
Saygılarımızla,
TFI
Merhaba Mladen,
yardımcı olduğun için çok teşekkür ederim. kodu ona göre değiştirdim
önerinize göre, işlem sorunsuz, pip hesaplaması da iyi.
Ama şimdi artık kısa vadeli işlemler açmıyor (bir strateji de olabilir ;-)).
Sadece uzun pozisyonları kapatıyor.
Lütfen bir kez daha tavsiye verebilir misiniz?
extern double maxshorttrades = 2;
extern double maxlongtrades = 2;
//+-----------------------------------------------------+
//| BUY |
//+-----------------------------------------------------+
for (i=OrdersTotal()-1;i>=0; i--)
if(OrderType()==OP_BUY && OP_BUY<maxlongtrades) break; // Check Traded Positions.
{
if(trendc!=trendp)
{
if(trendc==1 && (CCIFilter<80)) // code for buy
OpenBuy();
return(0);
}
openedOrders++;
}
//+----------------------------------------------------+
//| SELL |
//+----------------------------------------------------+
for (i=OrdersTotal()-1;i>=0; i--)
if(OrderType()==OP_SELL && OP_SELL<maxshorttrades) break; // Check Traded Positions.
{
if(trendc!=trendp)
{
if(trendc==-1 && (CCIFilter>80)) // code for sell
OpenSell();
return(0);
}
openedOrders++;
}
}
Ayrıntılar için lütfen ekteki ekran görüntüsüne bakın.
Şimdiden teşekkür ederim!
Saygılarımızla,
TFITFI
Bunun gibi bir şey deneyin:
extern double maxlongtrades = 2;
//-----------------------------------------------------
//
//-----------------------------------------------------
int clongs = 0;
int cshorts = 0;
for (i=OrdersTotal()-1;i>=0; i--)
{
if(OrderType()==OP_BUY) clongs++; // Check Long Traded Positions.
if(OrderType()==OP_SELL) cshorts++; // Check Short Traded Positions.
}
if(trendc!=trendp)
{
if(clongs < maxlongtrades && trendc== 1 && (CCIFilter<80)) OpenBuy();
if(cshorts 80)) OpenSell();
// Check the CCI condition
// it is not symetrical to buy condition
}
mladen,
144 numaradaki değişikliği yaptım ve sihirli sayı olan "MagicNumber"ı sembol örnekleri arasında birleştirdim...Artık bir seferde maksimum 5 işlem alıyor ama şimdi aynı sembol üzerindeki işlemleri aynı anda tekrarlıyor örneğin, EURUSD üzerinde bir SATIŞ ticaret sinyali alırsa, EURUSD satış emrini 5 kez verir. Şu şekilde aldığı canlı siparişin görüntüsüne bakın:
Teşekkürler, bunun üzerinde çalışacağım, size geri döneceğim......
mladen, 144 numaradaki değişikliği yaptım ve sihirli sayı olan "MagicNumber"ı sembol örnekleri arasında birleştirdim...Artık bir seferde en fazla 5 işlem alıyor, ancak şimdi aynı sembolde işlemleri tekrarlıyor aynı zamanda, örneğin EURUSD üzerinde bir SATIŞ ticaret sinyali alırsa, bu EURUSD satış emrini 5 kez verir. Şu şekilde aldığı canlı siparişin görüntüsüne bakın:
Bu, o kod kısmına bağlı değil
Aynı çubukta ve aynı sembolde bir sipariş açmamak için kodun geri kalanına bir çek eklemelisiniz.