Topics
28 Jun 2021, 11:43
 2
 1045
 1
30 Jun 2020, 11:25
 2
 820
 1
28 Jun 2020, 16:36
 2
 1112
 1
19 Feb 2020, 11:29
 2
 938
 1
Replies

genappsforex
26 Jun 2022, 11:48

RE: RE: RE: RE: RE:

firemyst said:

I think what would help the @Spotware crew is if you can record your desktop (or whatever) while reproducing the cTrader issue. This way, their team can see it actually happening.

I think the Christian gave a lot of info.
The only thing you can see looking at a screenrecording is that it realy happens; So do you think this guy is doing al that work to tell cTrader what is wrong when it does not happen? What would be the fun there?
Why are they always asking for tons of info while most of the times looking into their source would show them the problem.
urthermore: It's their product as they've stated many times before, so they should do thourough investigation when someone point them at failures, it's their lifelyhood.
Christian even switched over to MT5 of all places because of it.
Spotware should treasure any developer that shows them a flaw. it enables them to make their product less buggy.
Here we've diverted our development away from cTrader too. Since over a year I'm the only 'cTrader person' in the company. Reasons: Sticking to old /net versions way too long, not thread safe, Buginess and, Badly accessible/searchable/usable forum, No real acknowledgement of the added value of developers for the platform.


@genappsforex

genappsforex
23 May 2022, 17:47

problem solved bij reinstalling cTrader

amusleh said:

Hi,

The lines are discontinuous:

After closing all copies of cTrader  and reinstalling cTrader  it It now gives the discontinuous lines as it should.


@genappsforex

genappsforex
23 May 2022, 17:41

RE: RE: RE: RE: RE: Discontinuous outputs

@firemyst 

My Last message to you about this!
Print statement 

            Print(
                "index = " + index +" => " + 
                (((double)index)/3).ToString("F1") +" =?= "+
                (index/3).ToString("F1") +" || " +
                (((double)index)/4).ToString("F1") +" =?= "+
                (index/4).ToString("F1") + " => " + 
                (((double)index)/3 == index/3  || ((double)index)/4 == index/4)
            );

Output:

23/05/2022 14:38:33.156 | index = 0 => 0.0 =?= 0.0 || 0.0 =?= 0.0 => True
23/05/2022 14:38:33.156 | index = 1 => 0.3 =?= 0.0 || 0.3 =?= 0.0 => False
23/05/2022 14:38:33.156 | index = 2 => 0.7 =?= 0.0 || 0.5 =?= 0.0 => False
23/05/2022 14:38:33.156 | index = 3 => 1.0 =?= 1.0 || 0.8 =?= 0.0 => True
23/05/2022 14:38:33.156 | index = 4 => 1.3 =?= 1.0 || 1.0 =?= 1.0 => True
23/05/2022 14:38:33.156 | index = 5 => 1.7 =?= 1.0 || 1.3 =?= 1.0 => False
23/05/2022 14:38:33.156 | index = 6 => 2.0 =?= 2.0 || 1.5 =?= 1.0 => True
23/05/2022 14:38:33.156 | index = 7 => 2.3 =?= 2.0 || 1.8 =?= 1.0 => False
23/05/2022 14:38:33.156 | index = 8 => 2.7 =?= 2.0 || 2.0 =?= 2.0 => True
23/05/2022 14:38:33.156 | index = 9 => 3.0 =?= 3.0 || 2.3 =?= 2.0 => True


So please next time do not answer without beign 100% sure when you're rebuttled. but try the provided indicator code first. If you did you'd seen you were wrong!
 


@genappsforex

genappsforex
23 May 2022, 12:27

RE:

ctid2032775 said:

 A little bit strange is that as soon as I switch to .NET 6, run any bot and close the cTrader application the cTrader process is not terminated, as well.

I noticed that too, This behaviour eats Memory and CPU . Think they're forgetting to clean up/Close old threads.


@genappsforex

genappsforex
23 May 2022, 12:19

RE: RE: RE: Discontinuous outputs

firemyst said:

Because both

((double)index)/3 == index/3

is false and

((double)index)/4 == index/4

is false.

So it always has a value in Result1 and not Result2 because Switch is always > 0:

if(Switch>0) Result1[index] = Bars[index].High;

Sorry to tell you but you're wrong.
Just run the indicator code i've posted and see for yourself.


@genappsforex

genappsforex
21 May 2022, 09:24 ( Updated at: 23 May 2022, 12:21 )

RE: Discontinuous outputs

amusleh said:

Hi,

The lines are discontinuous:

 

Discontinuous outputs can have empty or NAN values, and those NAN values will not be displayed on the chart.

Well that was my understanding also.
So Why does my little progam above NOT generate discontinuous Lines?


@genappsforex

genappsforex
20 Jul 2021, 22:04

RE:

PanagiotisCharalampous said:

Hi genappsforex,

It is not clear what the problem is. Can you please provide a more detailed explanation?

Best Regards,

Panagiotis 

Join us on Telegram and Facebook

Troy it ..push The aggregate button, it does not switch its image beteren down triangle and right triangle


@genappsforex

genappsforex
10 Jan 2021, 08:59

RE: RE: RE: RE: RE:

Hi Prosteel1,

