Topics
06 Sep 2024, 12:36
 67
 1
10 Apr 2024, 11:38
 191
 1
22 Mar 2024, 15:14
 248
 1
11 Dec 2023, 08:10
 284
 1
10 Jan 2023, 12:24
 626
 1
01 Aug 2022, 07:24
 1443
 9
23 Apr 2021, 00:17
 1264
 6
07 Aug 2019, 09:34
 1302
 1
Replies

swingfish
20 Feb 2022, 05:28 ( Updated at: 20 Feb 2022, 05:29 )

"technically" No, because you do not offer investment services (Spotware does) so the burden of KYC and accreditation is in the Spotware end.
if they are not regulated, they would be required to execute a KYC, making sure the investor is accredited. if regulated, only the KYC would be required.
but since cTrader Copy is just a tool that is utilized by Brokers, the burden of the KYC is pushed to the Broker instead, the place where the actual Funds do end up.

all this makes you a Consultant/Contractor that gets's paid commissions,

but like stated by Panagiotis, it's better to get regulated anyway, a regulation in the activity you will actually provide is not expensive or complicated, as you do not engage in fund management directly, audits and other things are not coming into play, the "regulation" is more like a "registration" where the FCA basically acknowledges your existence, and not really regulates you as there is nothing to regulate, the flow of funds is regulated via the Brokers, as they do execute and handle the funds.

basically, you get paid by Spotware and/or brokers for pressing buttons, no capital gains on your end besides your own.
if your own Juristic person does state the activity in the same manner, this is pretty safe.


@swingfish

swingfish
24 Apr 2021, 18:30

RE: RE:

amusleh said:

 

Hi,

You can wait for the async method to complete by putting the thread on sleep and checking with a while loop like I did on previous example.

your example code did not prevent the calgo from shutting down ..


@swingfish

swingfish
23 Apr 2021, 16:14

Sorry i was not clear abou the issue at hand,

the calgo communicates with another device, which all works perfectly, I want to "inform" the other device that the bot is stopping

 

so in OnStop i sent a command to do so, the problem is the other device doesn't accept the Information if the connection is not completed.

when I click the stop button, the calgo sends the Async command, and then kills itself but the killing also severed the async connection so there is no ACK for the last transmission.

 

a workaround would be just to wait 500-1000 ms 

 


@swingfish

swingfish
19 Nov 2020, 06:38

RE: Suspect Account Hack

coship00 said:

Logged into my CTrader ID to check sessions and see there are 3 x UK sessions and 2 x Czech sessions running?

This account is also a Enfoid evaluation account.  

Hello .. these are Tracking Servers, EnFoid Tracking servers mostly Located in the UK,
there are instances where servers in DE, CZ, or the US are used.
CZ because the majority of accounts were handled by Purple Trading (Metaquotes accounts still are)

due to the way the cTrader API is managed, the servers will use oauth2 to connect and monitor your Trading Activity in near realtime.
Once an OAuth session is authenticated, you can see it in the Active session window, for maximum security and transparency, in comparison, on an MT5/MT4 account, you will never know who is looking at your trades ;) 

if you trade Prop with EnFoid, you must leave these sessions active, otherwise, the servers can not track your account activity.
if I myself check on accounts there may be also Web Session from Singapore or Thailand (same thing)

if you see unused (not active sessions) you can remove them if that makes you feel better.

we working constantly on these integrations, especially since Spotware is a very fast-moving company with constant development going on, it can just get to the better ;)

you can join our community discord for realtime support in this matters https://discord.gg/swingfish
(its 100% free, non-profit, and has a strict "no conflict of interest" & "no trolls" rule :) )

Mario 

 


@swingfish

swingfish
21 Feb 2019, 22:05

RE:

Spotware said:

Dear Trader,

1.  Does cTRADER benefits from Multi-Core Processor ?  

2.  Does cTRADER benefit from Multi-Threading ?

Yes, it benefits.

if you don't mind .. could you guys get into this a bit more in detail?

because if the software does truely support  Multi-Threading  a Xeon CPU would perform better, even if it has a slower clockrate.however if it doesn't a i5/i7 would be more suitable.

since there are significant costs involved, it would be very helpful to get more details on this from the Spotware end.

 

 

 

 


@swingfish

swingfish
17 Dec 2018, 12:48

As example if I could just set a .5 pip range and if the spread takes it out, would prevent the fill ?

 


@swingfish

swingfish
17 Dec 2018, 12:46

Does the range consider spread ? 

Because the spread is usually what's making scale is rather expensive.


@swingfish

swingfish
17 Dec 2018, 12:38

So setting a range in quick trade makes them stop limits ? 

That would be nice, I usually use the Dom and just keep moving the orders along with the offers

Which is fine, but a quick entry usually ends up to be quite expensive,

I was assuming the range is like a way to help as it was there even before stop limits existed, thanks for pointing that out.

 

 


@swingfish

swingfish
16 Dec 2018, 17:29

remove trendlines before change the symbol, that will fix it.

basically makes cTrader unusable as the redrawing of lines takes too much time.
a way to bypass this problem is to simply create multiple workspaces for different symbols instead of change the symbol in the chart

 


@swingfish

swingfish
11 Dec 2018, 10:41

thank you .. yes that was it, it turns out that my bug was in another place ... 

where limit orders were filled without a stop at all if the spread was too large,

is there a way to add a condition while placing the order? I added a check for the spread now, but that's not very "effective" 

 


