MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma - sayfa 249
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
Bu nasıl bir hata, anladığım kadarıyla, DC'nin kötü çalışması mı?
Bu nasıl bir hata, anladığım kadarıyla, DC'nin kötü çalışması mı?
128
ERR_TRADE_TIMEOUT
İşlem zaman aşımı süresi doldu
İşleyiciden bir parça:
128
ERR_TRADE_TIMEOUT
İşlem zaman aşımı süresi doldu
İşleyiciden bir parça:
Kodda bu hata işlemeleri var, ancak bunlar hiç olmadı, bugün bir şekilde programı popüler bir DC'nin demosunda test etmeye karar verdim ve ilk defa böyle bir saçmalık ile karşılaştım.
Genel olarak, bunun DC'deki ekipmanla ilgili bir sorun olduğunu ve benim tarafımda olmadığını doğru anlıyor muyum?
Lütfen işlevin doğru olup olmadığını bana bildirin. Buradaki fikir, belirli sayıda önceki mum sırasında fiyatın ortalamayı geçip geçmediğini hesaplamaktır.
bu işlev hiç yürütülmez, sonuç eksik. sonuç şöyle olmalıdır: delinmemişse returnToMA ==1, delinmişse returnToMA ==0
Belki soruna başka çözümler de vardır?
returnToMA = MAtouch(TRADE_TF2,TRADE_TF2_MA,barscount)
int MAtouch(ENUM_TIMEFRAMES tfpricereturnafterbreak=PERIOD_Н4, int ticaret=10, int çubuklar=100)
{
for(i=0;i<=bars;i++)
{
if(iLow( Symbol() ,tfpricereturnafterbreak,i)<=iMA(Symbol(),tfpricereturnafterbreak,tradema,0,MODE_EMA,PRICE_WEIGHTED,i)) {return(0);break;}
if (iHigh(Symbol(),tfpricereturnafterbreak,i)>=iMA(Symbol(),tfpricereturnafterbreak,tradema,0,MODE_EMA,PRICE_WEIGHTED,i)) {return(0);break;}
başka dönüş(1);
}
Lütfen işlevin doğru olup olmadığını bana bildirin. Buradaki fikir, belirli sayıda önceki mum sırasında fiyatın ortalamayı geçip geçmediğini hesaplamaktır.
bu işlev hiç yürütülmez, sonuç yoktur. sonuç şöyle olmalıdır: delinmemişse returnToMA ==1, delinmişse returnToMA ==0
Belki soruna başka çözümler de vardır?
İşlevde her zaman sıfıra sahip olacaksınız - çünkü maksimum veya minimum her zaman MA'dan büyük/küçük veya MA'ya eşittir.
Sizin durumunuzda mum en az iki parametre ile tanımlanmalıdır:
1. Mumun nerede açıldığını belirleyin - MA'nın üstünde veya altında
2. Madde 1'e bağlı olarak, MA dokunuşu olup olmadığını kontrol edin.
İşlevde her zaman sıfıra sahip olacaksınız - çünkü maksimum veya minimum her zaman MA'dan büyük/küçük veya MA'ya eşittir.
Sizin durumunuzda mum en az iki parametre ile tanımlanmalıdır:
1. Mumun nerede açıldığını belirleyin - MA'nın üstünde veya altında
2. Madde 1'e bağlı olarak, MA dokunuşu olup olmadığını kontrol edin.
Teşekkürler. bir koşul ekledi, ancak sürekli döndürür 1. parantezleri bir yerde değiştirebilir misiniz? ya ara işlenmez ve işlev 1'in dönüş değerine atanmasını sonlandırır
int MAtouch(ENUM_TIMEFRAMES tfpricereturnafterbreak=PERIOD_Н4, int ticaret=10, int çubuklar=100)
{
for(i=0;i<=bars;i++)
{
Eğer( iLow( Symbol() ,tfpricereturnafterbreak,i)<=iMA(Symbol(),tfpricereturnafterbreak,tradema,0,MODE_EMA,PRICE_WEIGHTED,i)
&&iOpen(Symbol(),tfpricereturnafterbreak,i)>=iMA(Symbol(),tfpricereturnafterbreak,tradema,0,MODE_EMA,PRICE_WEIGHTED,i))
{dönüş(0);kesin;}
Eğer ( iHigh(Symbol(),tfpricereturnafterbreak,i)>=iMA(Symbol(),tfpricereturnafterbreak,tradema,0,MODE_EMA,PRICE_WEIGHTED,i)
&&iOpen(Symbol(),tfpricereturnafterbreak,i)<=iMA(Symbol(),tfpricereturnafterbreak,tradema,0,MODE_EMA,PRICE_WEIGHTED,i))
{dönüş(0);kesin;}
başka dönüş(1);
}
Teşekkürler. bir koşul ekledi, ancak sürekli döndürür 1. parantezleri bir yerde değiştirebilir misiniz? ya ara işlenmez ve işlev 1'in dönüş değerine atanmasını sonlandırır
int MAtouch(ENUM_TIMEFRAMES tfpricereturnafterbreak=PERIOD_Н4, int ticaret=10, int çubuklar=100)
{
for(i=0;i<=bars;i++)
{
Eğer( iLow(Symbol(),tfpricereturnafterbreak,i)<=iMA(Symbol(),tfpricereturnafterbreak,tradema,0,MODE_EMA,PRICE_WEIGHTED,i)
&&iOpen(Symbol(),tfpricereturnafterbreak,i)>=iMA(Symbol(),tfpricereturnafterbreak,tradema,0,MODE_EMA,PRICE_WEIGHTED,i))
{dönüş (0); ara;}
Eğer ( iHigh(Symbol(),tfpricereturnafterbreak,i)>=iMA(Symbol(),tfpricereturnafterbreak,tradema,0,MODE_EMA,PRICE_WEIGHTED,i)
&&iOpen(Symbol(),tfpricereturnafterbreak,i)<=iMA(Symbol(),tfpricereturnafterbreak,tradema,0,MODE_EMA,PRICE_WEIGHTED,i))
{dönüş (0); ara;}
başka dönüş(1);
}
böyle dene
Koşul karşılanırsa 1 döndürür - bir kesişme vardı - buna ihtiyacımız var mı?
böyle dene
Koşul karşılanırsa 1 döndürür - bir kesişme vardı - buna ihtiyacımız var mı?
teşekkürler, kodunuza göre saat gibi çalışır
Tünaydın!
Beyler, söyleyin bana, göstergeyi grafikte programlı olarak görüntülemek mümkün mü? Yoksa sadece manuel olarak mı?
Eğer öyleyse, hangi komut verilir?