Göstergede ArraySetAsSeries (array[], false) kullandım. Göstergede iMa(...,i) kullanmam gerekiyordu, bu da ters yönde indekslemeye neden oldu. iMa()'nın indeksleme sırasını bir şekilde ArraySetAsSeries olarak değiştirmesi de mümkün mü?
Şimdiye kadar bunu yaptım: Rates_total-i (diğer uçtan say), ama bunun doğru karar olup olmadığından emin değilim?
ArraySetAsSeries (ExtMapBuffer4,Series);
...
while (i<rates_total- 1 )
{
double maf= iMA ( NULL ,Used_Period,FAST_MA, 0 ,Fmode,Fprice, i ); // rates_total-i
ExtMapBuffer4[i]=maf; // test
...
Bir sınıf özelliğinin aynı sınıfın başka bir özelliğine erişimini düzenlemenin en iyi yolu nedir?
Yani, "bu" yerine "ebeveyn" gibi bir şey kullanmak istiyorum.
mat.chast öğrenin)
class Map;
struct _Seeker {
Map* parent;
int holder;
_Seeker(Map* _parent):parent(_parent){}
void Get(){holder = parent.prize;};
};
class Map {
_Seeker seekerForPrize;
public :
int prize;
Map():seekerForPrize(& this ){}
};
Çocuklar. Lütfen göstergeyi hesap numarasına bağlamanın kodunu söyleyin, böylece hesaba bağlanmanın yanı sıra bir lisans anahtarı eklemek mümkün olur mu?) Çok teşekkür ederim...
Göstergede ArraySetAsSeries(dizi[], false) kullandım. Göstergede iMa(...,i) kullanmam gerekiyordu, bu da ters yönde indekslemeye neden oldu. iMa()'nın indeksleme sırasını bir şekilde ArraySetAsSeries olarak değiştirmesi de mümkün mü?
Şimdiye kadar bunu yaptım: Rates_total-i (diğer uçtan say), ama bunun doğru karar olup olmadığından emin değilim?
Kendim cevaplayayım (belki birilerine de faydası olur). include MovingAverages.mqh (SimpleMAOnBuffer) örneğini kullanarak bir veri arabelleği oluşturabilir (yeniden oluşturabilirsiniz) ve örnekte zaten ArrayGetAsSeries olduğundan ArraySetAsSeries ile uğraşmayın.
//+------------------------------------------------------------------+//| Data on array |//+------------------------------------------------------------------+int DataBuffer( constint rates_total, constint prev_calculated, constint begin,
constdouble & data[], double & buffer[])
{
int i,limit;
//--- check for data//--- save as_series flagsbool as_series_data= ArrayGetAsSeries (data);
bool as_series_buffer= ArrayGetAsSeries (buffer);
if (as_series_data)
ArraySetAsSeries (data, false );
if (as_series_buffer)
ArraySetAsSeries (buffer, false );
//--- first calculation or number of bars was changedif (prev_calculated== 0 ) // first calculation
{
limit=begin+ 1 ;
//--- set empty value for first barsfor (i= 0 ; i<limit- 1 ; i++)
buffer[i]= 0.0 ;
//--- calculate first visible valuedouble firstValue= 0 ;
for (i=begin; i<limit; i++)
firstValue=data[i];
buffer[limit- 1 ]=firstValue;
}
else
limit=prev_calculated- 1 ;
//--- main loopfor (i=limit; i<rates_total- 1 ; i++)
buffer[i]=data[i];
//--- restore as_series flagsif (as_series_data)
ArraySetAsSeries (data, true );
if (as_series_buffer)
ArraySetAsSeries (buffer, true );
//---return (rates_total);
}
//+------------------------------------------------------------------+
Anlaşıldı, Igor, incelikle görmek işe yaramayacak. Netlik sağlamak için verilere giden yolu kısaltmayı düşündüm, ancak vaka sayfaları ve makro ikameleri alacağım. Muhtemelen uzun bir yazı bırakacağım. Tekrar düşünmeme rağmen, çözüm ilginç. Teşekkür ederim!
Bir sınıf özelliğinin aynı sınıfın başka bir özelliğine erişimini düzenlemenin en iyi yolu nedir?
Yani, "bu" yerine "ebeveyn" gibi bir şey kullanmak istiyorum.
Göstergede ArraySetAsSeries (array[], false) kullandım. Göstergede iMa(...,i) kullanmam gerekiyordu, bu da ters yönde indekslemeye neden oldu. iMa()'nın indeksleme sırasını bir şekilde ArraySetAsSeries olarak değiştirmesi de mümkün mü?
Şimdiye kadar bunu yaptım: Rates_total-i (diğer uçtan say), ama bunun doğru karar olup olmadığından emin değilim?Bir sınıf özelliğinin aynı sınıfın başka bir özelliğine erişimini düzenlemenin en iyi yolu nedir?
Yani, "bu" yerine "ebeveyn" gibi bir şey kullanmak istiyorum.
mat.chast öğrenin)
Çocuklar. Lütfen göstergeyi hesap numarasına bağlamanın kodunu söyleyin, böylece hesaba bağlanmanın yanı sıra bir lisans anahtarı eklemek mümkün olur mu?) Çok teşekkür ederim...
Bir soru var, adını string olarak değiştirerek bir yapı elemanına nasıl atıfta bulunulur?
Sana kim söyleyecek, aferin!Göstergede ArraySetAsSeries(dizi[], false) kullandım. Göstergede iMa(...,i) kullanmam gerekiyordu, bu da ters yönde indekslemeye neden oldu. iMa()'nın indeksleme sırasını bir şekilde ArraySetAsSeries olarak değiştirmesi de mümkün mü?
Şimdiye kadar bunu yaptım: Rates_total-i (diğer uçtan say), ama bunun doğru karar olup olmadığından emin değilim?Kendim cevaplayayım (belki birilerine de faydası olur). include MovingAverages.mqh (SimpleMAOnBuffer) örneğini kullanarak bir veri arabelleği oluşturabilir (yeniden oluşturabilirsiniz) ve örnekte zaten ArrayGetAsSeries olduğundan ArraySetAsSeries ile uğraşmayın.
Bir soru var, adını string olarak değiştirerek bir yapı elemanına nasıl atıfta bulunulur?
Sana kim söyleyecek, aferin!derlemeden sonra değişken isimleri olmayacak,
bulmanız gereken makro ikameleri olan bir şey
Dize türünü sevmiyorum - onunla her zaman birçok beklenmedik seçenek bekliyorum, numaralandırma ile bir örnek çizdim, belki size şöyle uyacaktır:
UPD:
Alanlarla çalışma yöntemini yapıya sokmak daha mantıklı olsa da, yani. Böyle:
derlemeden sonra değişken isimleri olmayacak,
Anlaşıldı, Igor, incelikle görmek işe yaramayacak. Netlik sağlamak için verilere giden yolu kısaltmayı düşündüm, ancak vaka sayfaları ve makro ikameleri alacağım. Muhtemelen uzun bir yazı bırakacağım. Tekrar düşünmeme rağmen, çözüm ilginç. Teşekkür ederim!
Bir soru var, adını string olarak değiştirerek bir yapı elemanına nasıl atıfta bulunulur?
Sana kim söyleyecek, aferin!