Topics

Forum Topics not found

Replies

Kate
02 Dec 2013, 23:12

Last Look vs No Last Look Execution: http://experts.forexmagnates.com/last-look-vs-no-last-look-execution/


@Kate

Kate
02 Dec 2013, 21:21

Something like this :)

protected override void OnTick()
{
    if (Symbol.Ask > targetPrice)
        OnTargetAttained();
}

private void OnTargetAttained()
{
    // Do something
}

 


@Kate

Kate
20 Nov 2013, 23:23

5 to 20 candles on one timeframe are hundreds candles on another timeframe :)


@Kate

Kate
13 Nov 2013, 22:02

I haven't really understood what you mean. But may be you want something something like this:

if (double.IsNaN(myNumber))
   ...
else
   ...

 


@Kate

Kate
12 Nov 2013, 22:15

Nothing actually. In this case you can just remove it :)


@Kate

Kate
09 Nov 2013, 09:28 ( Updated at: 21 Dec 2023, 09:20 )

RE:

mikero said:

Another annoyance is in sell positions you can be at bottom of screen and unable to look below the current candle because it's at, bottom of screen. (to get round that, I add or remove the tick volume). The mere fact that I can do that manually means your code can very easily accommodate free movement of the entire display since that's exactly what it's doing for the ticks.

 You can also squeeze chart dragging price-axis up and down:


@Kate

Kate
09 Nov 2013, 09:08 ( Updated at: 21 Dec 2023, 09:20 )

RE:

mikero said:

What I need to see is a true free chart that allows you to extrapolate trends into the future instead of the currently ridiculous 1 inch blank area to the right for future pip movements. eg, on an hourly chart,  lucky if you can get 3 more hours of blank when i'm interested in a 24 hour movement (please don't tell me to use the daily chart instead, it would indicate that you gentlemen don't actually use your product)

One particularly annoying aspect of this is you generally can't see the result of a deal map because there's no place to display the closing position details

 

Do you know that you can drag bar-timer to the left to increase blank area? 


@Kate

Kate
08 Nov 2013, 11:50

RE: RE:

rawand said:

what do yo think they can do if high percentage of their clients are making money ?

In that case they just take their commissions (and may be part of a spread) from those client's trades. This is what most of brokers do.


@Kate

Kate
07 Nov 2013, 22:59

Btw, you can switch those multiple notification popups off. May be it can help :)


@Kate

Kate
03 Nov 2013, 12:39

RE: RE: Beautiful

supafly said:

I do not use any indicators, oscillators or any tools, only price analysis.

 

What kind of price analysis? Actually indicators and oscillators are also price analysis tools.


@Kate

Kate
01 Nov 2013, 09:41

OK, may be you use too much leverage, or trade volumes are too high. So you just need to choose proper capital and volume when go live.


@Kate

Kate
01 Nov 2013, 09:34

2000% per year - unrealistic.


@Kate

Kate
30 Oct 2013, 14:52

What do you mean by "stacking trades"?


@Kate

Kate
30 Oct 2013, 11:53

Just use my code posted here: /forum/cbot-support/1793


@Kate

Kate
30 Oct 2013, 11:12

Try this code:

 

using System;
using cAlgo.API;
using cAlgo.API.Indicators;
using cAlgo.API.Internals;
using cAlgo.API.Requests;
using cAlgo.Indicators;

namespace cAlgo.Robots
{
    [Robot(TimeZone = TimeZones.UTC)]
    public class PipValueTest : Robot
    {
        protected override void OnStart()
        {
            var symbol = MarketData.GetSymbol("GBPCAD");
            Print("PipValue of {0} is {1:0.0000000} ", symbol.Code, GetPipValue(symbol));

            Stop();
        }

        private double GetPipValue(Symbol symbol)
        {
            var quoteCurrency = symbol.Code.Substring(3, 3);

            if (quoteCurrency == Account.Currency)
                return 1;

            var rate = GetConversionRate(quoteCurrency, Account.Currency);
            Print("Conversion rate {0} -> {1} is {2:0.000}", quoteCurrency, Account.Currency, rate);

            var pipValue = symbol.PipSize * rate;
            return pipValue;
        }

        private double GetConversionRate(string fromCurrency, string toCurrency)
        {
            Symbol symbol = TryGetSymbol(fromCurrency + toCurrency);

            if (symbol != null)
                return symbol.Bid;

            symbol = TryGetSymbol(toCurrency + fromCurrency);
            return 1 / symbol.Bid;
        }

        private Symbol TryGetSymbol(string symbolCode)
        {
            try
            {
                Symbol symbol = MarketData.GetSymbol(symbolCode);
                if (symbol.Bid == 0.0)
                    return null;
                return symbol;
            } catch
            {
                return null;
            }
        }
    }
}

 


@Kate

Kate
29 Oct 2013, 10:44

Since you try to save last 11 values you can use array instead of list. I guess something like this: 

 

private const int BarsCount = 11;
private readonly double[] _Cumm5 = new double[BarsCount];

...

var index = min5.High.Count - 1;
for (int i = 0; i < BarsCount; i++)
{
    _Cumm5[i] = _Cumm5[i] + min5.High[index - i] - min5.Low[index - i];
}

 

 


@Kate

Kate
24 Oct 2013, 12:03

In my experience results are almost similar. But I always rely on MarketSeries and do not use exact ticks, prices or tick volume. Commissions are different of course.


@Kate

Kate
21 Oct 2013, 16:59

I'd suggest to check the time in OnTick() method: it's more simple and more safe.


@Kate

Kate
21 Oct 2013, 09:43

You can modify your robot so that logic stays the same, but it's possible to backtest it on whole period. Just initialize everything you need on every Monday, not on robot start. And then we will see the real picture.


@Kate

Kate
20 Oct 2013, 00:03

The only thing you can do now is to implement robot n cAlgo that will automatically close your position.


@Kate