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
by imWald
free  27 Feb 2013
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
free  27 Feb 2013
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
Sample SAR Trailing Stop
free  19 Dec 2012
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.
News Robot
free  05 Nov 2014
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        
free  15 Jul 2017
15/07/2017 To meet the demand of many. I added the function interchangeable label, on the dashboard. You can work on several symbols at the same time, opening multiple instances. For example: first instance Robot Label ... "buy eurusd" .... second instances ........ buy usdjpy .... Or buy1 .... buy2 ... sell1 ... sell2 ... etc ... at your convenience ...   22/08/2016 volume change (lots) Adding volume Max. in automat mode if the max volume is winning or losing, the volume returns to the original volume. automate = false, the robot works up to gain ... or maxvolume (winning or losing). I added an option to StopOrder and LimitOrder. ("Martingale NONSTOP") ex: if Martingale NONSTOP  = true; if lost, the martingale works as previously ... ( change the direction Martingale + maxvolume) if Martingale NONSTOP= false; if losing = 2 pendigorders oco  (multiplied by martingale) .. and c is the direction of the market that decides  of the sell and buy order. (with maxvolume option) .Net profit (return Commissions) buy, sell, StopOrder, LimitOrder separately visible on the screen.   good trades.     14/08/2015 Adding Limit Order / martingale :yes..no / oco... 12/08/2015:Adding stop order choose the direction:Start buy/Start Sell, multiplier,volume and TP/SL change the direction =true : ↗/↘:When SL is hit trade  in the other meaning. Start Automate =true : begins the cycle after each TP. ability to sell and buy together(separate adjustment) bottom right = net profit - return Commissions create two trades: buying and selling when a trade is negative, you win on the other. the martingale (non-random) reimburse the losing trades. that the market goes up or down you generate profits. Attention to the margin adjust the stop loss and take profit depending on the size of your wallet and your leverage good luck        
free  09 Jan 2014
The algorithm uses Stochastic Momentum Index (SMI). A Buy is created when The SMI crosses above the Buy Line and a Sell when it crosses below the Sell Line. The Buy and Sell Lines are also components of the SMI Indicator.
free  06 Aug 2012
This is based on Johnan Prathap’s article in this issue, “Three-Bar Inside Pattern”.
free  16 Mar 2012
This is a Scalper Robot
free  16 Mar 2012
free  16 Mar 2012
The Artificial Intelligence robot creates trades based on the result of the previous ones. It uses the MACD Indicator to calculate the direction of the trade the first time and then continues based on this as well as the outcome of the closed positions.
Martingale Robot
by alexk
free  18 Dec 2013
This robot is based on the martingale strategy. This code is a cAlgo API sample. The "Sample Martingale Robot" creates a random Sell or Buy order. If the Stop loss is hit, a new     order of the same type (Buy / Sell) is created with double the Initial Volume amount. The robot will continue to double the volume amount for  all orders created until one of them hits the take Profit. After a Take Profit is hit, a new random Buy or Sell order is created with the Initial Volume amount.