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

 

Tünaydın!

Yardıma/tavsiyeye ihtiyacınız var. Terminal, birkaç göstergeyi karıştırabilme özelliğine sahiptir. Bu durumda, aralıkları düzeltebilirsiniz.

Örneğin, CCI min=-300 maks=300 ve RSI min=0 maks=100.

Danışmanda 2 göstergenin kesişim işlevini uygulamak mümkün mü? Diyelim ki CCI, RSI'yı aşağıdan yukarıya geçiyor => açık sipariş Bay...

Mümkün mü?

Ya da imkansız çünkü. bu göstergeler farklı bir değer aralığına sahiptir . Rsi için değer aralığı 0 ile 100 arasında sınırlandırılırken, cci için değerler hem pozitif hem de negatif olabilir ve max./min ile sınırlı değildir. değer...

 
lomaxx7 :

Tünaydın!

Yardıma/tavsiyeye ihtiyacınız var. Terminal, birkaç göstergeyi karıştırabilme özelliğine sahiptir. Bu durumda, aralıkları düzeltebilirsiniz.

Örneğin, CCI min=-300 maks=300 ve RSI min=0 maks=100.

Danışmanda 2 göstergenin kesişim işlevini uygulamak mümkün mü? Diyelim ki СCI, RSI'yi aşağıdan yukarıya geçiyor => açık sipariş Bay...

Mümkün mü?

Ya da imkansız çünkü. bu göstergeler farklı bir değer aralığına sahiptir . Rsi için değer aralığı 0 ile 100 arasında sınırlandırılırken, cci için değerler hem pozitif hem de negatif olabilir ve max./min ile sınırlı değildir. değer...

Bu amaç için özel olarak kendi iRSI'nizi yazarsanız, iRSI değerinden 50 çıkarabilir ve sıfır seviyeli bir gösterge elde edersiniz. Geriye bir soru kalıyor: Böyle bir gösterge karışımının kullanımı nedir?

 
Alexey Viktorov :

Bu amaç için özel olarak kendi iRSI'nizi yazarsanız, iRSI değerinden 50 çıkarabilir ve sıfır seviyeli bir gösterge elde edersiniz. Geriye bir soru kalıyor: Böyle bir gösterge karışımının kullanımı nedir?

Teşekkür ederim. Üzerinde çalışılması gereken bazı fikirler var.
 

lomaxx7 :

Danışmanda 2 göstergenin kesişim işlevini uygulamak mümkün mü? Diyelim ki СCI, RSI'yi aşağıdan yukarıya geçiyor => açık sipariş Bay...

Mümkün mü?

Ya da imkansız çünkü. bu göstergeler farklı bir değer aralığına sahiptir . Rsi için değer aralığı 0 ile 100 arasında sınırlandırılırken, cci için değerler hem pozitif hem de negatif olabilir ve max./min ile sınırlı değildir. değer...

Zor değil. CCİ olabilir RSI aracılığıyla sayın ve tam tersi.   Belgelere bakın. Orada, her gösterge için hangi fiyatların kullanılabileceğine dair bir açıklama verilir.

https://www.mql5.com/ru/docs/indicators/irsi

uygulanan_fiyat

[içinde] Kullanılan fiyat . ENUM_APPLIED_PRICE fiyat sabitlerinden herhangi biri veya başka bir gösterge tanıtıcısı olabilir.

Örneğin, CCI tutamağını değiştiriyoruz RSI'da :

int OnInit()
h_cci= iCCI ( _Symbol , _Period , cci_ma_period, cci_applied_price);
h_rsi= iRSI ( _Symbol , _Period , rsi _ma_period, h_cci);
Далее
void OnTick() 
if ( CopyBuffer (h_cci, 0 , 0 ,to_copy, cci_buf)<= 0 ) return ( 0 );
if ( CopyBuffer (h_rsi, 0 , 0 ,to_copy, rsi _buf)<= 0 ) return ( 0 );
Далее сравниваете значения:
if (cci_buf>rsi_buf) {...ваши действия; ...buy; ...sell;} 
else
if (cci_buf<rsi_buf) {...ваши действия; ...buy; ...sell;}