We did that a few months ago but it was put aside as being counter intuitive (clients might use it wrongly)
The real problem IMO is that there is no real reason why Spotware does not give a wider access to the heart of the backtesting system (it'll only benefit the developers and the traders) as in making to & from date bot controlable, adding ticks history and enabling developers to specify how much bars / ticks should be loaded.
Our library for workarounds, overloads and extentions is getting bigger and bigger and bigger. And also the maintenance effort of it on every new release.

I just hope that not some of the brass puls the plug out of the cTrader project and puts the capacity to the proprietary system again.
 

 

 

 


@genappsforex

genappsforex
09 Jan 2021, 21:02 ( Updated at: 09 Jan 2021, 21:08 )

RE: RE: RE:

Thanks for the answer.
If you ask to release your ban they probably will they're not bad guys, just sometimes a bit too protective ;-)

Sorry to say but i can not make anything from your post.
I have a gmail adress (genappsforex) maybe post it here or mail it to me?


 

bool Booted=false;
DateTime ToDate;
protected override void OnTick()
{
  if (!Booted)
  {
    Booted = true;
    int _loaded = Bars.Count;
    while (ToDate < Bars[0].OpenTime && _loaded > 0)
        _loaded = Bars.LoadMoreHistory();  // Will not work in backtest :-(
  }
}

 


@genappsforex

genappsforex
09 Jan 2021, 18:11

RE:

Thanks for caring but it does not work.

if (RunningMode == RunningMode.RealTime)
skips everything in  OnStart in backtest

 


@genappsforex

genappsforex
20 Oct 2020, 17:32

RE:

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


namespace cAlgo
{
    [Robot(AccessRights = AccessRights.None)]
    public class Test : Robot
    {
        Button TestButton;
        StackPanel stackPanel;
        
        protected override void OnStart()
        {
            Print("Set Button");
            TestButton = new Button();
            TestButton.Margin = 3;
            TestButton.Text="Test";
            
            stackPanel = new StackPanel
            {
                Width = 120,
                HorizontalAlignment = HorizontalAlignment.Left
            };
            
            stackPanel.AddChild(TestButton);
            Chart.AddControl(stackPanel);
            Print("Buttons set:"+stackPanel.Left,stackPanel.Right,stackPanel.Top,stackPanel.Bottom,stackPanel.Width,stackPanel.Height);
        }

        protected override void OnTick()
        {
            Print("Tick:"+stackPanel.Left,stackPanel.Right,stackPanel.Top,stackPanel.Bottom,stackPanel.Width,stackPanel.Height);
            Stop();
    
        }
    }
}

 

 


@genappsforex

genappsforex
19 Oct 2020, 20:49

RE:

bool CanDraw= (This.RunningMode == RunningMode.VisualBacktesting || This.RunningMode == RunningMode.RealTime);

 


@genappsforex

genappsforex
19 Oct 2020, 20:39

RE: RE:

looks like you're an MT4/5 programmer.
You'd be better of taking a good look at the cTrader samples and structure. Only then you might beable to write a reliable EA in cTrader.

 


@genappsforex

genappsforex
19 Oct 2020, 20:30

RE: RE:

ak2244 said:

xabbu said:

„EA-Robot der 0% Verlust macht und Täglich 24 Std. min. 100% Gewinn macht“ EA robot that makes 0% loss and daily 24 hours min. 100% profit. - it seems that programming is not the only thing you are at the very first beginning, because: your goals are absolute unrealistic...

Gott spricht zu mir das mein Auftrag und für mich ist das eine Idee.

Jede diese Ideen haben bis jetzt funktioniert eben weil sie von Gott kommt.

Aber es ist immer das gleiche, wenn ich nicht selbst umsetze funktioniert es nicht.

Also muss ich mich in den Arsch kneifen und dann gehts.

Es ist immer das gleiche, Fachidioten können nur das was sie gelernt haben. Denen fehlt die Innovation etwas neues zu Kreieren dabei ist es ganz einfach über den Tellerrand zu sehen dort gibt es noch ganz andere Sachen. Bist Du bereit etwas neues zu erschaffen?

'Just for the heck of it i reqeusted the info.
The guy sent me a standard hedging EA (that loses a lot in any setting) and a truly simple trend indicator.
So I asked a lot of questions about strategy, trackrecord .....
The answers wher not to the point or non-existent. there is no big strategy behind this hoax At it's best it is just a cry for attention.
Frankly I think xabbu is too nice stating only 'unrealistic' My verdict would be harsher.


@genappsforex

genappsforex
19 Oct 2020, 20:20

RE:

there is a problem with the framework (see discussions on netstandard 2.0 in this forum)

 


@genappsforex

genappsforex
19 Oct 2020, 20:18

RE:

maybe use the ms2 index? youre using the Bars index.
find the index corresponding with the Bars.OpenTimes[index] and you're OK

 


@genappsforex

genappsforex
09 Oct 2020, 17:10

RE: RE: RE:

Informationsaustausch?
Ihre E-Mail / WhatsApp bitte

 


@genappsforex

genappsforex
07 Oct 2020, 20:03

RE:

Wir haben in MT4 entwickelt,aber sind  auf cTrader umgestiegen.
Es ist noch MT4-Kenntnisse verfügbar. Wenn Sie Fragen haben! contact!.

 


@genappsforex

genappsforex
21 Aug 2020, 12:19

Sorry to say so .(and probably I shouldn't)
"Better get yourself a programmer if I look at your Code."


@genappsforex

genappsforex
21 Aug 2020, 12:09

RE:

bienve.pf said:

Is there a property / quick method to know how many minutes a TimeFrame has?

I right now I do it in the following way:

var minutes = (Bars [1] .OpenTime - Bars [0] .OpenTime) .TotalMinutes;

// this would be ideal
var m = TimeFrame.Minutes;

this will work on 99.999% of the times, But if it is mission critical .....

On smaller timeframes (e.g. M1) there is not always a tick in every timeframe
=thus=> not a OnBar on every timeframe
=thus=> Bars [1] .OpenTime - Bars [0] .OpenTime could be 2 or more minutes apart!!!

 

Therefor a TimeFrame Native function like TotalSeconds() would be nice!


@genappsforex