Yeni başlayanlardan sorular MQL5 MT5 MetaTrader 5 - sayfa 646

 
Tra-der :
İki MT5 terminali vardır. Görev: Bir terminalde yalnızca uzun işlemlere ve diğerinde yalnızca kısa işlemlere izin verilecek şekilde komut dosyaları yazmak mümkün müdür?
#define ORDER_TYPE_BUY ORDER_TYPE_BUY_STOP    // поставить в самом начале советника, если нужно отказаться от BUY-сделок
#define ORDER_TYPE_SELL ORDER_TYPE_SELL_STOP // поставить в самом начале советника, если нужно отказаться от SELL-сделок
 
Tra-der :
İki MT5 terminali vardır. Görev: Bir terminalde yalnızca uzun işlemlere ve diğerinde yalnızca kısa işlemlere izin verilecek şekilde komut dosyaları yazmak mümkün müdür?

Uzman Danışmanınıza bir girdi parametresi girin ve başlangıçta kendisine atanan değere bağlı olarak, yalnızca satın alacak veya yalnızca satacaksınız:

input bool Long= true ;             // allow only "Long"
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
...
void OnTick ()
  {
   if (!Long)
      trade.Sell( 0.01 );
   if (Long)
      trade.Buy( 0.01 );
  }
 
Artyom Trishkin :

Bunun yeni bir üst veya alt olduğunu anlamak için, en son bulunan üst / alt zamanını hatırlamanız ve o anda bulduklarınızla karşılaştırmanız gerekir.

Teşekkürler, arabellek temiz.

Bulunan son köşenin zamanını hatırlamak için onu bir şekilde bulmanız gerekir.

Bu nasıl yapılır, bulunan son zirvenin zamanı nasıl bulunur ?

 
mila.com :

Teşekkürler, arabellek temiz.

Bulunan son köşenin zamanını hatırlamak için onu bir şekilde bulmanız gerekir.

Bu nasıl yapılır, bulunan son zirvenin zamanı nasıl bulunur ?

1. Son ZigZag ekstremumunun zamanını saklamak için statik bir değişken tanımlayın, sıfıra sıfırlayın.

2. Zirveyi bulun, zamanı statik değişkendeki zamana eşit değilse, gerekli ekstremumu bulduğunuzu düşünün ve bu değişkendeki yeni zamanı hatırlayın.

3.Git (2);

 

Sevgili programcılar!

Yayılmanın arttığını bulmanın bir yolunu önerin.

Görev şudur: yeni bir güne geçerken, DC yayılımı genişletir ve bazen bazı çiftler için delirir - normal olanı 3-5 kat aşar. Farklı DC'lerde günün geçişi, 23-59'daki biri için ve 20-59'daki biri için zaman açısından farklıdır.

Yayılımın pratik olarak değişmediği çiftler vardır, yani robotta "Zamanında çalışma" seçeneğinin kesilmesi bir seçenek değildir, çünkü çift için yayılma değişmediyse, ticareti yasaklamaya gerek yoktur. .

Şimdi asıl soru: Parite için yayılmanın çok yüksek olduğunu ve robotun şu anda pozisyon açmasını nasıl yasakladığını nasıl öğreneceğiz. Son 5-7 çubuk için yayılma boyutunu her yeni çubukta bir dosyaya kaydetme seçeneğini görüyorum, ardından hepsini toplayıp miktara bölerek ortalama yayılımı bulup 1,2 - 1,4 (yedek) ile çarpma seçeneğini görüyorum. , ancak bir şekilde dosyaları kaydetmek ve üretmek ilginç değil ve bunun ortalama yayılma boyutunu hesaplamak için doğru çözüm olduğundan emin değilim. Ayarlara izin verilen maksimum yayılmayı manuel olarak girerseniz, bu, botun çalıştırılması açısından çok banal ve ilgi çekici değildir.

Terminali yeniden başlatmaktan ve elektrik kesintisi durumunda acil kapatmadan korkmamak için soruna en uygun çözümü söyleyin. Ayrıca, her tıklamada yeniden hesaplama yapmaması için programı minimum düzeyde yükleyen bir çözüme sahip olmak da arzu edilir.

Teşekkür ederim!

 
Vitaly Muzichenko :

Sevgili programcılar!

Yayılmanın arttığını bulmanın bir yolunu önerin.

Görev şudur: Yeni bir güne geçerken, DC yayılımı genişletir ve bazen bazı çiftler için delirir - normal olanı 3-5 kat aşar. Farklı DC'lerde günün geçişi, 23-59'daki biri için ve 20-59'daki biri için zaman açısından farklıdır.

Yayılımın pratik olarak değişmediği çiftler vardır, yani robotta "Zamanında çalışma" seçeneğinin kesilmesi bir seçenek değildir, çünkü çift için yayılma değişmediyse, ticareti yasaklamaya gerek yoktur. .

Şimdi asıl soru: Parite için yayılmanın çok yüksek olduğunu ve robotun şu anda pozisyon açmasını nasıl yasakladığını nasıl öğreneceğiz. Son 5-7 çubuk için yayılma boyutunu her yeni çubukta bir dosyaya kaydetme seçeneğini görüyorum, ardından hepsini toplayıp miktara bölerek ortalama yayılımı bulup 1,2 - 1,4 (yedek) ile çarpma seçeneğini görüyorum. , ancak bir şekilde dosyaları kaydetmek ve üretmek ilginç değil. Ayarlara izin verilen maksimum yayılmayı manuel olarak girerseniz, bu, botun çalıştırılması açısından çok banal ve ilgi çekici değildir.

Lütfen en iyi çözümü önerin. Teşekkür ederim!

Belki bonalno, ama kısıtlamayı manuel olarak giriyorum. Ve eğer Yeni Yıl tatillerinde son N mumlar için yayılma normalden 3 kat daha fazlaysa ve geceleri 3 kat daha fazla mı? daha sonra analiz sistemi x3 yayılmasını norm olarak algılayacaktır. Bence bir kişi gerçek hayatta ticaret yapıyorsa, ortalama çalışma yayılımını manuel olarak tahmin etmesi ve bir eşik belirlemesi onun için zor değildir. Her ne kadar sorunuzu çözmekle de ilgilensem de)
 
Nedir bu TS mantığı, yayılmaya bu kadar bağımlı mı?!
 
fxsaber :
Nedir bu TS mantığı, yayılmaya bu kadar bağımlı mı?!

Tamam, öyle olsun. Örneğin, burada spread genişlemesi üç kat bile değil, daha fazla ve piyasaya 20pp'lik bir spread ile girerseniz, normal olanı 4-6pp iken, bu normal değil ve bunları kesmeniz gerekiyor. anlar.

 
Vitaly Muzichenko :

Tamam, öyle olsun. Örneğin, burada spread genişlemesi üç kat bile değil, daha fazla ve piyasaya 20pp'lik bir spread ile girerseniz, normal olanı 4-6pp iken, bu normal değil ve bunları kesmeniz gerekiyor. anlar.

Peki, SATIŞ yapacaksanız teklife odaklanın. Neyin yayıldığının farkı ne? Tamam, artık rahatsız etmiyorum.
 
Vitaly Muzichenko :

Tamam, öyle olsun. Örneğin, burada spread genişlemesi üç kat bile değil, daha fazla ve piyasaya 20pp'lik bir spread ile girerseniz, normal olanı 4-6pp iken, bu normal değil ve bunları kesmeniz gerekiyor. anlar.

Küresel yardım etmeyecek mi?
Neden: