Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz, hiçbir yerde - 6. - sayfa 815
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
Sizce bu döngü ne zaman bitmeli?
?
Sabit:
if(R==0)
{
while(true)
{
Sleep(30000);
Alert("Ошибка!");
DeleteBuy=OrderDelete(OrderTicketBuy);
DeleteSell=OrderDelete(OrderTicketSell);
return(1);
}
}
Kâr hesabı da.
while (true) döngüsüne bir mesaj ve hata işleme eklendi. Döngü çalışıyor, mesaj yazılıyor, hata yok. Ancak koşula göre geçmiyor, veriler güncellenmiş gibi görünmüyor.
while (true) döngüsüne bir mesaj ve hata işleme eklendi. Döngü çalışıyor, mesaj yazılıyor, hata yok. Ancak koşula göre geçmiyor, veriler güncellenmiş gibi görünmüyor.
Sana daha fazla ipucu vereceğim.
Bu döngü tüm siparişleri dikkate almaz, ayrıca aynı türden birden fazla sipariş varsa (örneğin, üç ara sipariş verilir), o zaman ne olacak?
Burada önce emir tipine bakılır ve ancak ondan sonra bu emir seçilir, genel olarak tam tersi olması gerekir, önce emir seçilir, eğer emir seçilirse tipine bakıp her şekilde alay eder. :
Ve "troll-stoploss tipini değiştir" de, neden tam olarak her yerde devam ??? Ve bu satır bir ve ikinci anahtarda ne zaman yürütülecek?
Burada önce emir tipine bakılır ve ancak ondan sonra bu emir seçilir, genel olarak tam tersi olması gerekir, önce emir seçilir, eğer emir seçilirse tipine bakıp her şekilde alay eder. :
Yani burada:
if(R==1)//238
{
Alert("yes");
R=0;
SelectBuy=OrderSelect(OrderTicketBuy,SELECT_BY_TICKET);
}
if(R==2)//245
{
Alert("yes");
R=0;
SelectSell=OrderSelect(OrderTicketSell,SELECT_BY_TICKET);
}
Ve "hangi-tür-trol-stoploss-stoploss değiştir" ( = D. Neyi sevmiyorsun? Bence seçenek çok açık. ), neden her yere devam ??? Ve bu satır bir ve ikinci anahtarda ne zaman yürütülecek?
Böylece koşulu kırar:
Timen=OrderCloseTime();
if(Timen>0)
{
DeleteSell=OrderDelete(OrderTicketSell);
OldProfit=0;
WarBuy=true;
break;
}
Genel olarak, evet, ara, OrderClose satırında daha iyi görünecektir. Daha sonra OrderDelete'i de kaydetmeniz gerekecektir.
Sana daha fazla ipucu vereceğim.
Bu döngü tüm siparişleri dikkate almaz, ayrıca, aynı türden birden fazla sipariş varsa (örneğin, üç bystop siparişi verilir), o zaman ne olacak?
OrdersTotal 1'den ve OrderSelect 0'dan gelir. Bu doğru.
1 finansal araçta aynı türden birden fazla emir mi var? Hariç tutuldu. Ama tekrar bakacağım.
Buna mümkün olduğunca yakın bir koşula ihtiyacınız var: "if MA==fiyat, o zaman".
Bu gidecek:
if((MA>Open[0] && MA<Close[0]) || (MA<Open[0] && MA>Open[0]))
Not: Yeni Yılınız Kutlu Olsun!
Yeni Yılın Kutlu Olsun!
Geçenlerde MQL 4 öğrenmeye başladım ve bir soru sormak istedim:
Örneğin, bir sipariş açmak için bir şartım var:
if (Teklif>=SS+5*Puan)
OrderSend (Symbol(),OP_BUY,Lot,Ask,10,Ask-SL*Point,Ask+TP*Point,NULL,Magic,0,Green);
Şimdi asıl soru şu: İlk emrin 10 puan veya daha fazla kârı varsa ikinci emrin açılması için hangi koşul yazılmalıdır?
Yeni Yılın Kutlu Olsun!
Geçenlerde MQL 4 öğrenmeye başladım ve bir soru sormak istedim:
Örneğin, bir sipariş açmak için bir şartım var:
if (Teklif>=SS+5*Puan)
OrderSend(Symbol(),OP_BUY,Lot,Ask,10,Ask-SL*Point,Ask+TP*Point,NULL,Magic,0,Green);
Şimdi asıl soru şu: İlk emrin 10 puan veya daha fazla kârı varsa ikinci emrin açılması için hangi koşul yazılmalıdır?
Burada arama yapın, hemen hemen tüm durumlar için birçok işlev vardır.
https://www.mql5.com/ru/forum/131859
Yeni Yılın Kutlu Olsun!
Geçenlerde MQL 4 öğrenmeye başladım ve bir soru sormak istedim:
Örneğin, bir sipariş açmak için bir şartım var:
if (Teklif>=SS+5*Puan)
OrderSend(Symbol(),OP_BUY,Lot,Ask,10,Ask-SL*Point,Ask+TP*Point,NULL,Magic,0,Green);
Şimdi asıl soru şu: İlk emrin 10 puan veya daha fazla kârı varsa ikinci emrin açılması için hangi koşul yazılmalıdır?
Önceden Order OrderSelect'i seçmiş olmak (birinci siparişin Bilet_si, SELECT_BY_TICKET);
if(OrderOpenPrice()+10*Puan==Sor)
OrderSend(Symbol(),OP_BUY,Lot,Ask,10,Ask-SL*Point,Ask+TP*Point,NULL,Magic,0,Green);
Нужно условие максимально приближенное к этому: "если MA==цене, то".
Такое пойдет:
if((MA>Open[0] && MA<Close[0]) || (MA<Open[0] && MA>Open[0]))
Yaşasın, işe yarıyor gibi görünüyor. Gereksiz işlemlerin yapılmaması için her döngüye bir dönüş ve bir "O" operatörü ekledim.
Bir sorun: siparişler çarpık bir şekilde veriliyor - durumu nasıl formüle edeceğimi bilmiyorum.
merhaba, bu soruyu burada sorardım, sorunun tüccarda olduğunu söylediler. bu destekte bunun terminalde bir sorun olduğunu söylediler. Metatrader 4'te de aynı sorunla karşılaşıp karşılaşmadığınızı görün. Önemliyse, bir forexstart tüccarım var.
Sonuç olarak, dakika çizelgesinde çalışan bir ticaret robotu yazdım . tarihi tahlil eder. Birçok çizelgede, saatlik - günlük - yıllık grafikte geçmiş olmasına rağmen, yaklaşık bir buçuk ay için geçmiş sağlanır ve daha fazla değil. Belli bir tarihe kadar geri döndüğü, ardından bir ara verdiği ve grafik birkaç ay önce devam ettiği, ancak her şey yukarıdaki çizelgelerde tekrar olmasına rağmen hala böyle durumlar var.
onunla nasıl savaşabilirsin?
merhaba, bu soruyu burada sorardım, sorunun tüccarda olduğunu söylediler. bu desteklerde bunun terminalde bir sorun olduğunu söylediler. Metatrader 4'te de aynı sorunla karşılaşıp karşılaşmadığınızı görün. Önemliyse, bir forexstart tüccarım var.
Sonuç olarak, dakika çizelgesinde çalışan bir ticaret robotu yazdım. tarihi tahlil eder. Birçok çizelgede, saatlik - günlük - yıllık grafikte geçmiş olmasına rağmen, yaklaşık bir buçuk ay için geçmiş sağlanır ve daha fazla değil. Belirli bir tarihe kadar geri döndüğü, ardından bir ara verdiği ve grafik birkaç ay önce devam ettiği, ancak her şey yukarıdaki çizelgelerde tekrar olmasına rağmen hala böyle durumlar var.
onunla nasıl savaşabilirsin?