//+------------------------------------------------------------------+ //| Warrior_EA | //| AnimateDread | //| | //| CAIBaseTopologyView bodies - needs the full signal declaration. | //| Same doctrine as Persistence\AIBasePersistenceViewImpl.mqh - | //| every method is a forward, borrowed pointer checked on every | //| call. | //+------------------------------------------------------------------+ #ifndef WARRIOR_TOPOLOGY_AIBASETOPOLOGYVIEWIMPL_MQH #define WARRIOR_TOPOLOGY_AIBASETOPOLOGYVIEWIMPL_MQH string CAIBaseTopologyView::Id(void) { return (CheckPointer(m_owner) != POINTER_INVALID) ? m_owner.DataId() : ""; } string CAIBaseTopologyView::SymbolName(void) { return (CheckPointer(m_owner) != POINTER_INVALID) ? m_owner.ChartSymbolName() : _Symbol; } ENUM_TIMEFRAMES CAIBaseTopologyView::Timeframe(void) { return (CheckPointer(m_owner) != POINTER_INVALID) ? m_owner.ChartTimeframe() : PERIOD_CURRENT; } int CAIBaseTopologyView::OptimizationAlgo(void) { return (CheckPointer(m_owner) != POINTER_INVALID) ? m_owner.TopologyOptimizationAlgo() : 0; } int CAIBaseTopologyView::OutputNeuronsCount(void) { return (CheckPointer(m_owner) != POINTER_INVALID) ? m_owner.ChartOutputNeuronsCount() : 0; } int CAIBaseTopologyView::NeuronsCount(void) { return (CheckPointer(m_owner) != POINTER_INVALID) ? m_owner.DataFeaturesPerBar() : 0; } int CAIBaseTopologyView::HistoryBars(void) { return (CheckPointer(m_owner) != POINTER_INVALID) ? m_owner.DataHistoryBars() : 0; } int CAIBaseTopologyView::InitialNeuronsCount(void) { return (CheckPointer(m_owner) != POINTER_INVALID) ? m_owner.TopologyInitialNeuronsCount() : 0; } int CAIBaseTopologyView::HiddenLayersCount(void) { return (CheckPointer(m_owner) != POINTER_INVALID) ? m_owner.TopologyHiddenLayersCount() : 0; } int CAIBaseTopologyView::ConvFilterCount(void) { return (CheckPointer(m_owner) != POINTER_INVALID) ? m_owner.TopologyConvFilterCount() : 0; } int CAIBaseTopologyView::LstmHiddenSize(void) { return (CheckPointer(m_owner) != POINTER_INVALID) ? m_owner.TopologyLstmHiddenSize() : 0; } int CAIBaseTopologyView::MinTrainYear(void) { return (CheckPointer(m_owner) != POINTER_INVALID) ? m_owner.TopologyMinTrainYear() : 0; } int CAIBaseTopologyView::FractalPeriods(void) { return (CheckPointer(m_owner) != POINTER_INVALID) ? m_owner.TopologyFractalPeriods() : 0; } int CAIBaseTopologyView::OosSplitPct(void) { return (CheckPointer(m_owner) != POINTER_INVALID) ? m_owner.ChartOosSplitPct() : 0; } int CAIBaseTopologyView::SwingConfirmationBars(void) { return (CheckPointer(m_owner) != POINTER_INVALID) ? m_owner.SwingConfirmationBars() : 0; } int CAIBaseTopologyView::ZigZagHandle(void) { return (CheckPointer(m_owner) != POINTER_INVALID) ? m_owner.TopologyZigZagHandle() : INVALID_HANDLE; } bool CAIBaseTopologyView::UseVolumes(void) { return (CheckPointer(m_owner) != POINTER_INVALID) ? m_owner.UseVolumes() : false; } bool CAIBaseTopologyView::UseTime(void) { return (CheckPointer(m_owner) != POINTER_INVALID) ? m_owner.UseTime() : false; } bool CAIBaseTopologyView::UseATR(void) { return (CheckPointer(m_owner) != POINTER_INVALID) ? m_owner.UseATR() : false; } bool CAIBaseTopologyView::UseSwingContext(void) { return (CheckPointer(m_owner) != POINTER_INVALID) ? m_owner.UseSwingContext() : false; } bool CAIBaseTopologyView::UseNews(void) { return (CheckPointer(m_owner) != POINTER_INVALID) ? m_owner.UseNews() : false; } int CAIBaseTopologyView::NewsFeatureWindowMinutes(void) { return (CheckPointer(m_owner) != POINTER_INVALID) ? m_owner.NewsFeatureWindowMinutes() : 0; } bool CAIBaseTopologyView::UseMA(void) { return (CheckPointer(m_owner) != POINTER_INVALID) ? m_owner.UseMA() : false; } bool CAIBaseTopologyView::UseCrossAsset(void) { return (CheckPointer(m_owner) != POINTER_INVALID) ? m_owner.UseCrossAsset() : false; } bool CAIBaseTopologyView::UseSpreadFeature(void) { return (CheckPointer(m_owner) != POINTER_INVALID) ? m_owner.UseSpreadFeature() : false; } bool CAIBaseTopologyView::UseAltData(void) { return (CheckPointer(m_owner) != POINTER_INVALID) ? m_owner.TopologyUseAltData() : false; } bool CAIBaseTopologyView::IsEnsembleMember(void) { return (CheckPointer(m_owner) != POINTER_INVALID) ? m_owner.DataIsEnsembleMember() : false; } double CAIBaseTopologyView::PooledIndependentBars(void) { return (CheckPointer(m_owner) != POINTER_INVALID) ? m_owner.TopologyPooledIndependentBars() : 0.0; } bool CAIBaseTopologyView::UsesConvStage(void) { return (CheckPointer(m_owner) != POINTER_INVALID) ? m_owner.PersistUsesConvStage() : false; } bool CAIBaseTopologyView::UsesLstmStage(void) { return (CheckPointer(m_owner) != POINTER_INVALID) ? m_owner.TopologyUsesLstmStage() : false; } bool CAIBaseTopologyView::HasConvBeforeLstm(void) { return (CheckPointer(m_owner) != POINTER_INVALID) ? m_owner.TopologyHasConvBeforeLstm() : false; } bool CAIBaseTopologyView::AddCustomLayers(CArrayObj *topology) { return (CheckPointer(m_owner) != POINTER_INVALID) ? m_owner.TopologyAddCustomLayers(topology) : false; } ENUM_ACTIVATION CAIBaseTopologyView::HiddenLayerActivation(void) { return (CheckPointer(m_owner) != POINTER_INVALID) ? m_owner.DataHiddenLayerActivation() : PRELU; } ENUM_ACTIVATION CAIBaseTopologyView::OutputLayerActivation(void) { return (CheckPointer(m_owner) != POINTER_INVALID) ? m_owner.PersistOutputLayerActivation() : TANH; } int CAIBaseTopologyView::NetInputWidth(void) { return (CheckPointer(m_owner) != POINTER_INVALID) ? m_owner.TopologyNetInputWidth() : 0; } bool CAIBaseTopologyView::ReplaceNetFromTopology(CArrayObj *topology) { return (CheckPointer(m_owner) != POINTER_INVALID) ? m_owner.TopologyReplaceNetFromTopology(topology) : false; } void CAIBaseTopologyView::ResetOnlineLearningForFreshTopology(void) { if(CheckPointer(m_owner) != POINTER_INVALID) m_owner.TopologyResetOnlineLearningForFreshTopology(); } #endif // WARRIOR_TOPOLOGY_AIBASETOPOLOGYVIEWIMPL_MQH //+------------------------------------------------------------------+