[Arşivle!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 2. - sayfa 234

 
sergeev :

sınanmış. sıkışmış değil.


OrderClose'da 129 hatası verdi

RefreshRates'i önüne koyun.

Hatasız kapatıldı


Evet, ben de aynısını yaptım, ancak bazen çalışmayı durduruyor (terminalin kendisi değil, danışman)

 
doon :
Lütfen bu kodun neden bazen tek bir yerde donduğunu ve devam ettirmek için terminali yeniden başlatmanız gerektiğini açıklayın.


Size doğrudan soruldu - Hangi satırda donuyor?

Kodunuz aynı siparişi açar ve hemen kapatır ve çok iyi belgelenmiştir, bu nedenle kodun ulaştığı Uyarılarda hemen görünür olmalıdır. Yoksa sadece kodun bir parçası mı?

 
Roger :


Size doğrudan soruldu - Hangi satırda donuyor?

Kodunuz aynı siparişi açar ve hemen kapatır ve çok iyi belgelenmiştir, bu nedenle kodun ulaştığı Uyarılarda hemen görünür olmalıdır. Yoksa sadece kodun bir parçası mı?


Hayır, tüm kod bu. Ve açılış ve kapanış emirleri sırasında durur (ancak her zaman değil).

 
Koddaki ask ve bid'i MarketInfo( Symbol() ,MODE_ASK) ve MarketInfo(Symbol(),MODE_BID ile değiştirin), çalışması gerekir
 

Bundan:

 OrderSend ( Symbol (), OP_BUY, 1 , Ask, 10 , 0 , 0 , "dsgdsf" , 0 , 0 , CLR_NONE );

bu konuda:

 OrderSend ( Symbol (), OP_BUY, 1 , MarketInfo( Symbol (),MODE_ASK), 10 , 0 , 0 , "dsgdsf" , 0 , 0 , CLR_NONE );
?
 

Hayır, hala kapanıyor.

4 dakikalık donmadan sonra bunun bir hata olduğu ortaya çıktı 128 ( Deal timeout süresi doldu ).

Belki bu yardımcı olur?

 

Değerli meslektaşlarım, MQL programlaması açısından hala tam bir "çaydanlık" sayılırım, bu konuyu çok yakın zamanda incelemeye başladım. Ama ilk Uzman Danışmanımı yazmaya başladım, en azından deniyorum.

Bu konunun 182. sayfasında, bu Uzman Danışmanın ticaret yapması gereken ticaret kriterlerini özetledim. Lütfen orada ne yazdığına bakın (sayfadaki son gönderi). Zaten üç haftadır uğraşıyorum ve kodun alım satım kriterlerinden sorumlu kısmını buraya yazamıyorum. Ders kitabında bu konuya ayrılmış bölümü okudum, ancak bu özel durumda bana yardımcı olmadı.

Programlama ile mücadele ettiğim süre boyunca, kodun bu bölümünün birkaç düzine farklı versiyonunu yazmayı başardım, ama ne yazık ki, hiçbiri gerektiği gibi çalışmıyor. Tabi benim bilgim yeterli değil, MQL çok hızlı ustalaşma. Genel olarak, olması gerektiği gibi, en azından yaklaşık olarak işlem gören kod seçeneklerinden birini yayınlıyorum.

//+-------------------------------------------------------------------------------------+
//| Расчет значений технических индикаторов с формированием сигналов для позиций        |
//+-------------------------------------------------------------------------------------+
void GetSignal()
{
 Signal = 0 ;
// - 1 - == Получение значений индикаторов ==============================================
 double SAR = iSAR ( Symbol (), 0 , SARStep, SARMaximum, 0 );
 double EnvUp = iEnvelopes ( Symbol (), 0 , EnvPeriod, EnvMethod, EnvShift, EnvPrice,
 EnvDeviation, MODE_UPPER, 1 );
 double EnvDn = iEnvelopes ( Symbol (), 0 , EnvPeriod, EnvMethod, EnvShift, EnvPrice,
 EnvDeviation, MODE_LOWER, 1 );
 double StochM = iStochastic ( Symbol (), 0 , StochK, StochD, StochSlowing, StochMethod,
 StochPrice, MODE_MAIN, 1 );
 double StochS = iStochastic ( Symbol (), 0 , StochK, StochD, StochSlowing, StochMethod,
 StochPrice, MODE_SIGNAL, 1 );
// - 1 - == Окончание блока =============================================================

// - 2 - == Генерация сигнала ===========================================================
 if (SAR < Low[ 1 ])
   {
    Signal = 3 ;                                                           // Закрытие SELL
     if (StochM > StochS && StochM >= 80 && StochS >= 80 && High[ 1 ] >= EnvUp && SAR < Open[ 1 ])
      Signal = 1 ;                                                         // Открытие BUY
   }   
 
 if (SAR > High[ 1 ])
   {
    Signal = 4 ;                                                           // Закрытие BUY
     if (StochM < StochS && StochM <= 20 && StochS <= 20 && Low[ 1 ] <= EnvDn && SAR > Open[ 1 ])
      Signal = 2 ;                                                         // Открытие SELL
   }   
// - 2 - == Окончание блока =============================================================
}


Kodun tamamen kavisli, eğik ve genel olarak bölme konumlarında olduğunu biliyorum. ve satış takas edilir. Ancak bu, Stokastik ve Zarfların birbirini görmezden gelmeden birlikte ticaret yaptığı tek kod seçeneğidir. Aynı zamanda, bazı nedenlerden dolayı, ticaret yaparken Parabolik sinyaller hiç dikkate alınmaz. Genel olarak, böyle bir "aşırı heveslilik" için beni azarlamamanızı rica ediyorum, kodun doğru olmadığını çok iyi anlıyorum.

Lütfen EA kodunu düzeltmeme yardım edin. Kronik olarak başarısızım. Birkaç basit stratejiyi (Hareketler + Momentum; Hareketler + RSI ) uygulamak zaten mümkün oldu, ancak bu hiç çalışmıyor. Bana yardım etmen için sana yalvarıyorum. Danışmanın 182. sayfada anlattığım kurallara göre işlem yapması için lütfen yanlış satırları yeniden yazın. Çok gerekli.

s. _ S .: Hazır MQL şablonları kullandığım için EA kodunu tam olarak yayınlamadım .

 
doon :

Hayır, hala kapanıyor.

4 dakikalık donmadan sonra bunun bir hata olduğu ortaya çıktı 128 ( Deal timeout süresi doldu ).

Belki bu yardımcı olur?


Kahretsin, işlem merkezini şimdiden değiştirin - herhangi bir ipucu olmadan, aynı koddaki ticaret emirlerinin normal bir şekilde devam etmesi durumunda, ardından askıda kalırsa, sunucunun öldüğü açıktır. Sipariş gitti ve 4 dakika boyunca geri dönmedi. Gerçekten bu sunucu üzerinden gerçek ticaret işlemleri yapacak mısınız? Evet, kendinizi zaten çaprazlayın ve birkaç kez farklı DC'ler değişti. Biri sana bilgisayar öğretti mi? Bu bir daktilo veya oyun konsolu değil - bilgi gerektiriyor . Bu çalışma ve sıkı çalışmadır. Komut satırı, dosyaların nasıl açılacağı hakkında en azından temel bir fikriniz ve en azından bir bilgisayar ağının nasıl çalıştığı hakkında temel fikirleriniz olsaydı, tamamen farklı sorular sorar ve size yardımcı olmaktan memnuniyet duyardınız. Şimdi tek ihtiyacınız olan DC'nizin sunucusuna doğru bir şekilde ping atmak ve diğer DC'lerin sunucularının yanıt süreleriyle karşılaştırmak için sunucu yanıt süresini elde etmektir. Bütün bunlara dakikalar harcadıktan sonra, kurum, 30, neler olduğunu kendin anlarsın. En azından Expert Advisor ve sunucunun nasıl etkileşime girdiğini özetlemeye çalışırsanız, DC sunucunuzun MQL4 araçlarını kullanarak ticaret emirlerini ne kadar hızlı yerine getirdiğini bile ölçebilirsiniz.

Hiç bir kelime yok. Peki, kendi işinizin süreci konusunda nasıl bu kadar dikkatsiz olabiliyorsunuz?

 

daytrader19 :

Danışmanın 182. sayfada anlattığım kurallara göre işlem yapması için lütfen yanlış satırları yeniden yazın.

Not.

1) "iki hattın kesişmesi" sinyali için "satır1[1]>satır2[1]" koşulu yeterli değildir. "line1[1]>line2[1]&&line1[2]<line2[2]" gerekiyor

2) parabolik Open ile değil, High ve Low ile karşılaştırılmalı ve sıfır çubuğunda hesapladığınıza dikkat edin ve Open[1] değerini ilkinden alın.

 
doon :

Hayır, hala kapanıyor.

4 dakikalık donmadan sonra bunun bir hata olduğu ortaya çıktı 128 ( Deal timeout süresi doldu ).

Belki bu yardımcı olur?


Bu aynı zamanda İnternet kötü olduğunda, örneğin çok fazla torrent indirdiğinizde de olur. Ama şimdi pazartesiye kadar kontrol edemezsiniz.