@swingfish

swingfish
31 Oct 2018, 15:44

i'm already have deplayed an algo that does take profit based on trendlines, sadly most larger brokers still running Version 3.0

i was told you guys (Spotware) handling the rollout.

 

kawase as example is at 3.3 already ... 

would be really nice if you guys could push the other brokers at least to 3.02 so the Chart.Objects would work .. 

 


@swingfish

swingfish
07 Sep 2018, 10:20

thanks for the reply, for some reason cTrader 3.0 and 3.01 do not have the Positions.Average call 

i use this now to calculate the average price (but as i said before, its not very accurate)

the goal is to plot a average line on the chart based on entries/volume .. like a breakeven-line so to speak

 

            // breakeven line
            ie = 0;
            foreach (var position in Positions)
            {
                if (position.SymbolCode == Symbol.Code)
                {
                    ie++;
                    ev = position.Volume;
                    tv += ev;
                    if (position.TradeType == TradeType.Sell)
                        ev = ev * -1;
                    e = e + position.EntryPrice * ev;
                    v = v + ev;

                    if (position.EntryPrice >= epmx)
                    {
                        epmx = position.EntryPrice;
                    }

                    if (position.EntryPrice <= epmn)
                    {
                        epmn = position.EntryPrice;
                    }
                }
            }

            p = e / v;
            if (ie > 0)
            {
                ChartObjects.DrawLine("brline", index - 5, p, index + 10, p, Colors.LimeGreen);
            }
            else
            {
                ChartObjects.RemoveObject("brline");
            }

 


@swingfish

swingfish
06 Sep 2018, 16:55

thanks again for pointing that out 

i just added a "manual removal" in the else of if (CurrentDay == oldCurrentDay)

                    if (!ShowHistoricalvWap)
                    {
                        for (int i = index - 16; i <= index; i++)
                        {
                            VWAP[i] = double.NaN;
                        }

 

not really a "clean" way of doing it but that saves me the loop through all the history .. right? 

 


@swingfish

swingfish
06 Sep 2018, 16:28

oh yes, that's right ... so I have to make another loop to do the cleanup I guess

how do I loop through all the history without blowing the memory? to clean it up ? 

 

 

 


@swingfish

swingfish
06 Sep 2018, 16:13

thank you very much, this did help a lot .. but for some strange reason the indicator does not delete the rest of the day after the reset.

my special version does "reset" to 0 at the Tokyo opening.. and for some reason the previous 15 dots are note being deleted after 

i can't figure out where the bug is. as you see the code is really simple

the part 

    if (i < index - 15)
    {
     VWAP[i] = double.NaN;
    }

does remove the dots perfectly from the current day, but leaves the last 15 points of the previos day staying .. 

is there a way to get rid of them ? 

here is a screenshoot https://prnt.sc/krb16s

i'm clueless on what i do wrong 

 

private int start_bar = o;
if (ShowVwap)
{
 int end_bar = index;
 int CurrentDay = MarketSeries.OpenTime[end_bar].DayOfYear;
 double highest = 0;
 double lowest = 999999;
 double close = MarketSeries.Close[index];

 if (CurrentDay == oldCurrentDay)
 {
  double sum = 0.0;
  for (int i = start_bar; i <= end_bar; i++)
  {
   sum += MarketSeries.Close[i];
   VWAP[i] = TotalPV / TotalVolume;
   for (int k = start_bar; k <= i; k++)
   {
    double HLC = (MarketSeries.High[k] + MarketSeries.Low[k] + MarketSeries.Close[k]) / 3;
    double OHLC = (MarketSeries.High[k] + MarketSeries.Low[k] + MarketSeries.Open[k] + MarketSeries.Close[k]) / 4;
    double avg = HLC;
    double diff = avg - VWAP[i];
   }

   // cut vwap short

   if (!ShowHistoricalvWap)
   {
    if (i < index - 15)
    {
     VWAP[i] = double.NaN;
    }

    // this does not work (supposed to delete the old days data
    /*
    if (i > MarketSeries.OpenTime[end_bar].DayOfYear)
    {
     VWAP[i] = double.NaN;
    }
   */
   }
  }
 }
 else
 {
  oldCurrentDay = MarketSeries.OpenTime[end_bar].DayOfYear;
  start_bar = end_bar - TimeOffset;
 }
}

 


@swingfish

swingfish
27 Aug 2018, 19:21

is there a way to "completly" disregard the old data from displaying it ? 

the "problem" iam still facing is that the chart is getting shrinked down because the previous line is still there, especially if there is a large gap

once the gap is not visible anymore the chart resets to the proper zoom, so my idea was to completly disregard the previous data

 


@swingfish

swingfish
27 Aug 2018, 19:17

sorry, please disregard my previous comment, it works just fine with the parameter 

the line is cut now as expected.

thank you very much


@swingfish

swingfish
27 Aug 2018, 19:11

hello and thanks for the hint, however the PlotType does not limit the output range, it just changes the way how it's displayed.

what i want to accomplish is simply that the line starts at the point where its started to be calculated and disregard all the previous periods.

 


@swingfish

swingfish
20 Aug 2018, 16:30

guess you are right,

the most easiest way is probably just to use an installer instead. that copy the sound and data files to the appropriate directory


@swingfish

swingfish
20 Aug 2018, 14:09

HOLY ! thats simple .. i use old fashion C# lists to solve that one ... 

thats alot more easy, thanks alot 

 

 


@swingfish