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

 
Vladimir Karputov :

Umarım OnInit()'te ONCE gösterge tutamaçları yaratırsınız?

Hesaplamanın derinliği - hepsi göstergenin kendisine bağlıdır. Nadir göstergeler derinlikleri zorla sınırlar - kural olarak, herkes tüm tarih için sayılır. Bu nedenle, bu seçeneğe ihtiyacınız olabilir: göstergede derinlikten sorumlu bir değişken girin ve ardından iCustom aracılığıyla Expert Advisor'da bu parametreyi iletin.

1. Evet, bunun internette bir kez yapıldığını iyi bir şekilde anlıyorum. Ancak sorun, göstergelerin giriş parametrelerinin değişebilmesidir. Örneğin spektral analizde rezonans frekansları hesaplanır, hesaplamaların sonucu kullanılan MA'nın periyodu olur. Ve yeni bir boyut için MA verisi talep ederseniz, bu yeni bir tanıtıcıdır. Pratikte, frekanslar her çubukta değişmez, bu nedenle hesaplamalarda aynı MA tutamacı oldukça uzun bir süre (~ dakika) kullanılır. Ama yine de, kolun değiştiği an gelir. Ve sonra ya bir grup tutamaç kullanmam ya da bir tutamaç kullanmam gerekiyor, ancak periyodik olarak yeniden hesaplamam gerekiyor. Tasarruf burada devreye giriyor.

2. iCustom'da ustalaştım. Ancak göstergenin kendisindeki hesaplamaların derinliği nasıl sınırlandırılır? Teknik olarak, hiçbir şekilde. Görünüşe göre, bunlardan bir sürü özel klon oluşturmanız gerekecek. göstergeler. Elbette iğrenç, ama etkili olmalı. Tavsiye için teşekkürler. İyi bir fikir. Teşekkür ederim.

 
User_mt5 :

1. Evet, bunun internette bir kez yapıldığını iyi bir şekilde anlıyorum. Ancak sorun, göstergelerin giriş parametrelerinin değişebilmesidir.

Geliştiriciler, verimlilik kaybı olmadan MQL4 tarzında göstergelerle çalışabilecekleri bir SB yazabilirler. Onlar. tüm önbellekler ve tanıtıcılar SB'de gizlidir.

 
User_mt5 :

1. Evet, bunun internette bir kez yapıldığını iyi bir şekilde anlıyorum. Ancak sorun, göstergelerin giriş parametrelerinin değişebilmesidir. Örneğin spektral analizde rezonans frekansları hesaplanır, hesaplamaların sonucu kullanılan MA'nın periyodu olur. Ve yeni bir boyut için MA verisi talep ederseniz, bu yeni bir tanıtıcıdır. Pratikte, frekanslar her çubukta değişmez, bu nedenle hesaplamalarda aynı MA tutamacı oldukça uzun bir süre (~ dakika) kullanılır. Ama yine de, kolun değiştiği an gelir. Ve sonra ya bir grup tutamaç kullanmam ya da bir tutamaç kullanmam gerekiyor, ancak periyodik olarak yeniden hesaplamam gerekiyor. Tasarruf burada devreye giriyor.

2. iCustom'da ustalaştım. Ancak göstergenin kendisindeki hesaplamaların derinliği nasıl sınırlandırılır? Teknik olarak, hiçbir şekilde. Görünüşe göre, bunlardan bir sürü özel klon oluşturmanız gerekecek. göstergeler. Elbette iğrenç, ama etkili olmalı. Tavsiye için teşekkürler. İyi bir fikir. Teşekkür ederim.


