[UYARI, KONU KAPALI!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde. - sayfa 1127
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
yardımın için çok teşekkürler =)
Test cihazında göstergenin uyarı penceresini dışarı atmadığını, bunun yerine günlüğe uyarı mesajları yazdığını unutmayın. Yine de, bu tür kod parçalarını komut dosyalarıyla ayıklamak daha iyidir - daha hızlı sonuç verir.
Yine de, gösterge mesajları, garip bir şekilde, test cihazında test günlüklerine değil, gerçek zamanlı günlüklere yazılır.
http://www.google.ru/search?as_sitesearch=mql4.com&as_q=%EA%EE%EC%E8%F1%F1%E8%FF+%E2+%F2%E5%F1%F2%E5%F0%E5
"Alnında" sorun çözülmedi.
böyle olabilir mi
ya da buldum
teşekkür etmek!
Koşulların nasıl çalıştığını tam olarak anlamıyorum.
Fraktal göstergenin nasıl çalıştığını, MODE_UPPER ve MODE_LOWER arasındaki farkı analiz etmeye karar verdim ve böyle çöpler yazdım
int başlangıç()
{int y;
y= WindowFirstVisibleBar();Alert("y",y);
(;y>=0;y--) için
{ double up=iFractals(Symbol(),PERIOD_M15,MODE_UPPER,y);
double down=iFractals(Symbol(),PERIOD_M15,MODE_LOWER,y);
if (yukarı>=1||aşağı>=1){
Alert("Önceki üst fraktal:", yukarı, " Önceki alt fraktal:", aşağı);Alert("y",y);}}
WindowFirstVisibleBar() grafikteki çubukların sayısını verir, EA'dan if (up>=1||down>=1) silerseniz bu şey çalışır, mükemmel bir sayılan çubuk aralığı verir, ancak çok sayıda çubuk vardır. onlara.
Sanki || veya işareti, koşullardan en az biri doğruysa veya her ikisi de aynı anda doğruysa, x {} parantezinde yazılanı yapıyor gibi görünüyor, değil mi?
Benim için hiçbir şey değişmedi!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Her şey doğru yazılmış gibi görünüyor.Yardım edin !!!!!!! Açıklayın !!!!!!
Koşulların nasıl çalıştığını tam olarak anlamıyorum.
Fraktal göstergenin nasıl çalıştığını, MODE_UPPER ve MODE_LOWER arasındaki farkı analiz etmeye karar verdim ve böyle çöpler yazdım
int başlangıç()
{int y;
y= WindowFirstVisibleBar();Alert("y",y);
(;y>=0;y--) için
{ double up=iFractals(Symbol(),PERIOD_M15,MODE_UPPER,y);
double down=iFractals(Symbol(),PERIOD_M15,MODE_LOWER,y);
if (yukarı>=1||aşağı>=1){
Alert("Önceki üst fraktal:", yukarı, " Önceki alt fraktal:", aşağı);Alert("y",y);}}
WindowFirstVisibleBar() grafikteki çubukların sayısını verir, EA'dan if (up>=1||down>=1) silerseniz bu şey çalışır, mükemmel bir sayılan çubuk aralığı verir, ancak çok sayıda çubuk vardır. onlara.
Sanki || veya işareti, koşullardan en az biri doğruysa veya her ikisi de aynı anda doğruysa, x {} parantezinde yazılanı yapıyor gibi görünüyor, değil mi?
Benim için hiçbir şey değişmedi!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Her şey doğru yazılmış gibi görünüyor.Yardım edin !!!!!!! Açıklayın !!!!!!
normalde kodu karşı-alt - M - ile yerleştirin - ünlem olmadan daha hızlı bir cevap alırsınız.
Sanki ||
https://docs.mql4.com/ru/basis/operations/bool
Mantıksal VEYA işlemi.
Tehdit karşı alto - M - SRC'nin bir düğmeye basıp kodu bu düğmeye eklemesi gibidir.
Bana önerdiğin kodu bükmeye çalıştım. Sonuç her zaman aynıdır - gün boyunca esnaf açmaya devam eder. Açma / kapama yeteneğini korumak istediğimi tekrar ediyorum.
İşte denenmiş ve test edilmiş seçenekler:
extern bool WaitForNewDay = true;
geçersiz başlangıç()
{
KOBİ=Sembol();
dönüş;
}
geçersiz başlangıç()
{
bool Ticaret=true;
if(WaitForNewDay){if(HistoryBuy(MAGICMA)+HistorySell(MAGICMA)!=0) Takas=yanlış;}
if(CalculateCurrentOrders(Symbol())==0 && Ticaret)
{CheckForOpen(); dönüş;}
}
//------------------------------------------------ -----------------
int GeçmişSatın Al(int MAGICMA)
{int BuyOrders=0;
for (int i=OrdersHistoryTotal()-1;i>=0;i--) {
if (!OrderSelect(i, SELECT_BY_POS, MODE_TRADES)){
Print(" ",GetLastError()," ",i);
}
başka {
if(OrderSymbol()!= SMB || OrderMagicNumber()!= MAGICMA){ devam;}
if(OrderType()==OP_BUY){
if(OrderOpenTime()>=iTime(SMB, PERIOD_D1 ,0)){
Satın AlmaSiparişleri++;
}
}
}
}
iade(Siparişler);
}
//------------------------------------------------ -----------------
int HistorySell(int MAGICMA){
int SatışSiparişleri=0;
for (int i=OrdersHistoryTotal()-1;i>=0;i--){
if (!OrderSelect(i, SELECT_BY_POS, MODE_TRADES)){
Print(" ",GetLastError()," ",i);
}
başka {
if(OrderSymbol()!=SMB || OrderMagicNumber()!=MAGICMA){ devam;}
if(OrderType()==OP_SEL){
if(OrderOpenTime()>=iTime(SMB,PERIOD_D1,0)){
SatışSiparişleri++;
}
}
}
}
iade(Sipariş Sat);
}
/////////////Başka bir varyant///////////////////
extern bool WaitForNewDay = true;
ticaret=doğru;
geçersiz başlangıç()
{
KOBİ=Sembol();
if(WaitForNewDay) {Ticaret=yanlış;}
dönüş;
}
geçersiz başlangıç()
{
if(WaitForNewDay) {if(HistoryBuy(MAGICMA)+HistorySell(MAGICMA)==0) Ticaret=true;}
if(CalculateCurrentOrders(Symbol())==0 && Ticaret)
{CheckForOpen(); takas=yanlış; dönüş;}
}