Topics
Replies
Forex19
13 May 2015, 18:10
RE:
Hi, now I try it.
To close the 1a pos, I add the TP in "ExecuteMarketOrder"
Bye and thanks for the suggestion.
Waxy said:
Here's the code, please notice, you didn't say anything about the 1st position being closed.
using System; using System.Linq; using cAlgo.API; using cAlgo.API.Indicators; using cAlgo.API.Internals; using cAlgo.Indicators; namespace cAlgo { [Robot(TimeZone = TimeZones.UTC, AccessRights = AccessRights.None)] public class XROpenPositionsinOpposed : Robot { [Parameter("Label", DefaultValue = "MyLabel")] public string MyLabel { get; set; } bool _isSent; protected override void OnStart() { ExecuteMarketOrder(TradeType.Buy, Symbol, 10000, MyLabel); } protected override void OnTick() { var x = Positions.Find(MyLabel); if (x != null && !_isSent) { if (x.TradeType == TradeType.Buy) { PlaceStopOrder(TradeType.Sell, Symbol, (x.Volume * 2), x.EntryPrice - 20 * Symbol.PipSize); _isSent = !_isSent; } else { PlaceStopOrder(TradeType.Buy, Symbol, (x.Volume * 2), x.EntryPrice + 20 * Symbol.PipSize); _isSent = !_isSent; } } } } }
@Forex19
Forex19
13 Feb 2015, 15:49
RE:
Spotware said:
Hello,
This functionality is available in the Web version of cTrader. You are able to filter the closing positions not only by symbol pairs, but also by direction of positions (buy/sell) and profit/loss. You may do so by using the Close button, located above the positions.
In the future it will be also available in the Desktop version.
Regards
News about when it will be available for the desktop version?
@Forex19
Forex19
09 Nov 2014, 22:55
RE:
I too have found the same thing, with all the problems of operation that follows.
I would say something unacceptable. Who pays for these inefficiencies?
Elogos said:
cTrader platform available with IC Markets has closed an hour early today.
This is the 6th seperate error that IC Markets have had with daylight savings and cTrader.
It is pretty serious condition not being if not being able to close positions for the week.
@Forex19
Forex19
11 Oct 2014, 14:22
RE: RE: RE: RE:
The problem is that var count and var sum don't reset when the positions are closed and then start again.
breakermind said:
:::::::::::::::: protected override void OnTick() { double nPos = 0; double gPos = 0; var AllPositions = Positions; foreach (var position in AllPositions) { if (position.Label == MyLabel) { nPos += position.NetProfit; gPos += position.GrossProfit; if (count < 4) { count++; sum = sum + count; } } } Print("Net: " + nPos + " Gros: " + gPos + " Count: " + count + " sum: " + sum); }
maybe something like this
@Forex19
Forex19
11 Oct 2014, 13:21
RE: RE:
Hi, meantime thanks.
I had tried something like this as well but I've noticed that the var count and sum remain at the maximum value. Example:
If MaxPositions = 4
- positions open 1 => count = 1 , sum = 1
- positions open 2 => count = 2 , sum = 3
- positions open 3 => count = 3 , sum = 6
- positions open 4 => count = 4 , sum = 10
then
- positions open 1 => count = 4 , sum = 10
- positions open 2 => count = 4 , sum = 10
- positions open 3 => count = 4 , sum = 10
ecc, ecc.
Why?
breakermind said:
protected override void OnTick()
{
double nPos = 0;
double gPos = 0;
int count = 0;
int sum = 0;
var AllPositions = Positions;
foreach (var position in AllPositions)
{
if (position.Label == MyLabel)
{
nPos += position.NetProfit;
gPos += position.GrossProfit;
count++;
sum = sum + count;
}
}
Print("Net: " + nPos + " Gros: " + gPos + " Count: " + count + " sum: " + sum);
}
@Forex19
Forex19
02 Oct 2014, 15:07
( Updated at: 21 Dec 2023, 09:20 )
RE:
If you normally start the CBOT seems to work and open positions.
If I start the backtesting results is as follows:
If I start the Optimization results is as follows:
Spotware said:
Do you observe the same problem with standard built-in cBots?
@Forex19
Forex19
29 Sep 2014, 18:31
RE:
I would like to close all position with a specific label, which generate a P&L less than -10, for example.
In OnTick, is correct put:
var pnl = Positions.FindAll(Label).Sum(position => position.NetProfit);
foreach (var position in Positions.FindAll(Label))
{
if (pnl <= -10)
ClosePosition(position);
}
???
Spotware said:
Then you will be able to calculate profit/loss for positions with that specific label:
var pnl = Positions.FindAll(Label).Sum(position => position.NetProfit);You can also close all positions with specific label:
foreach (var position in Positions.FindAll(Label)) { ClosePosition(position); }
@Forex19
Forex19
29 Sep 2014, 16:01
RE:
Since I have already adapted the label to other needs of the code.
is possible to obtain the same result in another way? I think for example to use a list where converge all positions of a cBot.
Spotware said:
You can use Label for such purpose.
[Parameter(DefaultValue = "cBot unique identifier")] public string Label { get; set; }When you open position, you need to use Label:
ExecuteMarketOrder(TradeType.Buy, Symbol, someVolume, Label);Then you will be able to calculate profit/loss for positions with that specific label:
var pnl = Positions.FindAll(Label).Sum(position => position.NetProfit);You can also close all positions with specific label:
foreach (var position in Positions.FindAll(Label)) { ClosePosition(position); }
@Forex19
Forex19
15 Sep 2014, 20:02
RE: RE: RE:
Can you tell me a MT4 indicator which you refer?
Thanks
motu828mk2 said:
Forex19 said:
The screenshot that you have shown, it refers to an existing indicator?
motu828mk2 said:
HI
is possible someone make an correlation indicator with custom pair collection ,something like that...
thanks
yes is an mt4 indicator , not work with mt4toc# ctrader converter , ...
@Forex19
Forex19
11 Sep 2014, 19:23
RE: RE: RE: RE:
I started VS and open PayBackII.
I then followed your link in the "Adding a Project Reference in Visual Studio" but tells me error.
Almost certainly I'm doing something wrong, could you please show me some screenshots of the steps to do?
I would be very grateful.
Invalid said:
you need to add a reference to a project (not a library). Take a look here.
@Forex19
Forex19
11 Sep 2014, 16:25
RE:
Is there a guide to which to refer?
Thanks and good job.
Spotware said:
Certainly I'm missing something and I'm sorry.
But in cAlgo platform where I find a way to add a reference to a existing project?Or should I use Visual Studio? but I miss it
In cAlgo you can add a reference to a .net library or custom indicator. You can use Visual Studio to add a reference to existing .csproj
@Forex19
Forex19
11 Sep 2014, 16:06
RE: RE: RE: RE:
Certainly I'm missing something and I'm sorry.
But in cAlgo platform where I find a way to add a reference to a existing project?
Or should I use Visual Studio? but I miss it
Invalid said:
you need to add a reference to a project (not a library). Take a look here.
Forex19 said:
I followed your suggestion:
- Remove "using cAlgo.Lib;"
- Right click on the mouse and select Add Reference, but when I select the folder of the file "cAlgo.Lib.csproj" doesn't see it so I can't add it.I misunderstood and mistaken something?
Invalid said:
Just opened the solution and it works.
Most probably your project has invalid reference path. Remove cAlgo.Lib from reference list in your project and add reference to project ..\Solution-calgobots-36873\Sources\Library\cAlgoLib\cAlgo.Lib.csproj
Forex19 said:
Hi,
I wanted to test some cBots (for example PayBack II) but during the compilation by me:Error CS0234: The type or namespace name 'Lib' does not exist in the namespace 'cAlgo' (are you missing an assembly reference?)
with reference to "using cAlgo.Lib."
In the page:
https://calgobots.codeplex.com/
I found the cAlgobots Sources and binary Build 36873 that contains the folder cAlgo.Lib end file cAlgo.Lib.csproj.
I made some attempts to include files that I thought was missing but I could not solve.How can I fix? Thanks.
@Forex19
Forex19
11 Sep 2014, 15:01
RE: RE:
I followed your suggestion:
- Remove "using cAlgo.Lib;"
- Right click on the mouse and select Add Reference, but when I select the folder of the file "cAlgo.Lib.csproj" doesn't see it so I can't add it.
I misunderstood and mistaken something?
Invalid said:
Just opened the solution and it works.
Most probably your project has invalid reference path. Remove cAlgo.Lib from reference list in your project and add reference to project ..\Solution-calgobots-36873\Sources\Library\cAlgoLib\cAlgo.Lib.csproj
Forex19 said:
Hi,
I wanted to test some cBots (for example PayBack II) but during the compilation by me:Error CS0234: The type or namespace name 'Lib' does not exist in the namespace 'cAlgo' (are you missing an assembly reference?)
with reference to "using cAlgo.Lib."
In the page:
https://calgobots.codeplex.com/
I found the cAlgobots Sources and binary Build 36873 that contains the folder cAlgo.Lib end file cAlgo.Lib.csproj.
I made some attempts to include files that I thought was missing but I could not solve.How can I fix? Thanks.
@Forex19
Forex19
30 May 2015, 00:48
RE:
Spotware said:
After about a year, contain cAlgo API such methods?
These two functions are present for some time with the buttons on screen.
It would be very useful to manage them by API.
@Forex19