The Money Flow Index is an oscillator that calculates buying and selling pressure using typical price and volume. It oscillates between zero and one hundred. It is typically used to identify trend reversals and price extremes.
Signature
1
publicabstractinterfaceMoneyFlowIndex
Namespace
cAlgo.API.Indicators
Examples
1 2 3 4 5 6 7 8 91011121314
privateMoneyFlowIndex_moneyFlow;[Parameter("Period", DefaultValue = 14)]publicintPeriod{get;set;}[Output("Main")]publicIndicatorDataSeriesResult{get;set;}protectedoverridevoidInitialize(){_moneyFlow=Indicators.MoneyFlowIndex(Period);}publicoverridevoidCalculate(intindex){// Display Result of IndicatorResult[index]=_moneyFlow.Result[index];}
usingcAlgo.API;usingcAlgo.API.Indicators;namespacecAlgo.Robots{// This sample cBot shows how to use the Money Flow Index indicator[Robot(TimeZone = TimeZones.UTC, AccessRights = AccessRights.None)]publicclassMoneyFlowIndexSample:Robot{privatedouble_volumeInUnits;privateMoneyFlowIndex_moneyFlowIndex;[Parameter("Volume (Lots)", DefaultValue = 0.01)]publicdoubleVolumeInLots{get;set;}[Parameter("Stop Loss (Pips)", DefaultValue = 10)]publicdoubleStopLossInPips{get;set;}[Parameter("Take Profit (Pips)", DefaultValue = 10)]publicdoubleTakeProfitInPips{get;set;}[Parameter("Label", DefaultValue = "Sample")]publicstringLabel{get;set;}publicPosition[]BotPositions{get{returnPositions.FindAll(Label);}}protectedoverridevoidOnStart(){_volumeInUnits=Symbol.QuantityToVolumeInUnits(VolumeInLots);_moneyFlowIndex=Indicators.MoneyFlowIndex(14);}protectedoverridevoidOnBar(){if(_moneyFlowIndex.Result.Last(1)>80){ClosePositions(TradeType.Buy);if(BotPositions.Length==0){ExecuteMarketOrder(TradeType.Sell,SymbolName,_volumeInUnits,Label,StopLossInPips,TakeProfitInPips);}}elseif(_moneyFlowIndex.Result.Last(1)<20){ClosePositions(TradeType.Sell);if(BotPositions.Length==0){ExecuteMarketOrder(TradeType.Buy,SymbolName,_volumeInUnits,Label,StopLossInPips,TakeProfitInPips);}}}privatevoidClosePositions(TradeTypetradeType){foreach(varpositioninBotPositions){if(position.TradeType!=tradeType)continue;ClosePosition(position);}}}}
1 2 3 4 5 6 7 8 91011
importclrclr.AddReference("cAlgo.API")fromcAlgo.APIimport*classTest():definitialize(self):# Periods is a parameter defined in C# file of indicatorself.moneyFlowIndex=api.Indicators.MoneyFlowIndex(api.Periods)defcalculate(self,index):# Result is an indicator output defined in C# file of indicator# Display Result of Indicatorapi.Result[index]=self.moneyFlowIndex.Result[index]
importclrclr.AddReference("cAlgo.API")fromcAlgo.APIimport*classTest():definitialize(self):# Periods is a parameter defined in C# file of indicatorself.moneyFlowIndex=api.Indicators.MoneyFlowIndex(api.Periods)defcalculate(self,index):currentValue=self.moneyFlowIndex.Result.LastValue