Bu durumda değer aralığı özel bir rol oynamaz. sonraki osilatör, önceki osilatörün değerlerini zaten kullanıyor.

Документация по MQL5: Технические индикаторы / iRSI
Документация по MQL5: Технические индикаторы / iRSI
  • www.mql5.com
Технические индикаторы / iRSI - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
 //+------------------------------------------------------------------+
class A
  {
public : int        propA;
public :
                     A( void ) {propA = 15 ;};
                    ~A( void ) {};
  };
//+------------------------------------------------------------------+
class B: public A
  {
public :
                     B( void ){};
                    ~B( void ){};
  };
//+------------------------------------------------------------------+
void OnStart ()
  {
   B newObj;
   GetA(newObj);
//---
   //B newObjArray[3];
   //GetA_Array(newObjArray);
  }
//+------------------------------------------------------------------+
void GetA(A &obj)
  {
   Print (obj.propA);
  }
//+------------------------------------------------------------------+
void GetA_Array(A &obj[])
  {
   for ( int i= 0 ;i< ArraySize (obj);i++)
       Print (obj[i].propA);
  }
//+------------------------------------------------------------------+

OnStart() içinde kalan satırların yorumunu kaldırırsak "newObjArray - parametre dönüştürmeye izin verilmez" ifadesini alırız.

2 soru: neden ve nasıl düzeltilir?
 

Terminalden pozisyon raporunun nasıl alınacağını söyler misiniz?

Gerçek şu ki, terminalde normal bir konum görüyorum, ancak Excel raporunda benim için uygun olmayan bölümlere ayrılmış.

 

Merhaba! 2017.06.30_18:11 GMT+3. Forum uzmanları. Uzman Danışmanımı MT5'te strateji test cihazında test ettim. İşlemleri açar ve kapatır, ancak işlemlerin açılması ve kapanması için yalnızca ilk koşulda görünmektedir. Bu nedenle, danışmanı bir demo hesabında test etmeye karar verdim. Ancak demoda danışman hemen tablodan kaybolur. Demo hesabında bir hata olduğu ortaya çıktı: 2017.06.30 18:08:17.878 Late_raw3 (GOLD,M1) dizisi 'Cross.mqh' (18,12) içinde aralık dışında.
Garip, ancak strateji test cihazında böyle bir hata bulunamadı. Hatanın ne olduğunu anlamaya çalıştım ama anlamadım. Soru her zamankinden daha aptalca. Beni bir çıkmaza soktu. Bu durumda MetaQuotes programcıları akıllı olabilir mi? Ve standart Expert Advisor Moving Average.mq5'te kod aynı şekilde yazılmıştır (oradan kopyaladım). Demo hesabında bu hata yok. Ticaret yapmamasına rağmen. M1'de. Çok beklememe rağmen. Sorun ne? Cevaplarınızı bekleyeceğim. sabırsızca. Her şey tam olmasa da dosyaları ekliyorum. 18:26 GMT+3. Kodu farklı şekillerde değiştirmeye çalıştım, ancak iki sonuç var: ya dizi sınırların dışında ya da "Gösterge verisi yok" hatası yazıyor. Ve strateji test cihazının günlüğünde, "tekliflerin" nasıl elde edildiğini görebilirsiniz. İlk işlemin açılış fiyatı alınır. İkinci işlemin açılış fiyatından farklıdır. Bu "sapma" (benim 130 puanımdan fazladır) fazla alıntı olarak adlandırılır. MetaQuotes programcılarına da "teşekkür ederim" demek gerekli mi? sıkılmayacaksın. Ne yaparsanız yapın, her yerde "frenler" var. Expert Advisor'ı daha hızlı bitireceğim. 18:45 GMT+3. Açıklamaya veya açıklamaya ihtiyacınız varsa, yazın. Her şey. 18:51 GMT+3.

 
Николай Никитюк :

