"Harici bellek sınıfı bir harici değişken tanımlar. Harici değiştirici, veri türünden önce belirtilir. Harici değişkenler program giriş parametrelerini tanımlar, program özellikleri penceresinden kullanılabilirler. Diziler harici değişkenler olarak hareket edemez."
çok teşekkür ederim, reddetmeyeceğim. :-) Ve sana ICQ'da sabun yazacağım, numarayı belirt. Ve cevaplara gelince, size şunu söyleyeceğim: Ben sadece önce cevap verdim, diğerleri geldi ve cevabı gördü ve hiçbir şey eklemedi. Bu nedenle, buradaki herkesin çok kötü olduğunu ve bilgi paylaşmak istemediğini düşünmeyin.
Эксперт: iCustom("USDJPY", ...
А индикатор откуда об этом знает? Лучше добавить в секцию extern индикатора строковую переменную вроде
extern string SymbolName = "USDJPY"; // инструмент по умолчанию
и вызывать стохастик так
Stochastic[i]=iStochastic(SymbolName, 0, ...
(Опять какие-то глюки форума. В Лисе стрелки не работают, оттго и пишу не по-людски)
#propertyindicator_separate_window#propertyindicator_buffers3#propertyindicator_color1Yellow#propertyindicator_color2Red#propertyindicator_color3Red#propertyindicator_minimum0#propertyindicator_maximum100//---- input parameters//extern string st="---Параметры Stochastic---";
extern string SymbolName = "USDJPY";
extern int TimeFrame = 0;
externintKPeriod =12;
externintDPeriod =3;
externintSlowing =2;
//extern string en="---Параметры Envelopes---";externintEnvPeriod=17;
externintDeviation=15;
externintShift=1;
//---- buffersdoubleStochastic[];
doubleUP[];
doubleLOW[];
//+------------------------------------------------------------------+//| Custom indicator initialization function |//+------------------------------------------------------------------+intinit(){//---- indicatorsSetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,Stochastic);
SetIndexStyle(1,DRAW_LINE);
SetIndexBuffer(1,UP);
SetIndexStyle(2,DRAW_LINE);
SetIndexBuffer(2,LOW);
//----return(0);
}intdeinit(){return(0);
}//+------------------------------------------------------------------+//| Custom indicator iteration function |//+------------------------------------------------------------------+intstart(){intlimit;
intcounted_bars=IndicatorCounted();
//---- последний посчитанный бар будет пересчитанif(counted_bars>0)counted_bars--;
limit=Bars-counted_bars;
//---- основной циклfor(inti=limit-1; i>=0; i--) // индикаторы лучше рассчитывать слева направо{Stochastic[i]=iStochastic(SymbolName,TimeFrame,KPeriod,DPeriod,Slowing,MODE_SMA,0,MODE_MAIN,i);
}for(i=limit-1; i>=0; i--) // см. примечание{UP[i] =iMAOnArray(Stochastic,0, EnvPeriod, Shift,MODE_SMA,i)+Deviation;
LOW[i]=iMAOnArray(Stochastic,0, EnvPeriod, Shift,MODE_SMA,i)-Deviation;
)
return(0);
}
Вызов из эксперта:
iCustom("USDJPY", 0, ...
С iMAOnArray вообще надо обращаться аккуратно. Например, поэкспериментировать с порядком ее расчета.
А лучше всего такие вещи делать самому. Кстати, для мультивалютного эксперта может потребоваться везде
явно задавать имя символа и рабочий тайм-фрейм, чтобы избежать умолчательных сюрпризов вроде этого.
Bir kullanıcıyı ararken, çok para birimli bir Uzman Danışmanda. Belirli bir çift için iCustom göstergesinin önce kullanıcının kendisinde daha iyi olması gerekir. sağlamak için gösterge -
harici string SymbolName = "USDJPY"; // varsayılan araç
Bu, danışmanda ayarlanacaklara ek olarak:
iCustom("USDJPY", 60, ... bu çift için!
Ancak bu özel göstergeyi başka bir dahili numara ile başka bir çift için çağırırsam. parametreler - bu, diğer çift için bu kullanıcının bir kopyasını girmeniz gerektiği anlamına gelir. türkiye farklı bir isimle ve orada da başka bir çiftin sembolünü ayarla!
Ancak, özel hindiler olmadan EA içinde iMAOnArray'i kendiniz hesaplamak gerçekten daha kolay!
Doğru şekilde. Bu genellikle amatör bir şey olsa da. Örneğin benim uygulamam, yalnızca belirli bir fikri test etmek için özel göstergeler kullanmak ve ardından fikir işe yararsa gösterge kodunu bir Uzman Danışmana aktarmaktır. Bu yaklaşım, tespit edilmesi zor olan ve özensiz programlama ile hayatı büyük ölçüde zehirleyebilecek "boş" gösterge değerleri gibi tuzaklara karşı pratik olarak garanti verir.
alexjou, yardıma baktım ve şunu buldum:
"Harici bellek sınıfı bir harici değişken tanımlar. Harici değiştirici, veri türünden önce belirtilir. Harici değişkenler program giriş parametrelerini tanımlar, program özellikleri penceresinden kullanılabilirler. Diziler harici değişkenler olarak hareket edemez."
İşte özel göstergenin tüm kodu.
Kalitede Danışmanın dış değişkenlerini ayarladım
Bu çift test cihazında çalışır. Burada yanlış olan ne olabilir?Ve cevaplara gelince, size şunu söyleyeceğim: Ben sadece önce cevap verdim, diğerleri geldi ve cevabı gördü ve hiçbir şey eklemedi. Bu nedenle, buradaki herkesin çok kötü olduğunu ve bilgi paylaşmak istemediğini düşünmeyin.
alexjou!
Seni doğru anladım mı??????????
Bir kullanıcıyı ararken, çok para birimli bir Uzman Danışmanda. Belirli bir çift için iCustom göstergesinin önce kullanıcının kendisinde daha iyi olması gerekir. sağlamak için gösterge -
harici string SymbolName = "USDJPY"; // varsayılan araç
Bu, danışmanda ayarlanacaklara ek olarak:
iCustom("USDJPY", 60, ... bu çift için!
Ancak bu özel göstergeyi başka bir dahili numara ile başka bir çift için çağırırsam. parametreler - bu, diğer çift için bu kullanıcının bir kopyasını girmeniz gerektiği anlamına gelir. türkiye farklı bir isimle ve orada da başka bir çiftin sembolünü ayarla!
Ancak, özel hindiler olmadan EA içinde iMAOnArray'i kendiniz hesaplamak gerçekten daha kolay!
Açıklama için teşekkürler! Ben halledeceğim...
Klerk, hafta sonları ICQ ile sorunlarım var.
İşte benim postam - danışmanın adresini ona gönderebilirsiniz.
rid200549@ya.ru
katip, bkz. burada veya mesajımın posta makbuzunda onaylayın.
Ve uzmanlar için başka bir soru (çok aptalcaysa özür dilerim):
çok para biriminde Uzman Danışman -
Ve her çift için takiplerde, bu değerleri de girip değiştirmeniz gerekiyor mu?
Yoksa olduğu gibi bırakabilir misin?Ve her çift için takiplerde, bu değerleri de girip değiştirmeniz gerekiyor mu?