Description
Developed by Alexander Elder
The Force Index combines volume with price to discover the force of bulls or bears behind every rally or decline
Force Index brings together three essential pieces of information :
*the direction of price change
*its extent
*the volume during that change
Force Index provides a practical way of using volume for making trading decisions.
Force Index can be plotted as a Line (usually the EMA period is 2) Or Histogram (usually the EMA period is 13)
Force Index (Histogram & 13 EMA)
Force Index Divergence
Elder Provides a complete description of how to use this indicator in his book "Trading for a Living"
using System;
using cAlgo.API;
using cAlgo.API.Internals;
using cAlgo.API.Indicators;
using cAlgo.Indicators;
namespace cAlgo
{
[Indicator(IsOverlay = false, TimeZone = TimeZones.UTC, AccessRights = AccessRights.None)]
public class NewIndicator : Indicator
{
private IndicatorDataSeries FI;
private ExponentialMovingAverage EMA;
[Parameter("(Y)Line/(N)Histogram", DefaultValue = true)]
public bool shape { get; set; }
[Parameter("EMA_Period", DefaultValue = 2)]
public int EMA_Period { get; set; }
[Output("FI_Line", PlotType = PlotType.Line)]
public IndicatorDataSeries FI_Line { get; set; }
[Output("FI_HistUp", PlotType = PlotType.Histogram, Thickness = 3, Color = Colors.White)]
public IndicatorDataSeries FI_H_Up { get; set; }
[Output("FI_HistDn", PlotType = PlotType.Histogram, Thickness = 3, Color = Colors.DodgerBlue)]
public IndicatorDataSeries FI_H_Dn { get; set; }
protected override void Initialize()
{
FI = CreateDataSeries();
EMA = Indicators.ExponentialMovingAverage(FI, EMA_Period);
}
public override void Calculate(int index)
{
FI_Line[index] = double.NaN;
FI_H_Up[index] = double.NaN;
FI_H_Dn[index] = double.NaN;
FI[index] = (MarketSeries.Close[index] - MarketSeries.Close[index - 1]) * MarketSeries.TickVolume[index];
if (shape)
{
FI_Line[index] = EMA.Result[index] / MarketSeries.Close[index];
}
else
{
if (EMA.Result[index] > 0)
{
FI_H_Up[index] = EMA.Result[index] / MarketSeries.Close[index];
}
else if (EMA.Result[index] < 0)
{
FI_H_Dn[index] = EMA.Result[index] / MarketSeries.Close[index];
}
}
}
}
}
cyfer
Joined on 27.09.2015
- Distribution: Free
- Language: C#
- Trading platform: cTrader Automate
- File name: Cyf_Elder's_Force_Index.algo
- Rating: 0
- Installs: 3585
- Modified: 13/10/2021 09:54
Comments
Thank you for this great indicator. Any chance of you uploading your version of the squeeze indicator you showed in the picture?
It happens, that I'm just reading the PDF Book "Trading for a Living", which is for free in the
https://b-ok.global/book/683317/b3f441https://b-ok.global/book/683317/b3f441
plus "Come Into My Trading Room" and "The New Trading for A Living" by Dr. Alexander Elder. I was wondering, how to get these indicatorors and like a miracle, here they are.
I very much appreciate the sharing of these indicators with the ctrader community.
Great.