MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma - sayfa 1382

 
Boris :

Yani... Belgeleri okudum (tekrar).

Soru. Sorun nedir? CopyTicksRange veya CopyTicks aracılığıyla sayılmaz

Okuyun ve devam edin... Belgelerden sizin için kişisel olarak kopyaladığım ve koyu kırmızıyla vurguladığım şeyi okuyana kadar okumaya devam edin.

Bu bir sıkıntı ... alıntılar yapışmaz ... çoğaltılması gerekecek ...

from_msc

[içinde] Kenelerin istendiği tarih. 01/01/1970 tarihinden itibaren milisaniye cinsinden belirtilir . from_msc parametresi belirtilmemişse, geçmişin en başından itibaren işaretler verilir. Keneler zaman >= from_msc ile döndürülür.

to_msc

[içinde] Onayların istendiği tarihe kadar. 01/01/1970 tarihinden itibaren milisaniye cinsinden belirtilir . Keneler <= to_msc ile döndürülür. to_msc parametresi belirtilmezse, geçmişin sonuna kadar olan tüm işaretler döndürülür.


 
Boris :

Yani... Belgeleri okudum (tekrar).

Soru. Sorun nedir? CopyTicksRange veya CopyTicks aracılığıyla sayılmaz

Benim için ortaya çıkan soru, örneğin, mkl5'i iyi bilmiyorum, bu Tarih kelimesi, Zaman değil. Ve buna göre soru, aynı tarih içerisinde geri dönüşün ne olacağıdır.

Ve ipucundan sonra. Milisaniye cinsinden zaman nasıl alınır?

 
Valeriy Yastremskiy :

Benim için ortaya çıkan soru, örneğin, mkl5'i iyi bilmiyorum, bu Tarih kelimesi, Zaman değil. Ve buna göre soru, aynı tarih içerisinde geri dönüşün ne olacağıdır.

Ve ipucundan sonra. Milisaniye cinsinden zaman nasıl alınır?

1 saniye = 1000 milisaniye. Ve "Tarih", "Tarih ve Saat" anlamına gelir, çünkü tür yalnızca tarih değil, tarih saattir.

 
Alexey Viktorov :

Okuyun ve devam edin... Belgelerden sizin için kişisel olarak kopyaladığım ve koyu kırmızıyla vurguladığım şeyi okuyana kadar okumaya devam edin.

Bu bir sıkıntı ... alıntılar yapışmaz ... çoğaltılması gerekecek ...


Kahretsin ... iyi, evet ... İşe yaradı!

 

mql4 ile ilgili SORU:

EA kodunda bir yayılma sınırı vardır, EA birkaç çizelgeye kurulur.

Giriş parametrelerine bir çift için ortalama spreadin girilmesi bir şekilde tamamen doğru değildir ve farklı işlem masaları için farklıdır.

Parite için ortalama yayılma 5pp'dir, ancak birkaç dakika boyunca 12pp'ye genişlediği zamanlar vardır ve bu bir rollover anı değildir.

Uzatılmış pozisyondaki açık pozisyonları değil ortalama spreadi hesaplamak için bunu nasıl otomatikleştirebilirim?

   MqlRates rates[]; 
   int copied= CopyRates ( NULL , PERIOD_M1 , 0 , 100 ,rates); 
   if (copied> 0 ) 
   for ( int e = ArraySize (rates)- 1 ; e >= 0 ; e--) {
     Print (e, "=" ,rates[e]. spread ); // всегда "0"
   }
 

Herkese merhaba, herhangi bir gösterge kullanmadan bir anlaşmayı açmak ve kapatmak için böyle bir algoritmaya dayalı bir uzman nasıl oluşturulabilir ve nasıl

örneğin iki çizgi alıyoruz, bir trend çizgisi yukarı diğeri de aşağıda, üst üste uzanıyor, iki çizgi arasında bir kesişme noktası beliriyor, diyelim ki bu nokta zaman içinde 15-30'da, sonra herhangi bir şekilde başlamak için siparişin tam olarak aynı anda otomatik olarak nasıl açılacağı, algoritmanın bu noktaları bulmasını ve   pozisyon aç ? Açıklama ve görüşlerinizi rica ediyorum.

Böyle bir T3'e dayalı bir Uzman Danışman yapmak mümkün müdür?
Совершение сделок - Торговые операции - Справка по MetaTrader 5
Совершение сделок - Торговые операции - Справка по MetaTrader 5
  • www.metatrader5.com
Торговая деятельность в платформе связана с формированием и отсылкой рыночных и отложенных ордеров для исполнения брокером, а также с управлением...
 
