[UYARI, KONU KAPALI!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde. - sayfa 1127

 
drknn :
yardımın için çok teşekkürler =)
 
Alexandr24 :
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.

 
Bir test cihazında bir danışmanı test ederken komisyon nasıl dikkate alınır?
 
Test cihazı belirli bir komisyoncunun tüm ayarlarını kullandığından, dikkate alınmış görünüyor. Daha doğrusu, arama söyleyecektir.
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
 
Abzasc :

"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 !!!!!!

 
Dimka-novitsek :

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.
 
karşı-alto aracılığıyla - M - Ve daha ayrıntılı olarak?
 
Dimka-novitsek :

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.

 
drknn :

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üş;}

}

Neden: