![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
yakın konumla ilgili sorun
......
çift cena=0;
statik int isCrossed = 0;
isCrossed = Çapraz (k,d);
if(Sipariş Seçimi(bilet, SELECT_BY_POS))
{
c=SiparişAçıkFiyat();
dönüş(0);
}
if (isCrossed>0)
{
cena=((c-Sor)*10000);
dönüş(0);
}
toplam = SiparişlerToplam();
if(toplam < 1)
{
if(isCrossed == 1)
{
bilet = OrderSend(Symbol(), OP_BUY, Lots, Ask, 1000, cena,
cena , "EMA_CROSS", 12345, 0, Yeşil);
}
....
if(isCrossed == 2)
{
bilet = OrderSend(Symbol(), OP_SELL, Lot, Bid, 1000, cena,
cena, "EMA_CROSS", 12345, 0, Kırmızı);
......
genel olarak EA, EMA geçtiğinde pozisyonu kapatır ve aynı zamanda başka bir pozisyonu açar
pozisyonlar açıldı ama kapanmak istemiyorlar ;/
lütfen yardım et
Aynı anda bir pozisyonu kapatıp yeni bir pozisyon açmak mümkün müdür?
(...)
if(OrdersTotal()!=0) {
(...)
OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_ASK), Slippage, Green ); }
if(OrdersTotal()==0) {
OrderSend(Symbol(), OP_BUY, Lots, Ask, Slippage, Ask - SL * Point, Ask + TP * Point, NULL, Magic, 0, Green); }
(...)
Bu kod örneğinde, kısa pozisyon ilk tikte kapatılacak, ancak uzun pozisyon anında açılmayacaktır. Uzun pozisyonu açmak için bir onay işareti daha alır.
Şimdiden teşekkürler :-)
Evet mümkün. RefreshRates() işlevini operatörler arasına koymanız yeterlidir.
...... lütfen yardım et
Görünüşe göre: Ben Pietra. İkinci adım ne?
Kodun tamamı olmadan size yardım etmek imkansız. Afedersiniz.
Kodlama konusunda yardıma ihtiyacınız var
EA için maksimum ve minimum açık fiyatları bilmek için MT4 kodlaması hakkında bana yardımcı olabilecek var mı? Bir EA tarafından bazı açıklıklar vardır.
Bunun gibi bir kod buldum, ancak ilk/son işlem açılışını bilmek içindir.
çift GetLastBuyPrice(int Magic)
{
int toplam=SiparişToplam()-1;
için (int cnt = toplam ; cnt >=0 ; cnt--)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol() && (OrderType()==OP_BUY))
{
dönüş(OrderOpenPrice());
}
}
dönüş(10000);
}
En yüksek/en düşük işlem açılışını bilmek için nasıl kod yazılır?
kod
EA için maksimum ve minimum açık fiyatları bilmek için MT4 kodlaması hakkında bana yardımcı olabilecek var mı? Bir EA tarafından bazı açıklıklar vardır.
Bunun gibi bir kod buldum, ancak ilk/son işlem açılışını bilmek içindir.
Çift açılır[1000] = {0};
çift maxopen = 0 ;
çift minopen = 1000000 ;
// çift GetLastBuyPrice(int Magic)
{
int toplam=SiparişToplam()-1;
için (int cnt = toplam ; cnt >=0 ; cnt--)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol() && (OrderType()==OP_BUY))
{
open[cnt] = OrderOpenPrice() ;
}
}
için ( cnt = 0 ; cnt <= toplam ; cnt ++ )
{
if ( open[cnt] > maxopen ) maxopen = open[cnt] ;
if (opens[cnt] < minopen ) minopen = open[cnt] ;
}
}
En yüksek/en düşük işlem açılışını bilmek için nasıl kod yazılır?merhaba,
kodu yukarıdaki gibi değiştirin,
diğerinden arama prosedürü değildir ...,
EA kodunuzda istediğiniz yere koyun.
OTR
Birden fazla sipariş açmak için kod yapmak için yardıma ihtiyacınız var
İkinci bir sipariş açmak için kod eklemede başarısız oldum.
Aynı sinyale göre farklı TP seviyelerinde 2 sipariş açmaya çalışıyorum.
ilk siparişi açma kodum aşağıdadır:
herhangi bir yardım takdir edilmektedir.
if(YavaşSell<0 && HızlıSell<0 && ÖncekiHızlıSell==0)
{
bilet=OrderSend(Symbol(),OP_SELL,LotSize,Bid,Slipage,Bid+StopLoss*Point,Bid-TakeProfit*Point,"MA_Angle_Trader",MagicNumber,0,Red);
if(bilet>0)
{
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print(" SellStop emri açıldı : ",OrderOpenPrice());
}
else Print("SellStop siparişini açarken hata: ",GetLastError());
dönüş(0);
bilet=OrderSend(Symbol(),OP_SELL,LotSize,Bid,Slipage,Bid+StopLoss*Point,0,"MA_Angle_Trader",MagicNumber,0,Red);
if(bilet>0)
{
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("SellStop siparişi açıldı: ",OrderOpenPrice());
}
else Print("SellStop siparişini açarken hata: ",GetLastError());
dönüş(0);
}
Merhaba
Bazı basit kodlama yardımına ihtiyacım var,
1) Belirli sayıda pipte bir ticareti riskten korumak
2) Ardından daha fazla ticareti devre dışı bırakır/askıya alır ..........
Korunan ticareti manuel olarak kapatacağım için tekrar riskten korunmadığından emin olun.
İkinci bir sipariş açmak için kod eklemede başarısız oldum.
Aynı sinyale göre farklı TP seviyelerinde 2 sipariş açmaya çalışıyorum.
ilk siparişi açmak için kodum aşağıdadır:
herhangi bir yardım takdir edilmektedir.
if(YavaşSell<0 && HızlıSell<0 && ÖncekiHızlıSell==0)
{
bilet=OrderSend(Symbol(),OP_SELL,LotSize,Bid,Slipage,Bid+StopLoss*Point,Bid-TakeProfit*Point,"MA_Angle_Trader",MagicNumber,0,Red);
if(bilet>0)
{
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("SellStop siparişi açıldı: ",OrderOpenPrice());
}
else Print("SellStop siparişini açarken hata: ",GetLastError());
dönüş(0);
bilet=OrderSend(Symbol(),OP_SELL,LotSize,Bid,Slipage,Bid+StopLoss*Point,0,"MA_Angle_Trader",MagicNumber,0,Red);
if(bilet>0)
{
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("SellStop siparişi açıldı: ",OrderOpenPrice());
}
else Print("SellStop siparişini açarken hata: ",GetLastError());
dönüş(0);
}Önce değiştirin
dönüş(0);
ile
Yenileme Oranları();