Belki yaratıcılar, sıradan programcıların karşılaştığı bu tür zorlukları görmüyorlar.
Örneğin, bir zamanlar enstitüde BASIC okudum ve başka bir şey yok... Ve mql4'ü kendi başıma çalışmak zorunda kaldım, şimdi onunla hiçbir sorunum yok. Ve mql5'i anlamaya çalıştım, bu yüzden neredeyse bir hafta boyunca 100 satırdan az bir başlık içeren basit bir gösterge yazdım. Benim düşünceme göre, bir fark ve önemli bir fark var.
Bu bir efsane ve bunu biliyorsun.
Normal ATR.mq4'ü MetaTrader 4'ten alıyoruz. 104 satır var:
//+------------------------------------------------------------------+//| ATR.mq4 |//| Copyright 2005-2014, MetaQuotes Software Corp. |//| https://www.mql4.com |//+------------------------------------------------------------------+#property copyright"2005-2014, MetaQuotes Software Corp."#property link"https://www.mql4.com"#property description"Average True Range"#property strict//--- indicator settings#property indicator_separate_window#property indicator_buffers1#property indicator_color1 DodgerBlue
//--- input parameterinputint InpAtrPeriod= 14 ; // ATR Period//--- buffersdouble ExtATRBuffer[];
double ExtTRBuffer[];
//+------------------------------------------------------------------+//| Custom indicator initialization function |//+------------------------------------------------------------------+intOnInit ( void )
{
string short_name;
//--- 1 additional buffer used for counting.
IndicatorBuffers( 2 );
IndicatorDigits( Digits );
//--- indicator line
SetIndexStyle( 0 , DRAW_LINE );
SetIndexBuffer ( 0 ,ExtATRBuffer);
SetIndexBuffer ( 1 ,ExtTRBuffer);
//--- name for DataWindow and indicator subwindow label
short_name= "ATR(" + IntegerToString (InpAtrPeriod)+ ")" ;
IndicatorShortName(short_name);
SetIndexLabel( 0 ,short_name);
//--- check for input parameterif (InpAtrPeriod<= 0 )
{
Print ( "Wrong input parameter ATR Period=" ,InpAtrPeriod);
return ( INIT_FAILED );
}
//---
SetIndexDrawBegin( 0 ,InpAtrPeriod);
//---return ( INIT_SUCCEEDED );
}
//+------------------------------------------------------------------+//| Average True Range |//+------------------------------------------------------------------+intOnCalculate ( constint rates_total,
constint prev_calculated,
constdatetime &time[],
constdouble &open[],
constdouble &high[],
constdouble &low[],
constdouble &close[],
constlong &tick_volume[],
constlong &volume[],
constint &spread[])
{
int i,limit;
//--- check for bars count and input parameterif (rates_total<=InpAtrPeriod || InpAtrPeriod<= 0 )
return ( 0 );
//--- counting from 0 to rates_totalArraySetAsSeries (ExtATRBuffer, false );
ArraySetAsSeries (ExtTRBuffer, false );
ArraySetAsSeries (open, false );
ArraySetAsSeries (high, false );
ArraySetAsSeries (low, false );
ArraySetAsSeries (close, false );
//--- preliminary calculationsif (prev_calculated== 0 )
{
ExtTRBuffer[ 0 ]= 0.0 ;
ExtATRBuffer[ 0 ]= 0.0 ;
//--- filling out the array of True Range values for each periodfor (i= 1 ; i<rates_total; i++)
ExtTRBuffer[i]= MathMax (high[i],close[i- 1 ])- MathMin (low[i],close[i- 1 ]);
//--- first AtrPeriod values of the indicator are not calculateddouble firstValue= 0.0 ;
for (i= 1 ; i<=InpAtrPeriod; i++)
{
ExtATRBuffer[i]= 0.0 ;
firstValue+=ExtTRBuffer[i];
}
//--- calculating the first value of the indicator
firstValue/=InpAtrPeriod;
ExtATRBuffer[InpAtrPeriod]=firstValue;
limit=InpAtrPeriod+ 1 ;
}
else
limit=prev_calculated- 1 ;
//--- the main loop of calculationsfor (i=limit; i<rates_total; i++)
{
ExtTRBuffer[i]= MathMax (high[i],close[i- 1 ])- MathMin (low[i],close[i- 1 ]);
ExtATRBuffer[i]=ExtATRBuffer[i- 1 ]+(ExtTRBuffer[i]-ExtTRBuffer[i-InpAtrPeriod])/InpAtrPeriod;
}
//--- return value of prev_calculated for next callreturn (rates_total);
}
//+------------------------------------------------------------------+
Aynı ATR.mq5'i MetaTrader 5'ten alıyoruz. 96 satır var.
//+------------------------------------------------------------------+//| ATR.mq5 |//| Copyright 2009, MetaQuotes Software Corp. |//| https://www.mql5.com |//+------------------------------------------------------------------+#property copyright"2009, MetaQuotes Software Corp."#property link"https://www.mql5.com"#property description"Average True Range"//--- indicator settings#property indicator_separate_window#property indicator_buffers2#property indicator_plots1#property indicator_type1 DRAW_LINE#property indicator_color1 DodgerBlue
#property indicator_label1 "ATR"//--- input parametersinputint InpAtrPeriod= 14 ; // ATR period//--- indicator buffersdouble ExtATRBuffer[];
double ExtTRBuffer[];
//--- global variableint ExtPeriodATR;
//+------------------------------------------------------------------+//| Custom indicator initialization function |//+------------------------------------------------------------------+voidOnInit ()
{
//--- check for input valueif (InpAtrPeriod<= 0 )
{
ExtPeriodATR= 14 ;
printf ( "Incorrect input parameter InpAtrPeriod = %d. Indicator will use value %d for calculations." ,InpAtrPeriod,ExtPeriodATR);
}
else ExtPeriodATR=InpAtrPeriod;
//--- indicator buffers mappingSetIndexBuffer ( 0 ,ExtATRBuffer, INDICATOR_DATA );
SetIndexBuffer ( 1 ,ExtTRBuffer, INDICATOR_CALCULATIONS );
//---IndicatorSetInteger ( INDICATOR_DIGITS , _Digits );
//--- sets first bar from what index will be drawnPlotIndexSetInteger ( 0 , PLOT_DRAW_BEGIN ,InpAtrPeriod);
//--- name for DataWindow and indicator subwindow labelstring short_name= "ATR(" + string (ExtPeriodATR)+ ")" ;
IndicatorSetString ( INDICATOR_SHORTNAME ,short_name);
PlotIndexSetString ( 0 , PLOT_LABEL ,short_name);
//--- initialization done
}
//+------------------------------------------------------------------+//| Average True Range |//+------------------------------------------------------------------+intOnCalculate ( constint rates_total,
constint prev_calculated,
constdatetime &time[],
constdouble &open[],
constdouble &high[],
constdouble &low[],
constdouble &close[],
constlong &tick_volume[],
constlong &volume[],
constint &spread[])
{
int i,limit;
//--- check for bars countif (rates_total<=ExtPeriodATR)
return ( 0 ); // not enough bars for calculation//--- preliminary calculationsif (prev_calculated== 0 )
{
ExtTRBuffer[ 0 ]= 0.0 ;
ExtATRBuffer[ 0 ]= 0.0 ;
//--- filling out the array of True Range values for each periodfor (i= 1 ;i<rates_total && ! IsStopped ();i++)
ExtTRBuffer[i]= MathMax (high[i],close[i- 1 ])- MathMin (low[i],close[i- 1 ]);
//--- first AtrPeriod values of the indicator are not calculateddouble firstValue= 0.0 ;
for (i= 1 ;i<=ExtPeriodATR;i++)
{
ExtATRBuffer[i]= 0.0 ;
firstValue+=ExtTRBuffer[i];
}
//--- calculating the first value of the indicator
firstValue/=ExtPeriodATR;
ExtATRBuffer[ExtPeriodATR]=firstValue;
limit=ExtPeriodATR+ 1 ;
}
else limit=prev_calculated- 1 ;
//--- the main loop of calculationsfor (i=limit;i<rates_total && ! IsStopped ();i++)
{
ExtTRBuffer[i]= MathMax (high[i],close[i- 1 ])- MathMin (low[i],close[i- 1 ]);
ExtATRBuffer[i]=ExtATRBuffer[i- 1 ]+(ExtTRBuffer[i]-ExtTRBuffer[i-ExtPeriodATR])/ExtPeriodATR;
}
//--- return value of prev_calculated for next callreturn (rates_total);
}
//+------------------------------------------------------------------+
104 sıra ile 96 sıra arasında hiçbir fark yoktur, hatta avantajı MQL5 tarafındadır.
İnsanlar saçmalıkları ve efsaneleri forumdan foruma böyle aktarıyorlar.
Fark sadece küçük bir fonksiyon setindedir (MT5'te daha iyidirler) ve geliştirme için ciddi masraflar yoktur.
“Zaman kaybetmek istemiyorum” ve “Dün ihtiyacım var” hakkında, bir ticaret platformunun bir tüccarın verimliliğini artırmak için önemli bir araç olduğunu hatırlatmak istiyorum. Yakınlarda bariz bir şekilde daha etkili ve işlevsel bir çözüm varken, onu kullanmamak kendinize zarar vermek ve uydurulmuş efsanelerle kendinizi kandırmaktır.
MT4'ü sonsuza kadar unutmak için ticaret stratejilerini test edenleri karşılaştırmak yeterlidir. Şaka yapmıyorum ve fazla ileri gitmiyorum - bu gerçek.
MT5'teki pozisyonları özetlemenin en aptal ilkesi (ve bu, birkaç MTS'nin bir sembol ve bir hesapta aynı anda çalışmasını organize etmenin herhangi bir hile olmadan imkansızlığı anlamına gelir) sonsuza dek üzerinde ticaret yapılmasını engelledi. Gerçek hayatta MT5 sağlayan daha fazla broker olacağı zaman bile, eldeki parmaklardan daha fazla.
Ve sadece testçi uğruna MT5 kodunu yeniden yazmak - kusura bakmayın ama bu çok saçma.
MT5'teki pozisyonları toplamanın en aptal ilkesi (ve bu, birkaç MTS'nin tek bir sembol ve bir hesapta aynı anda çalışmasını organize etmenin herhangi bir hile olmadan imkansızlığı anlamına gelir) sonsuza dek üzerinde alım satım yapılmasını engelledi. Gerçek hayatta MT5 sağlayan daha fazla broker olacağı zaman bile, eldeki parmaklardan daha fazla.
Hiç aptal değil.
Avantajları o kadar çok anlatıldı ki tekrarlamak istemiyorum. Ayrıca tekrar tekrar "tek bir sembolde birkaç MTS'nin kendini aldatma, kayıplar ve kitlesel kullanım için gerçekçi olmayan bir durum olduğunu" açıkladım.
Ve sadece testçi uğruna MT5 kodunu yeniden yazmak - kusura bakmayın ama bu çok saçma.
Bu saçma değil.
Kendinizi fırsatlardan mahrum ediyorsunuz ve gelişme fırsatlarını kaçırıyorsunuz. Açıkça daha kaliteli, işlevsel ve güçlü bir sistemin bir sürü kusuru olan eskisinden daha kötü olduğunu kendinize ve başkalarına kanıtlamak, kendinize doğrudan zarar vermektir.
Fark sadece küçük bir fonksiyon setindedir (MT5'te daha iyidirler) ve geliştirme için ciddi masraflar yoktur.
“Zaman kaybetmek istemiyorum” ve “Dün ihtiyacım var” hakkında, bir ticaret platformunun bir tüccarın verimliliğini artırmak için önemli bir araç olduğunu hatırlatmak istiyorum. Yakınlarda bariz bir şekilde daha etkili ve işlevsel bir çözüm varken, onu kullanmamak kendinize zarar vermek ve uydurulmuş efsanelerle kendinizi kandırmaktır.
MT4'ü sonsuza kadar unutmak için ticaret stratejilerini test edenleri karşılaştırmak yeterlidir. Şaka yapmıyorum ve fazla ileri gitmiyorum - bu gerçek.
Renat, MT4 test cihazını MT5 test cihazıyla eşitlemek ne kadar zor?
Normal ATR.mq4'ü MetaTrader 4'ten alıyoruz. 104 satır var:
Aynı ATR.mq5'i MetaTrader 5'ten alıyoruz. 96 satır var.
104 sıra ile 96 sıra arasında hiçbir fark yoktur, hatta avantajı MQL5 tarafındadır.
İnsanlar saçmalıkları ve efsaneleri forumdan foruma böyle aktarıyorlar.
Evet, bunun hakkında yazmadım, ama aynı göstergeyi mql4'te bir saat içinde yazdığım ve aynı kodu mql5'te yazma konusunda ustalaşmamın bir hafta sürdüğü gerçeği hakkında... Bu hisse senedi sayısı ile ilgili değil. , ancak yaklaşım programlamayı anlamakla ilgili ...
mql4'teki normal bir göstergenin değerini mql5'teki aynı eylemden almak ne kadar farklı... Bunu çözerken neredeyse çıldıracaktım. Tabii ki, programlama kursları verebilirsiniz, ancak bu kursları almanıza izin vermeyebilecek diğer faktörleri de göz önünde bulundurmalısınız ... Ve maliyet, yaş ve mekandan uzaklık veya trafik maliyeti. çevrimiçi öğrenme olayı... Evet, bu yeterli değil...
Evet, bunun hakkında yazmadım, ama aynı göstergeyi mql4'te bir saat içinde yazdığım ve aynı kodu mql5'te yazma konusunda ustalaşmamın bir hafta sürdüğü gerçeği hakkında... Bu hisse senedi sayısı ile ilgili değil. , ancak yaklaşım programlamayı anlamakla ilgili ...
mql4'teki normal bir göstergenin değerini mql5'teki aynı eylemden almak ne kadar farklı... Bunu çözerken neredeyse çıldıracaktım. Tabii ki, programlama kursları verebilirsiniz, ancak bu kursları almanıza izin vermeyebilecek diğer faktörleri de göz önünde bulundurmalısınız ... Ve maliyet, yaş ve mekandan uzaklık veya trafik maliyeti. çevrimiçi öğrenme olayı... Evet, bu yeterli değil...
İki dosyayı karşılaştırın ve en az farkı bulun.
"Usta olmak için bir hafta, neredeyse deliriyordum" - bu forumdaki kırmızı bir kelime için. Mitler böyle doğar.
"Usta olmak için bir hafta, neredeyse deliriyordum" - bu forumdaki kırmızı bir kelime için. Mitler böyle doğar.
Pekala, bunun gerçek gerçek olduğunu kanıtlamayacağım. Genel olarak C++ programlamaya ve OOP'ye aşina olmayan bir kişi için bu oldukça zordur ve kırmızı bir kelime veya bir efsanenin doğuşu için hiç de değil. İşin garibi, bir hafta içinde anladım ve ihtiyacım olanı yazdım. Ve bu tamamen farklı bir efsane, mql5'te ustalaşmanın benim gibi profesyonel olmayanlar için bile mevcut olduğunu gösteriyor.
Belki yaratıcılar, sıradan programcıların karşılaştığı bu tür zorlukları görmüyorlar.
Örneğin, bir zamanlar enstitüde BASIC okudum ve başka bir şey yok... Ve mql4'ü kendi başıma çalışmak zorunda kaldım, şimdi onunla hiçbir sorunum yok. Ve mql5'i anlamaya çalıştım, bu yüzden neredeyse bir hafta boyunca 100 satırdan az bir başlık içeren basit bir gösterge yazdım. Benim düşünceme göre, bir fark ve önemli bir fark var.
Bu bir efsane ve bunu biliyorsun.
Normal ATR.mq4'ü MetaTrader 4'ten alıyoruz. 104 satır var:
Aynı ATR.mq5'i MetaTrader 5'ten alıyoruz. 96 satır var.
104 sıra ile 96 sıra arasında hiçbir fark yoktur, hatta avantajı MQL5 tarafındadır.
İnsanlar saçmalıkları ve efsaneleri forumdan foruma böyle aktarıyorlar.
Hiç de değil, dilin aynı olduğu anlamına gelmez.
Fark sadece küçük bir fonksiyon setindedir (MT5'te daha iyidirler) ve geliştirme için ciddi masraflar yoktur.
“Zaman kaybetmek istemiyorum” ve “Dün ihtiyacım var” hakkında, bir ticaret platformunun bir tüccarın verimliliğini artırmak için önemli bir araç olduğunu hatırlatmak istiyorum. Yakınlarda bariz bir şekilde daha etkili ve işlevsel bir çözüm varken, onu kullanmamak kendinize zarar vermek ve uydurulmuş efsanelerle kendinizi kandırmaktır.
MT4'ü sonsuza kadar unutmak için ticaret stratejilerini test edenleri karşılaştırmak yeterlidir. Şaka yapmıyorum ve fazla ileri gitmiyorum - bu gerçek.
MT5'teki pozisyonları özetlemenin en aptal ilkesi (ve bu, birkaç MTS'nin bir sembol ve bir hesapta aynı anda çalışmasını organize etmenin herhangi bir hile olmadan imkansızlığı anlamına gelir) sonsuza dek üzerinde ticaret yapılmasını engelledi. Gerçek hayatta MT5 sağlayan daha fazla broker olacağı zaman bile, eldeki parmaklardan daha fazla.
Ve sadece testçi uğruna MT5 kodunu yeniden yazmak - kusura bakmayın ama bu çok saçma.
MT5'teki pozisyonları toplamanın en aptal ilkesi (ve bu, birkaç MTS'nin tek bir sembol ve bir hesapta aynı anda çalışmasını organize etmenin herhangi bir hile olmadan imkansızlığı anlamına gelir) sonsuza dek üzerinde alım satım yapılmasını engelledi. Gerçek hayatta MT5 sağlayan daha fazla broker olacağı zaman bile, eldeki parmaklardan daha fazla.
Hiç aptal değil.
Avantajları o kadar çok anlatıldı ki tekrarlamak istemiyorum. Ayrıca tekrar tekrar "tek bir sembolde birkaç MTS'nin kendini aldatma, kayıplar ve kitlesel kullanım için gerçekçi olmayan bir durum olduğunu" açıkladım.
Ve sadece testçi uğruna MT5 kodunu yeniden yazmak - kusura bakmayın ama bu çok saçma.
Bu saçma değil.
Kendinizi fırsatlardan mahrum ediyorsunuz ve gelişme fırsatlarını kaçırıyorsunuz. Açıkça daha kaliteli, işlevsel ve güçlü bir sistemin bir sürü kusuru olan eskisinden daha kötü olduğunu kendinize ve başkalarına kanıtlamak, kendinize doğrudan zarar vermektir.
Hiç de değil, dilin aynı olduğu anlamına gelmez.
Fark sadece küçük bir fonksiyon setindedir (MT5'te daha iyidirler) ve geliştirme için ciddi masraflar yoktur.
“Zaman kaybetmek istemiyorum” ve “Dün ihtiyacım var” hakkında, bir ticaret platformunun bir tüccarın verimliliğini artırmak için önemli bir araç olduğunu hatırlatmak istiyorum. Yakınlarda bariz bir şekilde daha etkili ve işlevsel bir çözüm varken, onu kullanmamak kendinize zarar vermek ve uydurulmuş efsanelerle kendinizi kandırmaktır.
MT4'ü sonsuza kadar unutmak için ticaret stratejilerini test edenleri karşılaştırmak yeterlidir. Şaka yapmıyorum ve fazla ileri gitmiyorum - bu gerçek.
Bu bir efsane ve bunu biliyorsun.
Normal ATR.mq4'ü MetaTrader 4'ten alıyoruz. 104 satır var:
Aynı ATR.mq5'i MetaTrader 5'ten alıyoruz. 96 satır var.
104 sıra ile 96 sıra arasında hiçbir fark yoktur, hatta avantajı MQL5 tarafındadır.
İnsanlar saçmalıkları ve efsaneleri forumdan foruma böyle aktarıyorlar.
Evet, bunun hakkında yazmadım, ama aynı göstergeyi mql4'te bir saat içinde yazdığım ve aynı kodu mql5'te yazma konusunda ustalaşmamın bir hafta sürdüğü gerçeği hakkında... Bu hisse senedi sayısı ile ilgili değil. , ancak yaklaşım programlamayı anlamakla ilgili ...
mql4'teki normal bir göstergenin değerini mql5'teki aynı eylemden almak ne kadar farklı... Bunu çözerken neredeyse çıldıracaktım. Tabii ki, programlama kursları verebilirsiniz, ancak bu kursları almanıza izin vermeyebilecek diğer faktörleri de göz önünde bulundurmalısınız ... Ve maliyet, yaş ve mekandan uzaklık veya trafik maliyeti. çevrimiçi öğrenme olayı... Evet, bu yeterli değil...
Renat, MT4 test cihazını MT5 test cihazıyla eşitlemek ne kadar zor?
MQL5.community ile entegrasyonun dördüne değil, sadece hizmet kısmına dokunmayacağız.
Evet, bunun hakkında yazmadım, ama aynı göstergeyi mql4'te bir saat içinde yazdığım ve aynı kodu mql5'te yazma konusunda ustalaşmamın bir hafta sürdüğü gerçeği hakkında... Bu hisse senedi sayısı ile ilgili değil. , ancak yaklaşım programlamayı anlamakla ilgili ...
mql4'teki normal bir göstergenin değerini mql5'teki aynı eylemden almak ne kadar farklı... Bunu çözerken neredeyse çıldıracaktım. Tabii ki, programlama kursları verebilirsiniz, ancak bu kursları almanıza izin vermeyebilecek diğer faktörleri de göz önünde bulundurmalısınız ... Ve maliyet, yaş ve mekandan uzaklık veya trafik maliyeti. çevrimiçi öğrenme olayı... Evet, bu yeterli değil...
İki dosyayı karşılaştırın ve en az farkı bulun.
"Usta olmak için bir hafta, neredeyse deliriyordum" - bu forumdaki kırmızı bir kelime için. Mitler böyle doğar.
Sadece içindeki dil o kadar farklı ki, ustalaşmak çok zaman alıyor.
İki dosyayı karşılaştırın ve en az farkı bulun.
"Usta olmak için bir hafta, neredeyse deliriyordum" - bu forumdaki kırmızı bir kelime için. Mitler böyle doğar.