Neyse ki, eski yapılandırmaların sorunu geride kaldı. 50 yapı önce çok uzun bir süre ve kendimize birkaç kez format değiştirme izni verdik.
Brokerler için yalnızca dağıtılmış dağıtım dağıtım ağı sağladık , aynı zamanda files.metaquotes.net'teki tüm dağıtımların merkezi bir deposunu sağladık - bu, farklı şirketler için yüzlerce dağıtım kopyasını zamanında güncelleme sorununu temelde çözer.
Her durumda, bu sorun için özür dilerim - bunun bir daha olmayacağından eminim.
Ayrıca, bilinen erişim noktalarına bağlantılar başarısız olduğunda, aracının alım satım sunucularını otomatik ve güvenli bir şekilde aramak için artık daha da gelişmiş bir yöntem uygulayacağız. Bu, çalışan erişim noktalarının listelerinin yayınlanmasıyla ilgili sorunu temelden çözecektir.
Tanrıya şükür Alpari halletti, görünüşe göre şimdi 291 sürümü sitede mevcut.Amiral pazarların eski sürümü sitede tutmaya değmeyeceğini açıklaması kaldı - genellikle 7 mb ağırlığında 237 sürüm var ... :)
Böyle bir durumum var, bir gösterge yazdım , başlatıyorum, terminal çöküyor. bu hatayı yazıyor
2010.07.22 13:43:55 StandardDeviationChannel (EURUSD,M1) Dizi 'StandardDeviationChannel.mq5' içinde aralık dışında (114,51)
Nerede hata yaptığımı anlayamıyorum, mantıksal olarak, her şeyi doğru kaydetmiş gibiyim, MACD göstergesinden standart özel göstergeler setindeki ...\MQL5\Indicators\ örneğinden bir örnek aldım. Örnekler klasörü
//+------------------------------------------------------------------+//| StandardDeviationChannel.mq5 |//| Сергей Грицай |//| sergey1294@list.ru |//+------------------------------------------------------------------+#property copyright "Сергей Грицай"#property link "sergey1294@list.ru"#property version "1.00"#property indicator_chart_window#property indicator_buffers 4#property indicator_plots 3#property indicator_type1 DRAW_LINE#property indicator_type2 DRAW_LINE#property indicator_type3 DRAW_LINE#property indicator_color1 DodgerBlue#property indicator_color2 DodgerBlue#property indicator_color3 Blue#property indicator_style3 STYLE_DOTinputint InpMAPeriod= 14 ; // Periodinputint InpMAShift= 0 ; // ShiftinputENUM_MA_METHOD InpMAMethod= MODE_SMA ; // MethodinputENUM_APPLIED_PRICE InpAppliedPrice= PRICE_CLOSE ; // Applied priceinputint InpDeviation= 2.0 ; // Deviation//--- indicator buffersdouble ExtUpBuffer[];
double ExtDownBuffer[];
double ExtMiddBuffer[];
double ExtMABuffer[];
double ExtStdDevBuffer[];
//--- indicator handleint ExtMAHandle;
int ExtStdDevMAHandle;
//+------------------------------------------------------------------+//| Custom indicator initialization function |//+------------------------------------------------------------------+intOnInit ()
{
SetIndexBuffer ( 0 ,ExtUpBuffer, INDICATOR_DATA );
SetIndexBuffer ( 1 ,ExtDownBuffer, INDICATOR_DATA );
SetIndexBuffer ( 2 ,ExtMiddBuffer, INDICATOR_DATA );
SetIndexBuffer ( 3 ,ExtMABuffer, INDICATOR_CALCULATIONS );
SetIndexBuffer ( 4 ,ExtStdDevBuffer, INDICATOR_CALCULATIONS );
PlotIndexSetInteger ( 0 , PLOT_DRAW_BEGIN ,InpMAPeriod- 1 );
PlotIndexSetInteger ( 1 , PLOT_DRAW_BEGIN ,InpMAPeriod- 1 );
PlotIndexSetInteger ( 2 , PLOT_DRAW_BEGIN ,InpMAPeriod- 1 );
ExtMAHandle= iMA ( NULL , 0 ,InpMAPeriod, 0 ,InpMAMethod,InpAppliedPrice);
ExtStdDevMAHandle= iStdDev ( NULL , 0 ,InpMAPeriod, 0 ,InpMAMethod,InpAppliedPrice);
return ( 0 );
}
//+------------------------------------------------------------------+//| Custom indicator iteration function |//+------------------------------------------------------------------+intOnCalculate ( constint rates_total,
constint prev_calculated,
constdatetime &time[],
constdouble &open[],
constdouble &high[],
constdouble &low[],
constdouble &close[],
constlong &tick_volume[],
constlong &volume[],
constint &spread[])
{
//---//--- return value of prev_calculated for next callif (rates_total<InpMAPeriod)
return ( 0 );
//--- not all data may be calculatedint calculated= BarsCalculated (ExtMAHandle);
if (calculated<rates_total)
{
Print ( "Not all data of ExtMAHandle is calculated (" ,calculated, "bars ). Error" , GetLastError ());
return ( 0 );
}
calculated= BarsCalculated (ExtStdDevMAHandle);
if (calculated<rates_total)
{
Print ( "Not all data of ExtStdDevMAHandle is calculated (" ,calculated, "bars ). Error" , GetLastError ());
return ( 0 );
}
//--- we can copy not all dataint to_copy;
if (prev_calculated>rates_total || prev_calculated< 0 ) to_copy=rates_total;
else
{
to_copy=rates_total-prev_calculated;
if (prev_calculated> 0 ) to_copy++;
}
//--- get MA bufferif ( CopyBuffer (ExtMAHandle, 0 , 0 ,to_copy,ExtMABuffer)<= 0 )
{
Print ( "Getting fast MA is failed! Error" , GetLastError ());
return ( 0 );
}
//--- get StdDev bufferif ( CopyBuffer (ExtStdDevMAHandle, 0 , 0 ,to_copy,ExtStdDevBuffer)<= 0 )
{
Print ( "Getting slow StdDev is failed! Error" , GetLastError ());
return ( 0 );
}
//---int limit;
if (prev_calculated== 0 )
limit= 0 ;
else limit=prev_calculated- 1 ;
//--- the main loop of calculationsfor ( int i=limit;i<rates_total;i++)
{
ExtMiddBuffer[i]=ExtMABuffer[i];
ExtUpBuffer[i]=ExtMABuffer[i]+(InpDeviation*ExtStdDevBuffer[i]);
ExtDownBuffer[i]=ExtMABuffer[i]-(InpDeviation*ExtStdDevBuffer[i]);
}
return (rates_total);
}
//+------------------------------------------------------------------+
Neyse ki, eski yapılandırmaların sorunu geride kaldı. 50 yapı önce çok uzun bir süre ve kendimize birkaç kez format değiştirme izni verdik.
Brokerler için yalnızca dağıtılmış dağıtım dağıtım ağı sağladık , aynı zamanda files.metaquotes.net'teki tüm dağıtımların merkezi bir deposunu sağladık - bu, farklı şirketler için yüzlerce dağıtım kopyasını zamanında güncelleme sorununu temelde çözer.
Her durumda, bu sorun için özür dilerim - bunun bir daha olmayacağından eminim.
Ayrıca, bilinen erişim noktalarına bağlantılar başarısız olduğunda, aracının alım satım sunucularını otomatik ve güvenli bir şekilde aramak için artık daha da gelişmiş bir yöntem uygulayacağız. Bu, çalışan erişim noktalarının listelerinin yayınlanmasıyla ilgili sorunu temelden çözecektir.
Beyler, imleç ne olacak .. Kesinlikle - F7'de çöküyor ..
Hosanna yerine - sadece kelimeler..
ve kısayol tuşları - pliz - geri .. kolay .. bir alışkanlık - yıllarca çizildi ..
Kısayol tuşlarına gelince, kabul edildi. Bir görev var.
İmleç biraz daha zor. Şu ana kadar belirttiğiniz işlemlerde dahi gözlemlenmedi.
Böyle bir durumum var, bir gösterge yazdım , başlatıyorum, terminal çöküyor. bu hatayı yazıyor
2010.07.22 13:43:55 StandardDeviationChannel (EURUSD,M1) Dizi 'StandardDeviationChannel.mq5' içinde aralık dışında (114,51)
Nerede hata yaptığımı anlayamıyorum, mantıksal olarak, her şeyi doğru kaydetmiş gibiyim, MACD göstergesinden standart özel göstergeler setindeki ...\MQL5\Indicators\ örneğinden bir örnek aldım. Örnekler klasörü
Böyle bir durumum var, bir gösterge yazdım, başlatıyorum, terminal çöküyor. bu hatayı yazıyor
2010.07.22 13:43:55 StandardDeviationChannel (EURUSD,M1) Dizi 'StandardDeviationChannel.mq5' içinde aralık dışında ( 114,51 )
ExtUpBuffer[i]=ExtMABuffer[i]+(InpDeviation* E xtStdDevBuffer[i]);kırmızıyla vurgulanmışkırmızıyla vurgulanmış
Görünüşe göre, to_copy'niz açıkça Rate_total'dan daha az.
Evet, to_copy=1.
ve bu nasıl düzeltilebilir? bire eşitse, neden bu satırları kaldırdığınızda
sonra gösterge çalışmaya başlar ve MA'yı mükemmel bir şekilde çizer
ve bu nasıl düzeltilebilir? bire eşitse, neden bu satırları kaldırdığınızda
sonra gösterge çalışmaya başlar ve MA'yı mükemmel şekilde çizer
#property indicator_buffers 4
ama koymak
belirttiniz
#property indicator_buffers 4
ama koymak