1. Bu durumda, kullanılmayan tutamacı öldürmek ve yeni bir tane oluşturmak muhtemelen daha iyidir (ana şey, OnTick()'e bir milyon tutamacı tokatlamamak için kontroldür :)).

2. Yerleşik göstergenin bir kopyasını oluşturun, ancak farklı bir adla (örneğin, ada "geçmiş derinliği" ekleyin) ve yeni bir parametre girin: InpDepthHistory. Yani yeni özel göstergeler yazmanız gerekiyor.

 
User_mt5 :

1. Evet, bunun internette bir kez yapıldığını iyi bir şekilde anlıyorum. Ancak sorun, göstergelerin giriş parametrelerinin değişebilmesidir. Örneğin spektral analizde rezonans frekansları hesaplanır, hesaplamaların sonucu kullanılan MA'nın periyodu olur. Ve yeni bir boyut için MA verisi talep ederseniz, bu yeni bir tanıtıcıdır. Pratikte, frekanslar her çubukta değişmez, bu nedenle hesaplamalarda aynı MA tutamacı oldukça uzun bir süre (~ dakika) kullanılır. Ama yine de, kolun değiştiği an gelir. Ve sonra ya bir grup tutamaç kullanmam ya da bir tutamaç kullanmam gerekiyor, ancak periyodik olarak yeniden hesaplamam gerekiyor. Tasarruf burada devreye giriyor.

2. iCustom'da ustalaştım. Ancak göstergenin kendisindeki hesaplamaların derinliği nasıl sınırlandırılır? Teknik olarak, hiçbir şekilde. Görünüşe göre, bunlardan bir sürü özel klon oluşturmanız gerekecek. göstergeler. Elbette iğrenç, ama etkili olmalı. Tavsiye için teşekkürler. İyi bir fikir. Teşekkür ederim.

Anladığım kadarıyla, mql4'te olduğu gibi iCustom() kullanarak yalnızca 1 değer elde etmek istiyorsunuz, ancak mql4'te göstergenin ilk çağrıda tüm geçmiş derinliği için yeniden hesaplandığını dikkate almıyorsunuz. Aynı şekilde en az bir parametre değiştirilirken yeniden hesaplanır.

Dolayısıyla sonuç: Rahatsız etmeye gerek yok. "Eski" gösterge artık gerekli değilse, onu silebilir ve farklı parametrelerle gösterge tutamağını alabilirsiniz.

 
fxsaber :

Geliştiriciler, verimlilik kaybı olmadan MQL4 tarzında göstergelerle çalışabilecekleri bir SB yazabilirler. Onlar. tüm önbellekler ve tanıtıcılar SB'de gizlidir.

Üzgünüm, ben anlamadım. Burada Geliştiriciler kelimesi MT'yi yaratanlar mı yoksa ben günahkar bir uygulamacı mıyım? Ve SB..?

 
Vladimir Karputov :

1. Bu durumda, kullanılmayan tutamacı öldürmek ve yeni bir tane oluşturmak muhtemelen daha iyidir (ana şey, OnTick()'e bir milyon tutamacı tokatlamamak için kontroldür :)).

2. Yerleşik göstergenin bir kopyasını oluşturun, ancak farklı bir adla (örneğin, ada "geçmiş derinliği" ekleyin) ve yeni bir parametre girin: InpDepthHistory. Yani yeni özel göstergeler yazmanız gerekiyor.

1. Evet. Şimdiye kadar, bazı tutamaçlardan oluşan 3 boyutlu bir diziye sahibim. Ama şimdi, görünüşe göre, hepsini yeniden inşa edeceğim.

2. Evet. Neyse ki, neredeyse tüm teknik kodlar var. göstergeler. Ve dahası kendilerine ait.

Teşekkür ederim.

 
User_mt5 :

Üzgünüm, ben anlamadım. Burada Geliştiriciler kelimesi MT'yi yaratanlar mı yoksa ben günahkar bir uygulamacı mıyım? Ve SB..?

MetaQuotes, istenirse böyle bir Standart Kitaplık oluşturabilir. Asıl soru, gerekli mi?

 
Alexey Viktorov :

Anladığım kadarıyla, mql4'te olduğu gibi iCustom() kullanarak yalnızca 1 değer elde etmek istiyorsunuz, ancak mql4'te göstergenin ilk çağrıda tüm geçmiş derinliği için yeniden hesaplandığını dikkate almıyorsunuz. Aynı şekilde en az bir parametre değiştirilirken yeniden hesaplanır.

Dolayısıyla sonuç: Rahatsız etmeye gerek yok. "Eski" gösterge artık gerekli değilse, onu silebilir ve farklı parametrelerle gösterge tutamağını alabilirsiniz.

Bir şey istiyorum, belki istiyorum. Ama şimdi istemiyorum. Haklısın. Eski bir gösterge gerekli değilse, sürüngenleri hamamböceği gibi ezin :)

Teknik klonların derinliğini sınırlamak iyi bir çözümdür. Bu, kaynak ve zamandan tasarruf sağlayacaktır. Yani, şimdi yapacağım.

Teşekkür ederim.

 
fxsaber :

MetaQuotes, istenirse böyle bir Standart Kitaplık oluşturabilir. Asıl soru, gerekli mi?

Bu gelecek nesiller için. Kütüphaneden bazı örneklere baktım. Binlerce satırlık yorumsuz kod. Nasıl olduğunu bilmiyorum ama nasıl olduğunu bilmiyorum. Fikir için teşekkürler ama benim durumumda bu kabul edilebilir değil.
 
User_mt5 :
Bu gelecek nesiller için. Kütüphaneden bazı örneklere baktım. Binlerce satırlık yorumsuz kod. Nasıl olduğunu bilmiyorum ama nasıl olduğunu bilmiyorum. Fikir için teşekkürler ama benim durumumda bu kabul edilebilir değil.

Bu zaten MT5'te çalışıyor

Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum

Mql5 dilinin özellikleri, incelikleri ve çalışma yöntemleri

fxsaber , 2018.01.09 10:20

MQL4 taraftarları için, MQL5'te TF'lerle tanıdık bir tarzda çalışmanın eski bir yolu vardır.

Kene geçmişiyle çalışırken birilerinin MQL4 yaklaşımına ihtiyacı olabilir

 if (Tick[ 0 ].bid > Tick[ 100 ].bid) // сравниваем текущий и исторический тики
   Print ( "Hello World!" );

if ( High [ 0 ] > Close [ 100 ]) // https://www.mql5.com/ru/forum/42122/page24#comment_2904023
   Print ( "Hello World!" );

Teknik olarak, göstergelerle (verimlilik kaybı olmadan) aynı ONCE'ı yapmanızı ve çözümü Güvenlik Konseyi'ne yerleştirmenizi hiçbir şey engelleyemez.