Vitaly Muzichenko :

mql4 ile ilgili SORU:

EA kodunda bir yayılma sınırı vardır, EA birkaç çizelgeye kurulur.

Giriş parametrelerine bir çift için ortalama spreadin girilmesi bir şekilde tamamen doğru değildir ve farklı işlem masaları için farklıdır.

Parite için ortalama yayılma 5pp'dir, ancak birkaç dakika boyunca 12pp'ye genişlediği zamanlar vardır ve bu bir rollover anı değildir.

Uzatılmış pozisyondaki açık pozisyonları değil ortalama spreadi hesaplamak için bunu nasıl otomatikleştirebilirim?

İyi bir yayılma için her tike bakmanız gerekir. Geyik için keskin bir artış ile tüccarların söylemlerine ve sorunlarına bakılırsa. Sorun anladığım kadarıyla uzun, geniş bir yayılmada değil, bu sorunların en küçüğünde değil, yayılmada keskin, büyük ve kısa süreli bir artışta.

Özelliklerde belirtilen sembole bakar, ortalama olarak alır ve makul bir şekilde artırarak siparişleri açmadan önce bir koşul koyardım. Ve kapanış veya değişiklik için, yayılmaya da bakardım. Peki ya yayılım son 3 - 10 kene ortalamasına göre izlendi.

 
Valeriy Yastremskiy :

İyi bir yayılma için her tike bakmanız gerekir. Geyik için keskin bir artış ile tüccarların söylemlerine ve sorunlarına bakılırsa. Sorun anladığım kadarıyla uzun, geniş bir yayılmada değil, bu sorunların en küçüğünde değil, yayılmada keskin, büyük ve kısa süreli bir artışta.

Özelliklerde belirtilen sembole bakar, ortalama olarak alır ve makul bir şekilde artırarak siparişleri açmadan önce bir koşul koyardım. Ve kapanış veya değişiklik için, yayılmaya da bakardım. Peki ya yayılım son 3 - 10 kene ortalamasına göre izlendi.

Dün, yaklaşık 1 dakika boyunca (10 tik değil), ortalama normal dağılım 4pp ile ~14pp'lik bir yayılma oldu. Böylece, uzatılmış yayılma anında robot satın alma pozisyonuna girdi.

10 tik kesinlikle yeterli değil

 
Vitaly Muzichenko :

Dün, yaklaşık 1 dakika boyunca (10 tik değil), ortalama normal dağılım 4pp ile ~14pp'lik bir yayılma oldu. Böylece, uzatılmış yayılma anında robot satın alma pozisyonuna girdi.

10 tik kesinlikle yeterli değil

İşte değişikliklerin başlangıcını ve sonunu düzeltme görevi. ve tek değişikliklerin emisyonları. ve fiksasyon kısa sürede yapılmalıdır. Onlar. zamana göre, kayan bir pencere ile ortalama yayılma değerini bir saniyeden 10 saniyeye sabitleme. Saniyede ortalama kaç tik olduğuna bakmanız veya 10 saniye ve ortalama tik izlemeniz gerekiyor. Ben ilk seçeneği tercih ederim.

 
Valeriy Yastremskiy :

İşte değişikliklerin başlangıcını ve sonunu düzeltme görevi. ve tek değişikliklerin emisyonları. ve fiksasyon kısa sürede yapılmalıdır. Onlar. zamana göre, kayan bir pencere ile ortalama yayılma değerini bir saniyeden 10 saniyeye sabitleme. Saniyede ortalama kaç tik olduğuna bakmanız veya 10 saniye ve ortalama tik izlemeniz gerekiyor. Ben ilk seçeneği tercih ederim.

Bu şekilde çözüldü:

 void OnTick ( void )
{
 int sp = SymbolInfoInteger ( Symbol (), SYMBOL_SPREAD );

   if (CheckSpr(sp)) {
     // Здесь код отправки
   }
}

//+------------------------------------------------------------------+
bool CheckSpr( int _sp)
{
   static int ts= 0 , res= 0 ;
   static long tc= 0 ;
   tc++;
   ts += _sp;
   res =ts/tc;
   if (tc> LONG_MAX - 1 ) {
      tc= 0 ;
      ts= 0 ;
   }
   // Comment( res,"=",tc );
   if (tc< 500 ) return ( false );
   return (res>_sp? true : false );
}

Sorun şu ki, rollover'da büyük bir yayılma kaydedecek ve üzerinde çalışacak.

Bu çözümün verimsiz olduğunu düşünüyorum, rollover sırasında bir zaman sınırı uygulamadan kaydı bir şekilde sınırlamanız gerekiyor.