Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz, hiçbir yerde - 6. - sayfa 935

 
Herkese iyi eğlenceler! Böyle bir soru: İlk diziden bilgi kopyalayarak (ve sonra geri) öğe kopyalayarak aynı diziden ve öğeden başka bir tane oluşturmadan dizi öğelerinin indekslenmesini 1 birim kaydırmak mümkün müdür? Sonuçta, MT4'te zaman serisi dizilerinde bu bir şekilde yapılır (yeni bir çubuk oluşturulduğunda, 0 indeksine atanır ve dizinin önceki tüm elemanlarının indeksleri 1 birim kaydırılır).
 
FxRoller :
Herkese iyi eğlenceler! Böyle bir soru: İlk diziden bilgi kopyalayarak (ve sonra geri) öğe kopyalayarak aynı diziden ve öğeden başka bir tane oluşturmadan dizi öğelerinin indekslenmesini 1 birim kaydırmak mümkün müdür? Sonuçta, MT4'te zaman serisi dizilerinde bu bir şekilde yapılır (yeni bir çubuk oluşturulduğunda, 0 indeksine atanır ve dizinin önceki tüm elemanlarının indeksleri 1 birim kaydırılır).

Soruya katılıyorum: Bir dizinin N. boyutunu M öğeleriyle sağa veya sola kaydırmak için yerleşik işlevi kullanmak uygun olacaktır.

Bildiğim kadarıyla, bir döngüde kaydırmanız gerekirken , dizinin boyutunu belirlemeniz gerekiyor. Dinamik kullanmak daha zordur (+ veri kaybolmaz).

 
kosmos0975 :

Soruya katılıyorum: Bir dizinin N. boyutunu M öğeleriyle sağa veya sola kaydırmak için yerleşik işlevi kullanmak uygun olacaktır.

Bildiğim kadarıyla, bir döngüde kaydırmanız gerekirken, dizinin boyutunu belirlemeniz gerekiyor. Dinamik kullanmak daha zordur (+ veri kaybolmaz).

SetIndexShift() yardımcı olmaz mı?

Grafiğin başlangıcına göre gösterge çizgisinin ofsetini ayarlar.

geçersiz SetIndexShift (
    int       dizin , // satır numarası
    int       vardiya          // telafi etmek
);

Seçenekler

dizin

[içinde] Satırın sıra numarası. 0 ile 7 arasında olmalıdır.

vardiya

[içinde] Çubuk cinsinden kaydırma değeri.

Geri dönüş değeri

hayır. _

Not

Pozitif bir değer, çizgi görüntüsünü sağa kaydırır, negatif bir değer ise onu sola kaydırır. Mevcut çubukta hesaplanan değer, mevcut çubuğa göre belirtilen ofset ile çizilir.

Misal:

 

Ayrıca bir shift ile diziyi kendisine kopyalayabilirsiniz .

 int    ArrayCopy (
   void &        dst_array[],         // куда копируем                           // сюда, понятно имя массива
   const void &  src_array[],         // откуда копируем                         // сюда тоже его
   int           dst_start= 0 ,         // с какого индекса пишем в приемник       // сюда 0
   int           src_start= 0 ,         // с какого индекса копируем из источника  // сюда, например с первого, значит 1
   int           count= WHOLE_ARRAY      // сколько элементов                       // сюда размерность массива минус 1
   );

Böylece dizi, 1 elemanlık bir kaydırma ile kendi içine kopyalanacaktır. Sıfır atılacak ve sonuncusu boş. Aksine son elemanı atmaya çalışmadım ama fonksiyonun son üç parametresini doğru bir şekilde düzenleyebileceğinizi düşünüyorum.

 
AlexeyVik :

Ayrıca bir shift ile diziyi kendisine kopyalayabilirsiniz.

Böylece dizi, 1 elemanlık bir kaydırma ile kendi içine kopyalanacaktır. Sıfır atılacak ve sonuncusu boş. Aksine son elemanı atmaya çalışmadım ama fonksiyonun son üç parametresini doğru bir şekilde düzenleyebileceğinizi düşünüyorum.


Denemedim, ancak indeksleme yönünü değiştirmek işe yarayabilir.

PS Strateji test cihazı hakkında sorular var. Yardım eder misin?

 
kosmos0975 :

Denemedim ama indeksleme yönünü değiştirmek faydalı olabilir.

PS Strateji test cihazı hakkında sorular var. Yardım eder misin?

Dizinin kendisini kendi içine kopyaladıktan sonra indeksleme yönünü değiştirmeyi mi kastediyorsunuz? Ve gerekli mi? Sıfır dizinden sonuncusu olmadan kopyalama ve ilkinden eklemede herhangi bir sorun olmayacağını ve sıfırın ya boş ya da eski değer olarak kalacağını düşünüyorum, önemli değil, çünkü bu prosedür sadece gerekli değil kopyalama uğruna, ancak özellikle dizi değerlerinden birini (sıfır veya son) yeni değeri değiştirmek için. Ve buna göre, böyle bir kopyalamadan sonra "serbest" eleman yeni bir değerle doldurulur. Ve içinde ne olduğu önemli değil...

Test eden kişiye göre, eğer yapabilirsem yardım edeceğim. Ama önerebilecek daha değerli kişiler var.

 

Kontrol sinyalleri ve açık pozisyonların kontrolü gösterge tarafından üretilir. Pozisyonları açma ve kapatma komutları, terminalin global değişkenleri aracılığıyla EA'ya gönderilir.

Göstergelerin kullanımı uygundur çünkü çok sayıda başlatılırlar ve paralel olarak birkaç mantıksal bloğun çalışmasını görebilirsiniz.

Soru. Strateji test cihazında gösterge, OrderSelect() , OrdersTotal () işlevi vb. ile çalışabilir.

  
 
AlexeyVik :

Dizinin kendisini kendi içine kopyaladıktan sonra indeksleme yönünü değiştirmeyi mi kastediyorsunuz? Ve gerekli mi? Sıfır dizinden sonuncusu olmadan kopyalama ve ilkinden eklemede herhangi bir sorun olmayacağını ve sıfırın ya boş ya da eski değer olarak kalacağını düşünüyorum, önemli değil, çünkü bu prosedür sadece gerekli değil kopyalama uğruna, ancak özellikle dizi değerlerinden birini (sıfır veya son) yeni değeri değiştirmek için. Ve buna göre, böyle bir kopyalamadan sonra "serbest" eleman yeni bir değerle doldurulur. Ve içinde ne olduğu önemli değil...

Test eden kişiye göre, eğer yapabilirsem yardım edeceğim. Ama önerebilecek daha değerli kişiler var.

Kopyalamadan önce ve sonra.
 
Kontrol etmedim, ama kendin kontrol etmeni engelleyen nedir? Şablonu tüm göstergelerle birlikte danışmanın adı altında kaydetmeniz yeterlidir ve ardından danışman test cihazında başlatıldığında, tüm göstergeler yüklenir ve doğru şekilde çalışabilir. Ancak "Ticaret" ve "Hesap Geçmişi" sekmelerinden değer almaları mümkündür.
 
kosmos0975 :
Kopyalamadan önce ve sonra.
Neden sol elin parmağıyla sağ kulağını kaşısın? Veya bacaklar ... Sadece ikinci seçeneğin gereksiz olduğunu kontrol etmediğini söyledim. Ve mantıksal olarak sorunsuz çalışacaktır.