Skip to content

Commit

Permalink
Fixes compatibility with classes v3.001-dev
Browse files Browse the repository at this point in the history
  • Loading branch information
kenorb committed Oct 10, 2024
1 parent 83ee7e5 commit 1f6d436
Showing 1 changed file with 10 additions and 19 deletions.
29 changes: 10 additions & 19 deletions Stg_MA.mqh
Original file line number Diff line number Diff line change
Expand Up @@ -136,79 +136,70 @@ class Stg_MA : public Strategy {
IndiAMAParams _indi_params(::MA_Indi_AMA_InpPeriodAMA, ::MA_Indi_AMA_InpFastPeriodEMA,
::MA_Indi_AMA_InpSlowPeriodEMA, ::MA_Indi_AMA_InpShiftAMA, PRICE_TYPICAL,
::MA_Indi_AMA_Shift);
_indi_params.SetDataSourceType(::MA_Indi_AMA_SourceType);
_indi_params.SetTf(Get<ENUM_TIMEFRAMES>(STRAT_PARAM_TF));
SetIndicator(new Indi_AMA(_indi_params), ::MA_Type);
SetIndicator(new Indi_AMA(_indi_params, ::MA_Indi_AMA_SourceType), ::MA_Type);
break;
}
case STG_MA_TYPE_DEMA: // DEMA
{
IndiDEIndiMAParams _indi_params(::MA_Indi_DEMA_Period, ::MA_Indi_DEMA_MA_Shift, ::MA_Indi_DEMA_Applied_Price,
::MA_Indi_DEMA_Shift);
_indi_params.SetDataSourceType(::MA_Indi_DEMA_SourceType);
_indi_params.SetTf(Get<ENUM_TIMEFRAMES>(STRAT_PARAM_TF));
SetIndicator(new Indi_DEMA(_indi_params), ::MA_Type);
SetIndicator(new Indi_DEMA(_indi_params, ::MA_Indi_DEMA_SourceType), ::MA_Type);
break;
}
case STG_MA_TYPE_FRAMA: // FrAMA
{
IndiFrAIndiMAParams _indi_params(::MA_Indi_FrAMA_Period, ::MA_Indi_FrAMA_MA_Shift,
::MA_Indi_FrAMA_Applied_Price, ::MA_Indi_FrAMA_Shift);
_indi_params.SetDataSourceType(::MA_Indi_FrAMA_SourceType);
_indi_params.SetTf(Get<ENUM_TIMEFRAMES>(STRAT_PARAM_TF));
SetIndicator(new Indi_FrAMA(_indi_params), ::MA_Type);
SetIndicator(new Indi_FrAMA(_indi_params, ::MA_Indi_FrAMA_SourceType), ::MA_Type);
break;
}
case STG_MA_TYPE_ICHIMOKU: // Ichimoku
{
IndiIchimokuParams _indi_params(::MA_Indi_Ichimoku_Period_Tenkan_Sen, ::MA_Indi_Ichimoku_Period_Kijun_Sen,
::MA_Indi_Ichimoku_Period_Senkou_Span_B, ::MA_Indi_Ichimoku_Shift);
_indi_params.SetDataSourceType(::MA_Indi_Ichimoku_SourceType);
_indi_params.SetTf(Get<ENUM_TIMEFRAMES>(STRAT_PARAM_TF));
SetIndicator(new Indi_Ichimoku(_indi_params), ::MA_Type);
SetIndicator(new Indi_Ichimoku(_indi_params, ::MA_Indi_Ichimoku_SourceType), ::MA_Type);
break;
}
case STG_MA_TYPE_MA: // MA
{
IndiMAParams _indi_params(::MA_Indi_MA_Period, ::MA_Indi_MA_MA_Shift, ::MA_Indi_MA_Method,
::MA_Indi_MA_Applied_Price, ::MA_Indi_MA_Shift);
_indi_params.SetDataSourceType(::MA_Indi_MA_SourceType);
_indi_params.SetTf(Get<ENUM_TIMEFRAMES>(STRAT_PARAM_TF));
SetIndicator(new Indi_MA(_indi_params), ::MA_Type);
SetIndicator(new Indi_MA(_indi_params, ::MA_Indi_MA_SourceType), ::MA_Type);
break;
}
case STG_MA_TYPE_PRICE_CHANNEL: // Price Channel
{
IndiPriceChannelParams _indi_params(::MA_Indi_PriceChannel_Period, ::MA_Indi_PriceChannel_Shift);
_indi_params.SetDataSourceType(::MA_Indi_PriceChannel_SourceType);
_indi_params.SetTf(Get<ENUM_TIMEFRAMES>(STRAT_PARAM_TF));
SetIndicator(new Indi_PriceChannel(_indi_params), ::MA_Type);
SetIndicator(new Indi_PriceChannel(_indi_params, ::MA_Indi_PriceChannel_SourceType), ::MA_Type);
break;
}
case STG_MA_TYPE_SAR: // SAR
{
IndiSARParams _indi_params(::MA_Indi_SAR_Step, ::MA_Indi_SAR_Maximum_Stop, ::MA_Indi_SAR_Shift);
_indi_params.SetDataSourceType(::MA_Indi_SAR_SourceType);
_indi_params.SetTf(Get<ENUM_TIMEFRAMES>(STRAT_PARAM_TF));
SetIndicator(new Indi_SAR(_indi_params), ::MA_Type);
SetIndicator(new Indi_SAR(_indi_params, ::MA_Indi_SAR_SourceType), ::MA_Type);
break;
}
case STG_MA_TYPE_TEMA: // TEMA
{
IndiTEMAParams _indi_params(::MA_Indi_TEMA_Period, ::MA_Indi_TEMA_MA_Shift, ::MA_Indi_TEMA_Applied_Price,
::MA_Indi_TEMA_Shift);
_indi_params.SetDataSourceType(::MA_Indi_TEMA_SourceType);
_indi_params.SetTf(Get<ENUM_TIMEFRAMES>(STRAT_PARAM_TF));
SetIndicator(new Indi_TEMA(_indi_params), ::MA_Type);
SetIndicator(new Indi_TEMA(_indi_params, ::MA_Indi_TEMA_SourceType), ::MA_Type);
break;
}
case STG_MA_TYPE_VIDYA: // VIDYA
{
IndiVIDYAParams _indi_params(::MA_Indi_VIDYA_Period, ::MA_Indi_VIDYA_MA_Period, ::MA_Indi_VIDYA_MA_Shift,
::MA_Indi_VIDYA_Applied_Price, ::MA_Indi_VIDYA_Shift);
_indi_params.SetDataSourceType(::MA_Indi_VIDYA_SourceType);
_indi_params.SetTf(Get<ENUM_TIMEFRAMES>(STRAT_PARAM_TF));
SetIndicator(new Indi_VIDYA(_indi_params), ::MA_Type);
SetIndicator(new Indi_VIDYA(_indi_params, ::MA_Indi_VIDYA_SourceType), ::MA_Type);
break;
}
case STG_MA_TYPE_0_NONE: // (None)
Expand All @@ -222,7 +213,7 @@ class Stg_MA : public Strategy {
*/
bool SignalOpen(ENUM_ORDER_TYPE _cmd, int _method = 0, float _level = 0.0f, int _shift = 0) {
Chart *_chart = trade.GetChart();
IndicatorBase *_indi = GetIndicator(::MA_Type);
IndicatorData *_indi = GetIndicator(::MA_Type);
uint _ishift = _shift; // @todo: _indi.GetShift();
// bool _result = _indi.GetFlag(INDI_ENTRY_FLAG_IS_VALID, _shift); // @fixme
bool _result = true;
Expand Down

0 comments on commit 1f6d436

Please sign in to comment.