Göstergeyi soldan sağa doğru hesaplarsanız, örneğin bir fraktal oluşmuş gibi bir olay meydana geldiyse, bu olayla çubuğun indeksini hatırlamanız gerekir (böylece daha sonra bir şey için kullanabilirsiniz). İndeksleme sağdan sola ise, n=Bars-i hesaplamasını yapmanız ve n'yi hatırlamanız ve ardından tersini yapmanız gerekir: i=Bars-n. Ve eğer indeksleme soldan sağa ise, o zaman sadece indeksi hatırlar ve kullanırsınız, değişmez. Buna ihtiyaç her zaman az çok karmaşık göstergelerde ortaya çıktığından, soldan sağa indeksleme, bir gösterge yazarının çalışmasında daha büyük bir rahatlamadır.
İyi evet. Bir keresinde mql4'te bir gösterge yazmaya başladım, 1/3 yazdım, sonraki üçüncü kısım birincinin sonuçlarına ve buna göre üçüncü kısım ikinci üçte birinin değerlerine dayanıyordu. Ve orada, istenen değerin şimdi olduğu çubuğu hesaplama konusunda büyük bir problemle karşılaştım. Ama öyle oldu ki müşteri ortadan kayboldu ve ben onu yazmayı hiç bitirmedim. Ve sağ tarafta indeksleme yaparken bar numarası değişmez, yardımcı diziye bar numarasını yazıp sadece bu diziyi çalıştırmanız ikinci ve üçüncü kısımları oluşturmak için yeterlidir...
Göstergeyi soldan sağa doğru hesaplarsanız, örneğin bir fraktal oluşmuş gibi bir olay meydana geldiyse, bu olayla çubuğun indeksini hatırlamanız gerekir (böylece daha sonra bir şey için kullanabilirsiniz). İndeksleme sağdan sola ise, n=Bars-i hesaplamasını yapmanız ve n'yi hatırlamanız ve ardından tersini yapmanız gerekir: i=Bars-n. Ve eğer indeksleme soldan sağa ise, o zaman sadece indeksi hatırlar ve kullanırsınız, değişmez. Buna ihtiyaç her zaman az çok karmaşık göstergelerde ortaya çıktığından, soldan sağa indeksleme, bir gösterge yazarının çalışmasında daha büyük bir rahatlamadır.
Oh nasıl. Ve sonra terminal geçmişi yükledi, ne olmuş yani?
Vladimir Simakov : Oh nasıl. Ve sonra terminal geçmişi yükledi, ne olmuş yani?
Özel birşey yok. Sadece dört yaklaşımı unutmanız gerekiyor
int counted_bars=IndicatorCounted();
int i,r,limit;
if (counted_bars< 0 ) return (- 1 );
if (counted_bars> 0 ) counted_bars--;
limit = Bars -counted_bars;
if ( ArrayRange (working, 0 ) != Bars ) ArrayResize (working, Bars );
//////////for (i=limit, r= Bars -i- 1 ; i >= 0 ; i--,r++)
ve bunu yap
if (rates_total-prev_calculated > 1 )
{
// Если это первый запуск или подгрузилась история пересчитаем весь индикатор.
}
if (rates_total-prev_calculated >= 0 )
{
// Пересчитаем только последнее изменение.
}
Vladimir Simakov : Oh nasıl. Ve sonra terminal geçmişi yükledi, ne olmuş yani?
Nerelisin ve neden buradasın? MT4 veya MT5 için en az bir gösterge yazdınız mı? En azından MetaTrader için gösterge yazmanın temellerini tanımak güzel olurdu.
Nerelisin ve neden buradasın? MT4 veya MT5 için en az bir gösterge yazdınız mı? En azından MetaTrader için gösterge yazmanın temellerini tanımak güzel olurdu.
MQL5.com web sitesine giriş yapmak için çerezlerin kullanımına izin vermelisiniz.
Lütfen tarayıcınızda gerekli ayarı etkinleştirin, aksi takdirde giriş yapamazsınız.
Hesabınıza giriş yaptınız. İki faktörlü kimlik doğrulama devre dışı bırakıldı. Yeniden kurup yeni bir QR kodu tarayın veya iki faktörlü kimlik doğrulama devre dışıyken devam edin.
Göstergeyi soldan sağa doğru hesaplarsanız, örneğin bir fraktal oluşmuş gibi bir olay meydana geldiyse, bu olayla çubuğun indeksini hatırlamanız gerekir (böylece daha sonra bir şey için kullanabilirsiniz). İndeksleme sağdan sola ise, n=Bars-i hesaplamasını yapmanız ve n'yi hatırlamanız ve ardından tersini yapmanız gerekir: i=Bars-n. Ve eğer indeksleme soldan sağa ise, o zaman sadece indeksi hatırlar ve kullanırsınız, değişmez. Buna ihtiyaç her zaman az çok karmaşık göstergelerde ortaya çıktığından, soldan sağa indeksleme, bir gösterge yazarının çalışmasında daha büyük bir rahatlamadır.
İyi evet. Bir keresinde mql4'te bir gösterge yazmaya başladım, 1/3 yazdım, sonraki üçüncü kısım birincinin sonuçlarına ve buna göre üçüncü kısım ikinci üçte birinin değerlerine dayanıyordu. Ve orada, istenen değerin şimdi olduğu çubuğu hesaplama konusunda büyük bir problemle karşılaştım. Ama öyle oldu ki müşteri ortadan kayboldu ve ben onu yazmayı hiç bitirmedim. Ve sağ tarafta indeksleme yaparken bar numarası değişmez, yardımcı diziye bar numarasını yazıp sadece bu diziyi çalıştırmanız ikinci ve üçüncü kısımları oluşturmak için yeterlidir...
Göstergeyi soldan sağa doğru hesaplarsanız, örneğin bir fraktal oluşmuş gibi bir olay meydana geldiyse, bu olayla çubuğun indeksini hatırlamanız gerekir (böylece daha sonra bir şey için kullanabilirsiniz). İndeksleme sağdan sola ise, n=Bars-i hesaplamasını yapmanız ve n'yi hatırlamanız ve ardından tersini yapmanız gerekir: i=Bars-n. Ve eğer indeksleme soldan sağa ise, o zaman sadece indeksi hatırlar ve kullanırsınız, değişmez. Buna ihtiyaç her zaman az çok karmaşık göstergelerde ortaya çıktığından, soldan sağa indeksleme, bir gösterge yazarının çalışmasında daha büyük bir rahatlamadır.
İşte bir örnek .
https://www.mql5.com/ru/code/25807
Teşekkürler fakat
Oh nasıl. Ve sonra terminal geçmişi yükledi, ne olmuş yani?
Özel birşey yok. Sadece dört yaklaşımı unutmanız gerekiyor
ve bunu yap
Oh nasıl. Ve sonra terminal geçmişi yükledi, ne olmuş yani?
Nerelisin ve neden buradasın? MT4 veya MT5 için en az bir gösterge yazdınız mı? En azından MetaTrader için gösterge yazmanın temellerini tanımak güzel olurdu.
Hiçbir zaman karmaşık ama hızlı göstergeler yazmadıkları için, aksi takdirde soldan sağa indeksleme çok önemli bir göreve çözüm olurdu.
Bir danışman için hızlı bir hindiye ihtiyacınız varsa, hesaplanan parçayı doğrudan danışmana eklemek daha karlı.
Bir danışman için hızlı bir hindiye ihtiyacınız varsa, hesaplanan parçayı doğrudan danışmana eklemek daha karlı.
Peki nafik... Bunu kız arkadaşlarına anlat, vahşeti arttırmak için.
Nerelisin ve neden buradasın? MT4 veya MT5 için en az bir gösterge yazdınız mı? En azından MetaTrader için gösterge yazmanın temellerini tanımak güzel olurdu.
Dmitry kötü, henüz akşamdan kalma olmadım)))