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 install
DescriptionSubmited byDateCategoryPreviewDownloadsCommentsRating
Robot based on  crossings between Third Gen Moving Average and Exponential Moving Average. Input: Source Period Sampling Period Moving average type Improvement suggestions are welcome Backtesting 06/03/2013 04/10/2013
09 Jan 2014
Downloads
2167
Comments
4
Rating
0
Download
#DONT FORGET TO REFERENCE THE TWO FILES IN THE CODE This robot trades the fibonacci bands.    I had sucess trading 4H GBPJPY with  AtrPeriod = 21 ; emaPeriod = 54 ; velperiod = 10 With a little optimization you can get good results for others symbols and timeframe. If you find something good, please share! If the trend is bullish the robot place a buy order in the first fibo band and a sell in the second band and vice-versa.
09 Jan 2014
Downloads
5395
Comments
18
Rating
3
Download
For an example we use Bollinger Bands.  We assume, that if bargains do not cross the top and bottom strip we are in chaos(weak balance across Nish). Further it is necessary for us to define the leader or a dominant. It depends on band height and  periods of domination. If the strip is crossed, and the given period of domination achieves, it means formation of a direction on growth(buy) or falling (sell).   Using more difficult calculations (in this example they aren't present), we can predict formation of a trend and its size. // ------------------------------------------------------------------------------- // // Simple example with use of "Games Theory". // Vsoft(c). // // ------------------------------------------------------------------------------- using System; using cAlgo.API; using cAlgo.API.Indicators; using cAlgo.API.Requests; using cAlgo.Indicators; namespace cAlgo.Robots { [Robot(TimeZone = TimeZones.UTC)] public class SampleBreakoutRobot : Robot { [Parameter] public DataSeries Source { get; set; } [Parameter("Band Height", DefaultValue = 1.0, MinValue = 0)] public double BandHeight { get; set; } [Parameter("Stop Loss", DefaultValue = 10, MinValue = 1)] public int StopLossInPips { get; set; } [Parameter("Take Profit", DefaultValue = 10, MinValue = 1)] public int TakeProfitInPips { get; set; } [Parameter("Volume", DefaultValue = 10000, MinValue = 1000)] public int Volume { get; set; } [Parameter("Bollinger Bands Deviations", DefaultValue = 2)] public int Deviations { get; set; } // BB [Parameter("Bollinger Bands Periods", DefaultValue = 20)] public int Periods { get; set; } // BB [Parameter("Bollinger Bands MA Type")] public MovingAverageType MAType { get; set; } // BB [Parameter("Domination Periods", DefaultValue = 1)] public int DominationPeriods { get; set; } // Definition a dominant. private BollingerBands bollingerBands; private int Domination; protected override void OnStart() { bollingerBands = Indicators.BollingerBands(Source, Periods, Deviations, MAType); } protected override void OnBar() { double top = bollingerBands.Top.LastValue; double bottom = bollingerBands.Bottom.LastValue; if ((top - bottom)/ Symbol.PipSize <= BandHeight) { Domination= Domination+1; } else { Domination=0; } if ( Domination >= DominationPeriods) { if (Symbol.Ask > top && MarketSeries.Close[MarketSeries.Close.Count - 2]> MarketSeries.Open[MarketSeries.Close.Count - 2]) { var request = new MarketOrderRequest(TradeType.Buy, Volume) { Label = "SampleGameTheory", StopLossPips = StopLossInPips, TakeProfitPips = TakeProfitInPips }; Trade.Send(request); Domination = 0; } else if (Symbol.Bid < bottom && MarketSeries.Close[MarketSeries.Close.Count - 2]< MarketSeries.Open[MarketSeries.Close.Count - 2]) { var request = new MarketOrderRequest(TradeType.Sell, Volume) { Label = "SampleGameTheory", StopLossPips = StopLossInPips, TakeProfitPips = TakeProfitInPips }; Trade.Send(request); Domination = 0; } } } } }  
by vito
09 Jan 2014
Downloads
1969
Comments
0
Rating
0
Download
This is a collaborative work  based on a forum post : http://ctdn.com/forum/cbot-support/1109 Any suggestions welcome. 
28 Jun 2013
Downloads
2116
Comments
2
Rating
0
Download
This is a Robot based on the GannHighLow Indicator.  If close price rises above the GannHighLow indicator a buy is triggered and if the prices falls below the GannHighLow  indicator a sell is triggered. There is only one position open at a time. So, if a buy is triggered and a sell is open the sell will be closed. The default parameters use no SL/TP (Default to zero) If SLTrigger and TrailingStop are greater than zero then Trailing stop is used. Any suggestions for optimization are welcome. 
by adaled
09 Jan 2014
Downloads
2679
Comments
0
Rating
0
Download
Regarding http://ctdn.com/forum/cbot-support/753. 
19 Apr 2013
Downloads
1868
Comments
10
Rating
0
Download
Concerning this post: http://ctdn.com/forum/cbot-support/745
17 Apr 2013
Downloads
3029
Comments
21
Rating
3.75
Download
Il n'y a ici que le money management d'Alembex, à vous d'y rajouter votre technique (les positions sont prises aux hasard sur l'exemple) Montrez vos résultat de ce Money management + votre technique :) Merci MISE A JOUR : - Corrections des bugs - Nouvelles images  avec les tests d'optimisations :  
29 Dec 2014
Downloads
3494
Comments
23
Rating
1.67
Download
I've tested this Robot with EURUSD and GBPUSD in H1 timeframe with good results.But the problem is, that in one account I can run only one currency pair (e.g. EURUSD), not together with GBPUSD. Can someone have a look at it please? many thanksRobert
by imWald
27 Feb 2013
Downloads
38763
Comments
32
Rating
4.17
Download
The objective for this robot is not to develop a real trading robot but to point out the technical architecture and the communication process between cAlgo and an external dll.In order to bring the principle in the foreground, the chosen example is very simple and basic. It consist of a frame with 2 buttons representing the current Bid and Ask prices like the cTrader order button with exact the same prices. By pushing on of the buttons an entry in the cAlgo log frame will be printed (see attached video for more details).The frame application itself will be started from within cAlgo same as a robot, but is acting in a different thread and is therefore managed independent. In addition there is a bidirectional event handling taking care of cAlgo events and events from the external dll to communicate between both threads. You can imagine to adopt this approach to your own needs. I. e. for communication to third party products or intercommunication between different currency pairs respectively time frames.The external dll has been developed using Visual Basic .Net based on Visual Studio 2010 Express edition (free edition). If you intend to follow this example one by one you need to install at least this version of Visual Studio.Create a new project of type class library and copy & paste the following code. Align the code to your needs Imports System.Windows.Forms 'the communication layer between cAlgo and the frame application Public Class ThreadHandler Private sMesText As String Private iDigs As Integer 'declaring the frame application with event handling Private WithEvents myForm As externalForm Public Event ButtonBuyClicked() Public Event ButtonSellClicked() 'constructor for frame application with overloading parameters Public Sub New(ByVal sMsgTxt As String, iDigits As Integer) sMesText = sMsgTxt iDigs = iDigits End Sub 'start the frame application Public Sub Work() 'use the windows visual style Application.EnableVisualStyles() Application.DoEvents() myForm = New externalForm myForm.Text = sMesText myForm.ShowDialog() End Sub Public Sub setButtonText(ByVal cTxt As String, dPrice As Double) 'passing the price from cAlgo to the form application myForm.SetButtonText(cTxt, dPrice) End Sub Private Sub myForm_ButtonBuyClicked() Handles myForm.ButtonBuyClicked 'passing the button click event from frame application to cAlgo RaiseEvent ButtonBuyClicked() End Sub Private Sub myForm_ButtonSellClicked() Handles myForm.ButtonSellClicked 'passing the button click event from frame application to cAlgo RaiseEvent ButtonSellClicked() End Sub End Class Then create a new frame, paste 2 buttons and copy & paste the following code. Align the code to your needs. Imports System.Windows.Forms Public Class externalForm Public Event ButtonSellClicked() Public Event ButtonBuyClicked() Public Delegate Sub dlSetButtonText(ByVal cTxt As String, ByVal dPrice As Double) Private Sub ButtonSell_Click(sender As System.Object, e As System.EventArgs) Handles ButtonSell.Click RaiseEvent ButtonSellClicked() End Sub Private Sub ButtonBuy_Click(sender As System.Object, e As System.EventArgs) Handles ButtonBuy.Click RaiseEvent ButtonBuyClicked() End Sub Public Sub SetButtonText(ByVal cTxt As String, ByVal dPrice As Double) Dim myCont As Control() 'external application (cAlgo) tries to call the frame application. invocation is required myCont = Me.Controls.Find(cTxt, True) If myCont.Count = 0 Then Exit Sub If myCont(0).InvokeRequired Then myCont(0).Invoke(New dlSetButtonText(AddressOf SetButtonText), cTxt, dPrice) Else 'after invocation and 'recall' of the sub the button text can be set myCont(0).Text = dPrice.ToString End If End Sub End Class
27 Feb 2013
Downloads
1457
Comments
3
Rating
0
Download
This robot is intended to be used as a sample and does not guarantee any particular outcome or profit of any kind. Use it at your own risk.
19 Dec 2012
Downloads
1974
Comments
3
Rating
3.33
Download
Robot places buy and sell STOP orders at specific time. Supports TP, SL, OCO and expiration time. Parameters: News Hour - Hour when news will be published (your local time) News Minute - Minute when news will be published (your local time) Pips away - The number of pips away from the current market price where the pending buy and sell orders will be placed. Take Profit - Take Profit in pips for each order Stop Loss - Stop Loss in pips for each order Volume - trading volume Seconds before - Seconds Before News when robot will place Pending Orders Seconds timeout - Seconds After News when Pending Orders will be deleted One Cancels Other - If "Yes" then when one order will be filled, another order will be deleted News Robot PRO with Trailing Stop and Slippage Control:  http://news-robot.net        
05 Nov 2014
Downloads
11400
Comments
74
Rating
4.58
Download