---
id: "M:cAlgo.API.Internals.IIndicatorsAccessor.MacdCrossOver(System.Int32,System.Int32,System.Int32)"
kind: "method"
type: "T:cAlgo.API.Internals.IIndicatorsAccessor"
url: "https://help.ctrader.com/ctrader-algo/references/Indicators/IIndicatorsAccessor/MacdCrossOver/"
---

> Documentation index for agents: https://help.ctrader.com/ctrader-algo/llms.txt · machine index: https://help.ctrader.com/ctrader-algo/api.json

# IIndicatorsAccessor.MacdCrossOver

Member of [IIndicatorsAccessor](https://help.ctrader.com/ctrader-algo/references/Indicators/IIndicatorsAccessor/index.md).

## MacdCrossOver(int longCycle, int shortCycle, int signalPeriods)

The MACD Line with the Signal line and their difference as a histogram.

Environments: Desktop supported · CLI supported · Cloud supported.

C#:

```csharp
MacdCrossOver MacdCrossOver(int longCycle, int shortCycle, int signalPeriods)
```

Python:

```python
api.Indicators.MacdCrossOver(longCycle: int, shortCycle: int, signalPeriods: int) -> MacdCrossOver
```

### Parameters

- `longCycle` (`int`, Python `int`): The long period used calculation.
- `shortCycle` (`int`, Python `int`): The short period used calculation.
- `signalPeriods` (`int`, Python `int`): The period used for the calculation of the signal.

### Returns

`MacdCrossOver` — The Macd CrossOver indicator instance

### Examples

C#:

```csharp
var macdCrossOver = Indicators.MacdCrossOver(26, 12, 9);
if (macdCrossOver.MACD.HasCrossedAbove(macdCrossOver.Signal, 0))
    Print("MACD crossed above the signal line");
```

Python:

```python
macdCrossOver = api.Indicators.MacdCrossOver(26, 12, 9)
if Functions.HasCrossedAbove(macdCrossOver.MACD, macdCrossOver.Signal, 0):
    api.Print("MACD crossed above the signal line")
```

## MacdCrossOver(DataSeries source, int longCycle, int shortCycle, int signalPeriods)

Initializes the MacdCrossOver indicator instance for a specific source series

Environments: Desktop supported · CLI supported · Cloud supported.

C#:

```csharp
MacdCrossOver MacdCrossOver(DataSeries source, int longCycle, int shortCycle, int signalPeriods)
```

Python:

```python
api.Indicators.MacdCrossOver(source: DataSeries, longCycle: int, shortCycle: int, signalPeriods: int) -> MacdCrossOver
```

### Parameters

- `source` (`DataSeries`, Python `DataSeries`): The source series to be applied
- `longCycle` (`int`, Python `int`): The long period used calculation.
- `shortCycle` (`int`, Python `int`): The short period used calculation.
- `signalPeriods` (`int`, Python `int`): The period used for the calculation of the signal.

### Returns

`MacdCrossOver` — The MacdCrossOver indicator instance

### Examples

C#:

```csharp
var macdCrossOver = Indicators.MacdCrossOver(Bars.TypicalPrices, 26, 12, 9);
Print("MACD: {0}, signal: {1}, histogram: {2}", macdCrossOver.MACD.LastValue, macdCrossOver.Signal.LastValue, macdCrossOver.Histogram.LastValue);
```

Python:

```python
macdCrossOver = api.Indicators.MacdCrossOver(api.Bars.TypicalPrices, 26, 12, 9)
api.Print(f"MACD: {macdCrossOver.MACD.LastValue}, signal: {macdCrossOver.Signal.LastValue}, histogram: {macdCrossOver.Histogram.LastValue}")
```

