Algorithms

Warning! Executing cBots downloaded from this section may result in loss of funds. Use them at your own risk.
Notification Publishing copyrighted material is strictly prohibited. If you believe there is copyrighted material in this section you may use the Copyright Infringement Notification form to submit a claim.
How to install
free  28 Jan 2023
This indicator is based on "Ichimoku", and with its additional and useful features, it can help traders to get the right positions and help analysts to have an accurate analysis. Additional features used in this indicator are: It has two extra KijunSen that user can adjust the period and properties of their lines.(eg 103 and 207) It has a QualityLine and DirectionLine, which is the same KijunSen that shift 26 Candle to the front and back. Using these two lines can be a great help in Trading and analysis. There is a separate "KijunSen" and "TenkanSen" With different settings for shifting forward or backward to the user's desired number Adjust and modify the Kumo and Chikou and TenkenSen and extra KijunSen and QualityLine and DirectionLine shift to the desired value. Adjust and change the color of the Kumo. Show the maximum and minimum Price lines for Last month on the chart. These two lines are very powerful and strong resistance and support. All features above have the ability to enable or disable, And the user can change their properties, such as color, thickness and type of lines.
by mfejza
free  26 Jan 2023
Polychromatic Momentum Extended indicator Denis Meyers that invented Polychromatic Momentum, describes it as: Momentum is defined as the difference, or percent change, between the current bar and a bar some lookback period in the past. The major problem with using momentum based indicators is that the optimum lookback period seems to change over time creating losses with the current chosen lookback period. To avoid the errors due to a single lookback period we create an indicator that takes an weighted average of all significant lookback periods for the tradable. We named this indicator polychromatic because poly means many and chromatic means colors. Thus, Polychromatic Momentum for this indicator translates into the sum of many Momentums.
by mfejza
free  27 Jan 2023
Directional Volatility Effect indicator. The indicator displays two volatility effect zones; bullish (green shadow) and bearish (red shadow). To find original version please click here
by mfejza
free  25 Jan 2023
PDI (Price Difference) is a simple signal indicator of the price difference between the previous and the current bars. It displays as signal marks the candlesticks, on which the previous Applied price is higher than the current one by the pre-defined Price difference. If the price difference is positive, the mark will be placed on the Low price of the current candlesticks. If it is negative - on the High price.
by mfejza
free  23 Jan 2023
ZScore of Time Segmented Volume indicator. Get Time Segmented Volume indicator from here.
by mfejza
free  23 Jan 2023
Time Segmented Volume indicator
free  22 Jan 2023
I downloaded a simple Macd crossover algo that was free because I'm trying to learn. Everything seems fine but what do I know right? It compiles but places no trades. Please help. Code below.  I also cut out the trading hours thing, just to be sure it wasn't somehow interfering.  There was also a reference to Trade.Executing or something similar that was deprecated and had to be removed. The original file sans changes is attached. Thanks a million using System; using System.Collections.Generic; using System.Linq; using System.Text; using cAlgo.API; using cAlgo.API.Collections; using cAlgo.API.Indicators; using cAlgo.API.Internals; namespace cAlgo.Robots { [Robot(AccessRights = AccessRights.None)] public class MACDMarketTimerV2 : Robot { [Parameter("Sentiment: Buy", DefaultValue = true)] public bool Buy { get; set; } [Parameter("Sentiment: Sell", DefaultValue = true)] public bool Sell { get; set; } [Parameter("MME Slow", Group = "MA", DefaultValue = 16)] public int mmeSlow { get; set; } [Parameter("MME Fast", Group = "MA", DefaultValue = 12)] public int mmeFast { get; set; } [Parameter("Source", Group = "RSI")] public DataSeries Source { get; set; } [Parameter("Periods", Group = "RSI", DefaultValue = 19)] public int Periods { get; set; } // [Parameter("Start Hour", DefaultValue = 10.0)] // public double StartTime { get; set; } // [Parameter("Stop Hour", DefaultValue = 12.0)] // public double StopTime { get; set; } [Parameter(" Period", Group="MACD",DefaultValue = 9)] public int Period { get; set; } [Parameter(" Long Cycle",Group="MACD", DefaultValue = 26)] public int LongCycle { get; set; } [Parameter(" Short Cycle",Group="MACD", DefaultValue = 12)] public int ShortCycle { get; set; } [Parameter("Quantity (Lots)", Group = "Volume", DefaultValue = 0.01, MinValue = 0.01, Step = 0.01)] public double Quantity { get; set; } [Parameter("Stop Loss ", DefaultValue = 100)] public int StopLoss { get; set; } [Parameter("Take Profit", DefaultValue = 100)] public int TakeProfit { get; set; } private MovingAverage i_MA_slow; private MovingAverage i_MA_fast; private RelativeStrengthIndex rsi; // private DateTime _startTime; // private DateTime _stopTime; private MacdCrossOver macd; private double volumeInUnits; protected override void OnStart() { i_MA_slow = Indicators.MovingAverage(Bars.ClosePrices, mmeSlow, MovingAverageType.Exponential); i_MA_fast = Indicators.MovingAverage(Bars.ClosePrices, mmeFast, MovingAverageType.Exponential); rsi = Indicators.RelativeStrengthIndex(Source, Periods); macd=Indicators.MacdCrossOver(LongCycle, ShortCycle, Period); volumeInUnits = Symbol.QuantityToVolumeInUnits(Quantity); { // _startTime = Server.Time.Date.AddHours(StartTime); // _stopTime = Server.Time.Date.AddHours(StopTime); // Print("Start Time {0},", _startTime); // Print("Stop Time {0},", _stopTime); } } protected override void OnBar() { var MACDLine = macd.MACD.Last(1); var PrevMACDLine = macd.MACD.Last(2); var Signal = macd.Signal.Last(1); var PrevSignal= macd.Signal.Last(2); //var currentHours = Server.Time.TimeOfDay.TotalHours; // bool tradeTime = StartTime < StopTime // ? currentHours > StartTime && currentHours < StopTime // : currentHours < StopTime || currentHours > StartTime; // if (!tradeTime) // return; if (rsi.Result.LastValue > 25 && rsi.Result.LastValue < 70) { if ((MACDLine > Signal && PrevMACDLine <PrevSignal && default==Sell) && (i_MA_fast.Result.LastValue > i_MA_slow.Result.LastValue)) { ExecuteMarketOrder( TradeType.Buy ,SymbolName,volumeInUnits, "MACDMarketTimerV2,RSI,MACD",StopLoss,TakeProfit); } else if ( (MACDLine < Signal && PrevMACDLine >PrevSignal && default== Buy)&(i_MA_fast.Result.LastValue < i_MA_slow.Result.LastValue)) { var result = ExecuteMarketOrder( TradeType.Sell ,SymbolName,volumeInUnits, " MACDMarketTimerV2,RSI,MACD",StopLoss,TakeProfit); if (result.Error == ErrorCode.NoMoney) Stop(); } } } protected override void OnStop() { } } }  
moving average
  0
  0
  84
free  19 Jan 2023
from datetime import datetime import backtrader as bt # Create a subclass of Strategy to define the indicators and logic class SmaCross(bt.Strategy):     # list of parameters which are configurable for the strategy     params = dict(         pfast=10,  # period for the fast moving average         pslow=30   # period for the slow moving average     )     def init(self):         sma1 = bt.ind.SMA(period=self.p.pfast)  # fast moving average         sma2 = bt.ind.SMA(period=self.p.pslow)  # slow moving average         self.crossover = bt.ind.CrossOver(sma1, sma2)  # crossover signal     def next(self):         if not self.position:  # not in the market             if self.crossover > 0:  # if fast crosses slow to the upside                 self.buy()  # enter long         elif self.crossover < 0:  # in the market & cross to the downside             self.close()  # close long position cerebro = bt.Cerebro()  # create a "Cerebro" engine instance # Create a data feed data = bt.feeds.YahooFinanceData(dataname='MSFT',                                  fromdate=datetime(2011, 1, 1),                                  todate=datetime(2012, 12, 31)) cerebro.adddata(data)  # Add the data feed cerebro.addstrategy(SmaCross)  # Add the trading strategy cerebro.run()  # run it all cerebro.plot()  # and plot it with a single command
by mfejza
free  18 Jan 2023
The SZO (Sentiment Zone Oscillator) indicator shows the market sentiment (activity and direction) and zones of excessive activity (overbought/oversold zones). It can display a dynamic channel, beyond which deals are seen as undesirable because of the high probability of a change in sentiment and of reversal. If the indicator line moves beyond the channel and at the same time enters the overbought/oversold zone, this may mean that the market trend can change soon. The indicator often warns of such a possible change in advance, so it is advisable to use it in combination with another confirmation indicator.
by mfejza
free  18 Jan 2023
Shadow True Strength Index indicator Use shadow color as trade sentiment; green for Long; red for Short
by mfejza
free  17 Jan 2023
DonChain Percentage oscillator displays a relative price position inside the Donchian channel as oscillator. Remark, indicator above or below level 50 for sentiment zone.
by mfejza
free  17 Jan 2023
HiLo Range Fan indicator. Trade long when all indicator components are above zero level, trade Short when all indicator components are below the zero level.