Merhaba! 2017.06.30_18:11 GMT+3. Forum uzmanları. Uzman Danışmanımı MT5'te strateji test cihazında test ettim. İşlemleri açar ve kapatır, ancak işlemlerin açılması ve kapanması için yalnızca ilk koşulda görünmektedir. Bu nedenle, danışmanı bir demo hesabında test etmeye karar verdim. Ancak demoda danışman hemen tablodan kaybolur. Demo hesabında bir hata olduğu ortaya çıktı: 2017.06.30 18:08:17.878 Late_raw3 (GOLD,M1) dizisi 'Cross.mqh' (18,12) içinde aralık dışında.
Garip, ancak strateji test cihazında böyle bir hata bulunamadı. Hatanın ne olduğunu anlamaya çalıştım ama anlamadım. Soru her zamankinden daha aptalca. Beni bir çıkmaza soktu. Bu durumda MetaQuotes programcıları akıllı olabilir mi? Ve standart Expert Advisor Moving Average.mq5'te kod aynı şekilde yazılmıştır (oradan kopyaladım). Demo hesabında bu hata yok. Ticaret yapmamasına rağmen. M1'de. Çok beklememe rağmen. Sorun ne? Cevaplarınızı bekleyeceğim. sabırsızca. Her şey tam olmasa da dosyaları ekliyorum. 18:26 GMT+3. Kodu farklı şekillerde değiştirmeye çalıştım, ancak iki sonuç var: ya dizi sınırların dışında ya da "Gösterge verisi yok" hatası yazıyor. Ve strateji test cihazının günlüğünde, "tekliflerin" nasıl elde edildiğini görebilirsiniz. İlk işlemin açılış fiyatı alınır. İkinci işlemin açılış fiyatından farklıdır. Bu "sapma" (benim 130 puanımdan fazladır) fazla alıntı olarak adlandırılır. MetaQuotes programcılarına da "teşekkür ederim" demek gerekli mi? sıkılmayacaksın. Ne yaparsanız yapın, her yerde "frenler" var. Expert Advisor'ı daha hızlı bitireceğim. 18:45 GMT+3. Açıklamaya veya açıklamaya ihtiyacınız varsa, yazın. Her şey. 18:51 GMT+3.


Şimdiye kadar, "oranlar" ("Cross.mqh" dosyası, 18. satır, imleç konumu 12), küresel düzeyde bir yerde bildirilmiş gibi görünüyor - bu nedenle tüm sorular şuna geliyor: "Bu "oranlar" gerçekte nasıl dolduruluyor? ".

 

İki eğrinin kesişme açısını hesaplamaya çalışıyorum. Görev açının kendisini bulmak bile değil, keskin mi yoksa geniş mi olduğunu kontrol etmektir. Hatta çizdim. B tanjantını ve C tanjantını bulabilirim. Bu teğetleri bilerek, A açısının dar olup olmadığını nasıl belirleyebilirim. Yardım, trigonometride hiç iyi değilim. Tabii ki, açıları kendileri bulmadan - ölçeklerdeki farklılıktan dolayı değerleri yetersizdir.


 
igorbel :

İki eğrinin kesişme açısını hesaplamaya çalışıyorum. Görev açının kendisini bulmak bile değil, keskin mi yoksa geniş mi olduğunu kontrol etmektir. çizdim bile. B tanjantını ve C tanjantını bulabilirim. Bu teğetleri bilerek, A açısının dar olup olmadığını nasıl belirleyebilirim. Yardım, trigonometride hiç iyi değilim. Tabii ki, açıları kendileri bulmadan - ölçeklerdeki farklılıktan dolayı değerleri yetersizdir.


Teğetleri bulmak için gerçekten bir dik üçgeniniz var mı?
Neden: