- Home
- Algorithms
- cBots
cBots
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 installHow to install cBots & Indicators
- Download the Indicator or cBot.
- Double-click on the downloaded file. This will install all necessary files in cAlgo.
- Find the indicator/cbot you want to use from the menu on the left.
- Add an instance of the indicator/cBot to run.
- Download the Indicator
- Double-click on the downloaded file. This will install all necessary files in cTrader.
-
Select the indicator from Custom in the functions (f) menu in the top center of the chart
- Enter the parameters and click OK
MA & MACD & RSI & ADX
0
0
165
by grandom
paid
11 Mar 2023
Buy position is opened if:
• Price closes above moving average
• RSI equals or above overbought level
• ADX equals or above chosen strength (level)
• MACD Histogram above zero
Sell position is opened if:
• Price closes below moving average
• RSI equals or below oversold level
• ADX equals or above chosen strength (level)
• MACD Histogram below zero
Features details on this file
Algo attached in this post is empty
Please contact on Telegram for price and to send you the bot
EMA & RSI
0
0
119
by grandom
paid
11 Mar 2023
Buy position is entered when price closes above EMA while RSI is oversold.
Sell position is entered when price closes below EMA while RSI is overbought.
Features details on this file
Algo attached in this post is empty
Please contact on Telegram for price and to send you the bot.
Scanner Berserker Capital
2
0
221
paid
26 Mar 2023
This code was created by Berserker Capital
This cBot is a directional logarithmic Scanner based on the bullish and bearish trends of institutionalized traders (bankers and the government) and it is to be applied on scalping. LEGAL WARNING: use it at your own risk.
The changes without prior notice of this algorithm will be caused by the addition of variables indexed on multiple temporalities, since this work is focused on controlling and predicting time, volume and the direction of tendencies.
If you want to copy or modify my work, I’d appreciate you share it with me and maybe, together we´ll go far.
Berserker Capital is here to change Trading, follow me and participate.
If you require the complete code the price is three digits: contact me and I will give you the PayPal link: fzmetaberserker@gmail.com
Example of how to use Log4Net
0
0
118
by Waxy
free
02 Mar 2023
Long ago I tried to get this done but wasn't able to.
Here's an example of how to use it with cTrader, the example given is with a RollingFileAppender
1 - Add Nuget Package for Log4Net
2 - Add App.config File to your project (using Visual Studio)
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
</configSections>
<log4net configSource="log4netconfig.config" />
<!--<startup>
<supportedRuntime version="v6.0" sku=".NETFramework,Version=v6.0" />
</startup>-->
</configuration>
3 - Add log4netconfig.config File (Cannot be inside the cAlgo's execution folder) Here's an example, I put mine inside "C:\TestApp\log4netconfig.config"
<?xml version="1.0" encoding="utf-8"?>
<log4net>
<appender name="RollingFile" type="log4net.Appender.RollingFileAppender">
<file type="log4net.Util.PatternString" value="C:\XLogs\MyApp.log" />
<appendToFile value="false" />
<rollingStyle value="Size" />
<maxSizeRollBackups value="10" />
<maximumFileSize value="10MB" />
<staticLogFileName value="true" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
</layout>
</appender>
<root>
<level value="ALL" />
<appender-ref ref="RollingFile" />
</root>
</log4net>
When you run the bot either live or backtesting, the log file should be located inside the "C:\XLogs\" directory or the one you have chosen.
Suggestions or Feedback are welcome.
If you found this helpful, please consider supporting me on Kofi
Buy Waxy a Coffee. ko-fi.com/waxycodes - Ko-fi ❤️ Where creators get support from fans through donations, memberships, shop sales and more! The original 'Buy Me a Coffee' Page.
MACD with hedge 300%/year
1
0
201
by nghiand.amz
paid
28 Feb 2023
This bot uses MACD with a hedge.
Parameters:
Label: Label of bot
Initial Lot: Lot to trade
From UTC: Time Bot run at begin
To UTC: Time bot runs at the end; Bot only runs between from and to time
Hedged: Hedge or not
Take Profit Pips
Stop Loss Pips (When don't choose Heged)
Target Profit (Money)
Pip Step: Step for hedging
Lot exponent: Volume change of hedged positions
Stop Bot If DrawDown: Stop bot when drawdown
Max Equity DrawDown %: The percent of drawdown, if more than all positions will be closed
Period: Period of MACD
Long Cycle: Long Cycle of MACD
Short Cycle: Short Cycle of MACD
Signal-line crossover true:if Signal-line crossover false: Zero crossover
Download Demo Version https://nghia312.gumroad.com/l/gpbow
PRO Version please visit: https://nghia312.gumroad.com/l/wrvhgz
With source code https://nghia312.gumroad.com/l/hmmqh
Contacts please write to: nghiand.amz@gmail.com
AW Manager(Percent)
0
0
321
free
05 May 2023
this bot close position in daily percent or step percent
this bot could modify tp and sl for all position based on your balance percent.
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
1
0
514
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
Martingale with Trailling Stop
4
0
871
by willbs
free
13 Jan 2023
It uses several parameters such as Initial Volume, Stop Loss, Take Profit, Trailing Stop Loss, and Spread Limit to execute trades on the market.
The robot has a random trade type generator that can either select a buy or sell trade. The robot also has a closed position event handler that will execute a new trade if the previous one closed with a profit, or will double the volume of the previous trade if the previous one closed with a loss. Additionally, it stops the bot if it runs out of money.
Tip: Run extended optimization to get better parameters, at least 2 years. The print values are for only 1 week.
Usain Bot - Day Trader
3
0
781
by willbs
free
08 Jan 2023
The most faster Bot for Day Trader
Indicators in Bot: RSI + ParabolicSAR + OBV
With Trailing Stop
Bot close positions if has been open for more than 2 hour.
Bot open new positions only between 6AM and 7PM (server hour).
Copyright © 2023 Spotware Systems Ltd. All rights reserved.