MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma - sayfa 1338
![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
Soruyu daha doğru sorayım.
EA'ya kaç işlemin açılacağını söyleyen bir kod bloğu vardır. O böyle görünüyor
int AÇIK=1;
if(Sipariş Toplamı())
AÇIK=0; // daha fazla sipariş açamaz
eğer(AÇIK==1)
{
//Buradan açın
}
Sorun, tüm enstrümanlar için gerekli sayıda işlemi (bu örnekte 1) açmasıdır. Ve ona açıklamam gerekiyor
açmanız gereken şey, CURRENT enstrümanındaki işlem sayısıdır. _Symbol veya Symbol() gibi bir şey. Bunu nasıl yapabilirim? Bence buradaki çözüm basit.
Soruyu daha doğru sorayım.
EA'ya kaç işlemin açılacağını söyleyen bir kod bloğu vardır. O böyle görünüyor
int AÇIK=1;
if(Sipariş Toplamı())
AÇIK=0; // daha fazla sipariş açamaz
eğer(AÇIK==1)
{
//Buradan açın
}
Sorun, tüm enstrümanlar için gerekli sayıda işlemi (bu örnekte 1) açmasıdır. Ve ona açıklamam gerekiyor
açmanız gereken şey, CURRENT enstrümanındaki işlem sayısıdır. _Symbol veya Symbol() gibi bir şey. Bunu nasıl yapabilirim? Bence buradaki çözüm basit.
Boktan bir anlaşma bulutunu yırtıyor ve satıyor
Pekala, iki seçenek var:
1. tüm kodu göster
2. telepatlar kulübüne
Pekala, iki seçenek var:
1. tüm kodu göster
2. telepatlar kulübüne :)
:)
nasıl açılıp alınıp satılacağını anladım "!". Ancak işlem sayısı her tikte açılmaz
int başlangıç()
{
double a=iOpen(NULL,PERIOD_D1,0);
çift d=_ORDER*0.00001;
çift c=d+1;
çift s=c*a;
çift limit= NormalizeDouble(s,_Digits);
// Print("sınır düzeyi= ",sınır);
çift e=_STOP*0.00001;
çift n=e+1;
çift m=n*a;
double SL= NormalizeDouble(m,_Digits);
//Print("durma seviyesi= ",SL);
çift p=_TP*0.00001;
çift f=p+1;
çift z=f*a;
double TP= NormalizeDouble(z,_Digits);
double w=iOpen(NULL,PERIOD_D1,0);
çift q=_ORDER*0.00001;
çift j=q+1;
çift v=w/j;
çift limit1= NormalizeDouble(v,_Digits);
// Print("sınır düzeyi= ",sınır);
çift k=_STOP*0.00001;
çift y=k+1;
çift u=w/y;
double SL1= NormalizeDouble(u,_Digits);
//Print("durma seviyesi= ",SL);
çift g=_TP*0.00001;
double_f=g+1;
çift _m=w/_f;
double TP1= NormalizeDouble(_m,_Digits);
if(Saat()==Nac)
{
if(iOpen(NULL,PERIOD_D1,0)<iOpen(NULL,PERIOD_D1,1))
{
if(!isTradeToDay(Symbol()))
{
int bilet1=SiparişGönder(Symbol(),OP_SELLSTOP,1.5,limit1,3,SL1,TP1,NULL,0,0,clrRed); //Buradan açın
}
}
if(iOpen(NULL,PERIOD_D1,0)>iOpen(NULL,PERIOD_D1,1))
{
if(isTradeToDay(Symbol()))
{
int bilet=SiparişGönder(Symbol(),OP_BUYSTOP,1.5,limit,3,SL,TP,NULL,0,0,clrBlueViolet); //Buradan açın
}
}
}
if(Saat()==Kon)
{
boolsonuç;
dehşet içinde;
//----
while(Sipariş Toplamı()>0)
{
if(Sipariş Seçimi(0,SELECT_BY_POS,MODE_TRADES))
{
if(OrderType()==OP_BUY)
sonuç=OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(MarketInfo(OrderSymbol(),MODE_BID),MarketInfo(OrderSymbol(),MODE_DIGITS)),3,CLR_NONE);
if(OrderType()==OP_SEL)
sonuç=OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(MarketInfo(OrderSymbol(),MODE_ASK),MarketInfo(OrderSymbol(),MODE_DIGITS)),3,CLR_NONE);
if(OrderType()==OP_BUYLIMIT || OrderType()==OP_BUYSTOP || OrderType()==OP_SELLLIMIT || OrderType()==OP_SELLSTOP)
OrderDelete(OrderTicket());
if(sonuç!=DOĞRU)
{
error=GetLastError();
Print("LastError = ",hata, " ",Symbol());
}
başka
hata=0;
}
başka
Print("Sipariş seçerken hata oluştu", GetLastError());
}
}
//+------------------------------------------- --------------------+
//| |
//+------------------------------------------- --------------------+
dönüş(0);
}
Bildirilen değişkenler olmadan kod burada.
kod eklenmelidir Alt + S
ve fonksiyon nerede?
nasıl derledin Hatalar yok ?
kod eklenmelidir Alt+S
ve fonksiyon nerede?
nasıl derledin Hatalar yok ?
aşağıdaki işlev. Hatasız derleme. Ayarlanmayı başaran satış tarafı, diğerlerinde açık olanlar olsa bile belirli bir enstrümanda bir anlaşma açar
aletler. Ancak satın alma tarafı, her tikte yapılan anlaşmalarla mahvoldu ve hepsi bu
kod eklenmelidir Alt+S
ve fonksiyon nerede?
nasıl derledin Hatalar yok ?
Şu anda kod bu şekilde. Satış tarafı tamam, ancak satın alma tarafı her tikte bir ticaret
satın alma tarafında, aynısını yapın
satın alma tarafında, aynısını yapın
IsTradeToDay işlevinde tam olarak neyin değiştirilmesi gerektiğini çözemiyorum, böylece alım tarafında satış tarafındakiyle aynı olur. Satın alma tarafı hala çalışmıyor :(