![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
Ian,
Straddle&Trail uzmanını kontrol edin. burada bulabilirsiniz https://www.mql5.com/en/forum/general
Hepinize merhaba,
Tüm siparişlerimi aynı anda kapatmak istiyorum ama yapamıyorum.
Bu kodu denedim ama işe yaramadı:
'''''''''''''''''''''''''''''''''
toplam = SiparişlerToplam();
for(i=0;i < toplam;i++)
{
if(OrderSelect(i, SELECT_BY_POS)==true)
{
OrderClose(OrderTicket(),OrderLots(),Ask,80, CLR_NONE );
OrderClose(OrderTicket(),OrderLots(),Bid,80,CLR_NONE);
}
}
'''''''''''''''''''''''''''''''''
Birisi bana yardım edebilir mi ?
bana yardımcı olabilirseniz çok minnettar olurum
Mehdi,
Bu kodu (prosedür) start() bölümünün dışına koyun ve tüm işlemleri kapatmak için koşul karşılandığında, prosedürü şöyle çağırın:
int başlangıç()
{ // kodunuz burada .....
If (buradaki durumunuz) ShutDownAllTrades();
}
ShutDownAllTrades'i geçersiz kıl
{ int Yeniden Dene;
while (OrdersTotal()>0)
{ for (int cnt=OrdersTotal()-1;cnt>=0;cnt--)
{ OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if (OrderType()==OP_BUY)
{ Yeniden dene=0; while (Yeniden Dene<5 && !IsTradeAllowed()) { Yeniden Dene++; Uyku(1000); }
Yenileme Oranları();
OrderClose(OrderTicket(),OrderLots(),Bid,Kayma,Sarı);
Uyku(1000);
}
else if (OrderType()==OP_SELL)
{ Yeniden dene=0; while (Yeniden Dene<5 && !IsTradeAllowed()) { Yeniden Dene++; Uyku(1000); }
Yenileme Oranları();
OrderClose(OrderTicket(),OrderLots(),Ask,Kayma,Sarı);
Uyku(1000);
}
başka
{ Yeniden dene=0; while (Yeniden Dene<5 && !IsTradeAllowed()) { Yeniden Dene++; Uyku(1000); }
OrderDelete(OrderTicket());
Uyku(1000);
}
}
}
}
HTH
Yannis
Sevgili Yannis,
Yardımın için teşekkürler.
Hakkında hayırlısı olsun.
Mehdi,
Bu kodu (prosedür) start() bölümünün dışına koyun ve tüm işlemleri kapatmak için koşul karşılandığında, prosedürü şöyle çağırın:
int başlangıç()
{ // kodunuz burada .....
If (buradaki durumunuz) ShutDownAllTrades();
}
ShutDownAllTrades'i geçersiz kıl
{ int Yeniden Dene;
while (OrdersTotal()>0)
{ for (int cnt=OrdersTotal()-1;cnt>=0;cnt--)
{ OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if (OrderType()==OP_BUY)
{ Yeniden dene=0; while (Yeniden Dene<5 && !IsTradeAllowed()) { Yeniden Dene++; Uyku(1000); }
Yenileme Oranları();
OrderClose(OrderTicket(),OrderLots(),Bid,Kayma,Sarı);
Uyku(1000);
}
else if (OrderType()==OP_SELL)
{ Yeniden dene=0; while (Yeniden Dene<5 && !IsTradeAllowed()) { Yeniden Dene++; Uyku(1000); }
Yenileme Oranları();
OrderClose(OrderTicket(),OrderLots(),Ask,Kayma,Sarı);
Uyku(1000);
}
başka
{ Yeniden dene=0; while (Yeniden Dene<5 && !IsTradeAllowed()) { Yeniden Dene++; Uyku(1000); }
OrderDelete(OrderTicket());
Uyku(1000);
}
}
}
}
HTH
YannisSevgili Yannis,
Prosedürünüzü dediğiniz gibi " int deinit() { } " (başlama dışı) arasına ekledim ama void ShutDownAllTrades { : '{' virgül veya noktalı virgül bekleniyor sonra derleme ile ilgili bir sorun var.
Cevabınızı sabırsızlıkla bekliyorum.
Çok teşekkürler
Ayy üzgünüm.
Eksik olan, () void ShutDownAllTrades ()' den sonraki
orderclose işlevindeki 'Slippage' adlı değişken için de dikkatli olun.
Bunu, siparişlerinizi verirken kullandığınızla değiştirmeniz gerekebilir.
Yannis
Ayy üzgünüm.
Eksik olan, () void ShutDownAllTrades ()' den sonraki
orderclose işlevinde 'Slippage' adlı değişken için de dikkatli olun.
Bunu, siparişlerinizi verirken kullandığınızla değiştirmeniz gerekebilir.
Yannisçok iyi çalışıyor
!
Tekrar teşekkürler
Çoklu Zaman Çerçevesi göstergeleri iş parçacığında MTF CCI göstergesi kullanıyorum, bu sarı bir adım çizgisi, ekteki resme bakın.
Çizgi 100 seviyesinin üzerinde olduğunda (aşırı alım)- fiyat düşecek ve -100'ün altına düştüğünde (aşırı satım)- fiyat yükselecektir.
Bununla ilgili tek sorun, her zaman yenilenmemesi, bunu grafiğe sağ tıklayıp 'Yenile'yi seçerek manuel olarak yapmam gerekiyor.
Programcılara bir soru: MQ4'te her tıklamada bu tür bir yenilemeyi otomatik olarak yapmak için herhangi bir işlev var mı?
Bir tavsiye için minnettar olurum.
Avrupalı
Bunu dene:
void ObjectsRedraw()
Grafikteki tüm nesneleri yeniden çizer
Örneklem
NesnelerRedraw();
Önce ObjectCreate kullanmanız gerekebilir .
Bunu dene:
void ObjectsRedraw()
Grafikteki tüm nesneleri yeniden çizer
Örneklem
NesnelerRedraw();
Önce ObjectCreate kullanmanız gerekebilir.Cevabınız için teşekkürler.
Bildiğim kadarıyla ObjectsRedraw() henüz 'oluşturulmuş' ve 'ayarlanmış' nesneleri yeniler.
Nesne listesinde olmayan bir göstergeyi yenilemem gerekiyor, bu nedenle ObjectsRedraw() çalışmıyor.![](https://c.mql5.com/forextsd/smiles/frown.png)
Veya mevcut bir göstergeye nasıl atıfta bulunacağınızı biliyor musunuz?