Nasıl olduğunu çözemediğim prev_calculated hesaplamasının bir analogunun nasıl organize edileceğini önerebilir misiniz? Derslerde gezinmekte zorlanıyorum.
//+------------------------------------------------------------------+//| |//+------------------------------------------------------------------+int CNewBar::PrevCalculated( void )
{
int pc=( int )( this .RatesTotal()- this .m_rt);
return (pc);
}
//+------------------------------------------------------------------+//| CNewBar IsNewBar Основная функция класса |//+------------------------------------------------------------------+bool CNewBar::IsNewBar( void )
{
datetime tm= this .Time();
Print ( "this.m_time " , this .m_time, " tm " ,tm, " this.m_pc " , this .m_pc, " this.m_rt " , this .m_rt);
if (tm== 0 )
returnfalse ;
if (tm!= this .m_time)
{
//--- определяем времяthis .m_time=tm;
//--- определяем кол-воthis .m_pc= this .PrevCalculated();this .m_rt=( int ) this .RatesTotal();returntrue ;
}
this .m_pc=( int ) this .m_rt;returnfalse ;
}
Ben böyle yaptım daha mantıklı bir yöntem söylerseniz harika olur!!!
Ben böyle yaptım daha mantıklı bir yöntem söylerseniz harika olur!!!
Saçmalık bozuk mantık. Aşağıda daha doğru.
class CNewBar : public CObject
{
private :
string m_symbol;
ENUM_TIMEFRAMES m_timeframe;
datetime m_time;
int m_rt;
int m_pc;
datetime Time( void );
int PrevCalculated( void );
int RatesTotal( void );
stringSymbol ( void ) { returnthis .m_symbol; }
public :
ENUM_TIMEFRAMES Timeframe( void ) { returnthis .m_timeframe; }
datetime GetTime( void ) { returnthis .m_time; } // Возвращает время последнего обращенияint GetRatesTotal( void ) { returnthis .m_rt; }
int GetPrevCalculated( void ) { returnthis .m_pc; }
bool IsNewBar( void ); // Основная функция класса
CNewBar( conststring symbol, constENUM_TIMEFRAMES timeframe);
~CNewBar( void ) {;}
};
//+------------------------------------------------------------------+//| Кол-во отработанных |//+------------------------------------------------------------------+int CNewBar::PrevCalculated( void )
{
int _rt= this .RatesTotal();
int rt=_rt-(_rt- this .m_rt);
return (rt < 0 ? 0 : rt);
}
//+------------------------------------------------------------------+//| CNewBar IsNewBar Основная функция класса |//+------------------------------------------------------------------+bool CNewBar::IsNewBar( void )
{
datetime tm= this .Time();
int rt= this .RatesTotal();
if (tm== 0 )
returnfalse ;
if (tm!= this .m_time)
{
//--- определяем времяthis .m_time=tm;
//--- определяем кол-воthis .m_pc= this .PrevCalculated();
this .m_rt=rt;
returntrue ;
}
this .m_pc=rt< 0 ? 0 : rt;
returnfalse ;
}
Ancak bazı nedenlerden dolayı, değerlere başlarken sıfır sarı bir şeritle işaretlenmiştir.
//+------------------------------------------------------------------+//| Expert initialization function |//+------------------------------------------------------------------+intOnInit ()
{
for ( int i= 1 ; i< 2 ; i++)
{
ENUM_TIMEFRAMES n_period=( ENUM_TIMEFRAMES )GetPeriodEnumerator(( uchar )i);
CNewBar *nb = new CNewBar( Symbol (), n_period);
if (nb== NULL )
continue ;
if (!list_new_bar.Add(nb))
{
delete nb;
continue ;
}
Print (nb.IsNewBar(), " ***** " , Symbol (), " ***** " , nb.Timeframe(), " RatesTotal " ,nb.GetRatesTotal(), " Calculated " ,nb.GetPrevCalculated());
}
//--- create timerEventSetTimer ( 1 );
//---return ( INIT_SUCCEEDED );
}
Stratejiyi uygulamak için parametrelere ihtiyacım var
RatesTotal
PrevCalculated
Ve tüm TF'leri sıralayabilme özelliğine sahip bonus olarak yeni bir çubuk
yine de her bir çubuk için fiyatı hesaplamanız gerekiyor
//+------------------------------------------------------------------+//| Расчет цены |//+------------------------------------------------------------------+int CNewBar::PriceHL2( void )
{
int res= ArrayResize ( this .m_pr_hl2, this .m_rt);
for ( int b= this .m_pc; b< this .m_rt; b++)
m_pr_hl2[b]= MathAbs (( iHigh ( this .m_symbol, this .m_timeframe,b) + iLow ( this .m_symbol, this .m_timeframe,b))/ 2 );
return (res);
}
Ama Expert Advisor'daki diziyi ayıklarken değerler çıksa da çıkaramıyorum
Onu bir uzmana havale etmek nasıl daha okuryazar olurdu? Hesaplama için gerekli parametre
Gösterge alt penceresinin numarasını nasıl bulabilir? Örneğin, alt pencerenize bir şeyler yazmak veya çizmek için. "IndicatorGetInteger" türünde açık bir işlev bulamadım.
Evgeny Dyuka # : Gösterge alt penceresinin numarasını nasıl bulabilir? Örneğin, alt pencerenize bir şeyler yazmak veya çizmek için. "IndicatorGetInteger" türünde açık bir işlev bulamadım.
Nasıl olduğunu çözemediğim prev_calculated hesaplamasının bir analogunun nasıl organize edileceğini önerebilir misiniz? Derslerde gezinmekte zorlanıyorum.
Ben böyle yaptım daha mantıklı bir yöntem söylerseniz harika olur!!!
Bu sistem için daha becerikli ama benim yaptığımdan daha verimli, sürdürülebilirlik açısından düşünüyorum.
Ben böyle yaptım daha mantıklı bir yöntem söylerseniz harika olur!!!
Saçmalık bozuk mantık. Aşağıda daha doğru.
Ancak bazı nedenlerden dolayı, değerlere başlarken sıfır sarı bir şeritle işaretlenmiştir.
Saçmalık bozuk mantık. Aşağıda daha doğru.
Ancak bir nedenden dolayı, değerin başlangıcında sıfır sarı bir şeritle işaretlenmiştir.
yeni bir bar mı inşa ediyorsun?
yeni bir bar mı inşa ediyorsun?
Stratejiyi uygulamak için parametrelere ihtiyacım var
Ve tüm TF'leri sıralayabilme özelliğine sahip bonus olarak yeni bir çubuk
yine de her bir çubuk için fiyatı hesaplamanız gerekiyor
Ama Expert Advisor'daki diziyi ayıklarken değerler çıksa da çıkaramıyorum
Onu bir uzmana havale etmek nasıl daha okuryazar olurdu? Hesaplama için gerekli parametre
Herkese selam! Lütfen bize bir ticaret robotu ile bir ticaret danışmanı arasındaki farkın ne olduğunu söyleyin?
Kelime oyunu.
Örneğin, alt pencerenize bir şeyler yazmak veya çizmek için.
"IndicatorGetInteger" türünde açık bir işlev bulamadım.
Gösterge alt penceresinin numarasını nasıl bulabilir?
Örneğin, alt pencerenize bir şeyler yazmak veya çizmek için.
"IndicatorGetInteger" türünde açık bir işlev bulamadım.