Description
From 'Cybernetic Analysis for Stocks and Futures' by John Ehlers.
qualitiedx2
Joined on 30.09.2011
- Distribution: Free
- Language: C#
- Trading platform: cTrader Automate
- File name: Stochastic RSI.algo
- Rating: 5
- Installs: 14155
- Modified: 13/10/2021 09:54
Comments
Can some fix the error and warning pleaseeee
using System;
using cAlgo.API;
namespace StochasticStrategy
{
[Robot(TimeZone = TimeZones.UTC, AccessRights = AccessRights.None)]
public class StochasticStrategy : Robot
{
[Parameter("Instrument")]
public string Instrument { get; set; }
[Parameter("Trade Volume (Lots)", DefaultValue = 0.1)]
public double TradeVolume { get; set; }
private StochasticOscillator _stoch;
protected override void OnStart()
{
// Create the Stochastic oscillator with period of 14 and smoothing of 3
_stoch = Indicators.StochasticOscillator(MarketSeries, 14, 3);
// Subscribe to the Stochastic oscillator's Updated event
_stoch.Updated += OnStochUpdated;
}
protected override void OnStop()
{
// Unsubscribe from the Stochastic oscillator's Updated event
_stoch.Updated -= OnStochUpdated;
}
private void OnStochUpdated()
{
// Check if the %K and %D lines cross below 20, and execute a buy order if they do
if (_stoch.PercentK.LastValue < 20 && _stoch.PercentD.LastValue < 20 && Positions.Count == 0)
{
ExecuteMarketOrder(TradeType.Buy, Symbol, TradeVolume, "Stochastic Buy");
}
// Check if the %K and %D lines cross above 20, and close the position if they do
if (_stoch.PercentK.LastValue > 20 && _stoch.PercentD.LastValue > 20 && Positions.Count > 0 && Positions[0].TradeType == TradeType.Buy)
{
ClosePosition(Positions[0]);
}
}
}
}
Error CS0246: The type or namespace name 'StochasticOscillator' could not be found (are you missing a using directive or an assembly reference?) (C:\Users\RENREN CLEOFE\Documents\cAlgo\Source\Robots\Sto\Sto\Sto.cs, line: 15, column: 17)
Error CS1501: No overload for method 'StochasticOscillator takes 3 arguments (C:\Users\RENREN CLEOFE\Documents\cAlgo\Source\Robots\Sto\to\Sto.cs, line: 20, column: 33)
Warning CS0612: 'Algo.MarketSeries' is obsolete (C:\Users\RENREN CLEOFE\Documents\cAlgo\Source\Robots\Sto\Sto\Sto.cs, line: 20, column: 54)
Warning CS0618: 'Robot.ExecuteMarketOrder(TradeType, Symbol, double, string)' is obsolete: 'Parameter 'Symbol symbol was replaced with 'string symbolName'. More details here https://ctrader.com/forum/announcements/15847' (C:\Users\RENREN CLEOFE\Documents\cAlgo\Source\Robots\Sto\Sto\Sto.cs, line: 37, column: 17)