MC and TS8 shows different results for the same data

Questions about MultiCharts and user contributed studies.
2haerim
Posts: 502
Joined: 01 Sep 2006
Been thanked: 2 times

MC and TS8 shows different results for the same data

Postby 2haerim » 22 Aug 2008

Please go directly to the 3rd post below for this thread. I simplified this issue in that post.

===========================================


The following code was applied to both MC and TS8 using OD2.

I found 2 weird issues.

var: session(0;

if currentbar =1 then cleardebug;

if d=1080718 or d=1080721 then
print(d:8:0,t:5:0," ",ROUND(date,0),ROUND(date,0) cross above 1080718.00);


<< Issue 1 >> MC and TS8 shows different results.

The log from TS8's 10 min chart shows:

[10 min] from TS8 for an OD2 symbol
1080718 1510 1080718.00 FALSE
1080718 1520 1080718.00 FALSE
1080721 910 1080721.00 TRUE
1080721 920 1080721.00 FALSE

The log from MC's 10 min chart shows:

[10 min] from MC
1080718 1510 1080718.00FALSE
1080718 1520 1080718.00FALSE
1080721 910 1080721.00FALSE
1080721 920 1080721.00FALSE


<< Issue 2 >> TS8 shows different results for a normal TS8 symbol and an OD2 symbol.

Another weird thing is that if the above code is applied to TS8's 1 min chart for an OD2 symbol, the result is different from that of 10 min as shown below.

[1 min] from TS8 for an OD2 symbol
1080718 1505 1080718.00 FALSE
1080718 1516 1080718.00 FALSE
1080721 901 1080721.00 FALSE
1080721 902 1080721.00 FALSE

[10 min] from TS8 for an OD2 symbol
1080718 1510 1080718.00 FALSE
1080718 1520 1080718.00 FALSE
1080721 910 1080721.00 TRUE
1080721 920 1080721.00 FALSE

This result should be the same as that of TS8's 10 min result shown at the beginning because the only difference is 1 min or 10 min and the code does not use anything special.

However, when I applied this to a normal TS8 symblo (@ES), the result for 1 min and 10 min are as follows and they show the same results.

[1 min] from TS8 for a normal TS8 symbol
1080718 2358 1080718.00 FALSE
1080718 2359 1080718.00 FALSE
1080721 701 1080721.00 FALSE
1080721 702 1080721.00 FALSE

[10 min] from TS8 for a normal TS8 symbol
1080718 2340 1080718.00 FALSE
1080718 2350 1080718.00 FALSE
1080721 710 1080721.00 FALSE
1080721 720 1080721.00 FALSE


So, this weird behaviour with TS8 seems to happen only for OD2 symbols.
Last edited by 2haerim on 28 Aug 2008, edited 2 times in total.

User avatar
Marina Pashkova
Posts: 2758
Joined: 27 Jul 2007

Re: MC and TS8 shows different results for the same data

Postby Marina Pashkova » 22 Aug 2008

HaeRim,

Your post has a number of contradictions:

You're writing:

[10 min] from TS8
1080718 1510 1080718.00 FALSE
1080718 1520 1080718.00 FALSE
1080721 910 1080721.00 TRUE
1080721 920 1080721.00 FALSE

but then you're saying:

[1 min] from TS8 for a normal TS8 symbol
1080718 2358 1080718.00 FALSE
1080718 2359 1080718.00 FALSE
1080721 701 1080721.00 FALSE
1080721 702 1080721.00 FALSE

The results for a normal TS8 symbol are the same as the results for MC that you posted:

The log from MC's 10 min chart shows:

[10 min] from MC
1080718 1510 1080718.00FALSE
1080718 1520 1080718.00FALSE
1080721 910 1080721.00FALSE
1080721 920 1080721.00FALSE

Looks like there is no problem here.

Regarding TS and OD2:

In our tests, the results for native TS symbols were the same as the results for symbols received from OD2.

If you ran tests on one of the supported datafeeds, please give us the symbol name and the provider. If the tests were run on your own provider, we cannot comment on the results.

Regards.

2haerim
Posts: 502
Joined: 01 Sep 2006
Been thanked: 2 times

Postby 2haerim » 22 Aug 2008

I raised two issues which could be completely independent of each other or closely inter-related. That might cause you confused and misunderstood my assertion.

After lots of testing, I come to the following primitive question.

Does MC/TS8 correctly calculate the following expression?

ROUND(date,0) cross above 1080718.00


I ran the same tests on 4 cases and all the results are different as shown below. I guess this is the critical test to answer all the issues I raised.

The values for the expression "ROUND(date,0) cross above 1080718.00" using MC/TS8/TS2ki for 1 min and 10 min charts are as follows:

Platform -------1 min chart----------10 min chart

MC-----------------FALSE--------------------FALSE

TS8/OD2---------FALSE--------------------TRUE

TS8/Normal-----FALSE--------------------FALSE

TS2ki-----------TRUE-----------------TRUE


From these results, two issues can be rephrased as below:

[1] MC and TS8/Normal give all the FALSEs, but TS2ki gives all TRUEs. Who is the winner?

[2] TS8/OD2 and TS8/Normal give the same FALSEs for 1 min, but for 10 min, TRUE and FALSE, respectively. OD2 somehow seems to affect the calculation of signals. I think it should NOT. I have tested this for tsGSDataFeed too. It is independent of datafeed provider.


Finally, I plotted the following indicator to see which is correct and TS2ki seems to be the only winner assuming the semantics of "cross above" is the same for all the platforms. You can clearly see the indicator crossing above on 1080721 on all platforms. But TS2ki only shows correct value.

plot1(ROUND(date,0),"");
plot2(1080718.00, "");


My conclusion is :

[1] TS2ki is the winner and MC/TS8 has a bug on "cross above" at least for the given expression.

[2] TS8/OD2 has another bug showing different values for the normal TS8 symbol and OD2 symbol.




For more information, I simulated "cross above" based on the following description from TS8's Help.

Crosses over (above)
Greater than on the current bar but less than or equal to on the previous bar (crosses above can also be used)


Crosses under (below)
Less than on the current bar but greater than or equal to on the previous bar (crosses below can also be used)



var: rd(0),rd_ca1(FALSE);
rd=round(d,0);
rd_ca1=rd[1]<= 1080718.00 and rd>1080718.00;

This gives the correct results for both MC/TS8.

2haerim
Posts: 502
Joined: 01 Sep 2006
Been thanked: 2 times

Postby 2haerim » 28 Aug 2008

Is this post confirmed as a bug or not yet? It won't take more than a five min to test this issue.

2haerim
Posts: 502
Joined: 01 Sep 2006
Been thanked: 2 times

Postby 2haerim » 03 Sep 2008

Marina,

Have you tested and confirmed this as a bug yet?

SUPER
Posts: 624
Joined: 03 Mar 2007
Has thanked: 99 times
Been thanked: 80 times

Postby SUPER » 03 Sep 2008

2haerim

if CurrentBar > 1 then
{ CB > ConfirmBars check used to avoid spurious cross confirmation
at CB = ConfirmBars }

It may be worth trying " CurrentBar > 1 " in your code.

I have not tested your code but thought of another look at it to confirm bug if it exists.

Regards
Super

2haerim
Posts: 502
Joined: 01 Sep 2006
Been thanked: 2 times

Postby 2haerim » 03 Sep 2008

SUPER,

Thanks for the comments, but I am sorry I don't understand what you are saying.

BTW, as I posted previously, I've run the same tests for TS2ki/TS8/MC all together with exactly the same conditon. And TS2ki is the only one with correct result.

So, MC/TS8 shares the same bug.

You can just plot it as I said and it SURELY crosses above but MC/TS8 returns false.

SUPER
Posts: 624
Joined: 03 Mar 2007
Has thanked: 99 times
Been thanked: 80 times

Postby SUPER » 03 Sep 2008

2haerim,

Please try this in your code and see if you get different results, I do not have TS2K so I can not test your code accross TS platforms.

if currentbar > 1 and ROUND(date,0) cross above 1080718.00

You will find following explanation in all TS canned strategies where cross over/under is involved. { CB > 1 check used to avoid spurious cross confirmation at CB = ConfirmBars }

Regards
Super

2haerim
Posts: 502
Joined: 01 Sep 2006
Been thanked: 2 times

Postby 2haerim » 03 Sep 2008

No difference at all.

ROUND(date,0) cross above 1080718.00) always returns FALSE in MC and TS8.

User avatar
Marina Pashkova
Posts: 2758
Joined: 27 Jul 2007

Postby Marina Pashkova » 04 Sep 2008

HaeRim,

We have confirmed the behavior that you are describing. The thing here is though, that we are not sure if we are going to change this behavior. At least not yet. At this point, the way MC identifies crosses is identical to that of TS. If we correct this behavior, than those of our customers who are using studies they used in TS, will start complaining that our behavior is different.

Regards.

2haerim
Posts: 502
Joined: 01 Sep 2006
Been thanked: 2 times

Postby 2haerim » 04 Sep 2008

I understand you guys abide by TS8's behaviour as much as possible, but it is an apparent bug of TS8, and why MC repeats the bug? If people complains about it, you can definitely show that it is TS8's bug and proudly announce that MC does not have such a bug.

Not everyone believes TS8 is the best, I think. Some people at least like me believe MC is better and MC should be better to survive IMHO.

User avatar
Marina Pashkova
Posts: 2758
Joined: 27 Jul 2007

Postby Marina Pashkova » 04 Sep 2008

Hi HaeRim,

You are perfectly right. However, on so many occasions, having implemented correct behavior vs the faulty one of TS, we received complaints from customers that MC's behavior wasn't correct. Our attempts to explain them that in fact it was wrong in TS would have no effect and we'd lose customers.

SUPER
Posts: 624
Joined: 03 Mar 2007
Has thanked: 99 times
Been thanked: 80 times

Postby SUPER » 04 Sep 2008

Hi HaeRim,

You are perfectly right. However, on so many occasions, having implemented correct behavior vs the faulty one of TS, we received complaints from customers that MC's behavior wasn't correct. Our attempts to explain them that in fact it was wrong in TS would have no effect and we'd lose customers.


Marina,

On a short term view you may lose out on customers who do not have much understanding but if you were to demonstrate a bug like 2hairem has done here - you will win on long run by having a superior product and I am sure you want to develop and put in market place a product which does proper calculation.

There are many serious TS users who would want to use MC if it can demonstrate that it has taken care of TS bugs. If MC is going to be another clone of TS what advantage one has switching over to MC.

"Provide customers what is right "

Regards
Super

User avatar
Marina Pashkova
Posts: 2758
Joined: 27 Jul 2007

Postby Marina Pashkova » 17 Sep 2008

Hi guys,

What we are going to do in this particular case is just write another function for crosses that will work correctly as opposed to that of TS.

Regards.

SUPER
Posts: 624
Joined: 03 Mar 2007
Has thanked: 99 times
Been thanked: 80 times

Postby SUPER » 17 Sep 2008

Hi guys,

What we are going to do in this particular case is just write another function for crosses that will work correctly as opposed to that of TS.

Regards.


Marina,

Many thanks, this would be a great help.

I sincerely hope it is included in your next release.

Regards
Super

User avatar
Marina Pashkova
Posts: 2758
Joined: 27 Jul 2007

Postby Marina Pashkova » 26 Sep 2008

Hi Super,

I cannot promise it will be included into our next release. But we will certainly try to implement this feature soon enough.

Regards.

SUPER
Posts: 624
Joined: 03 Mar 2007
Has thanked: 99 times
Been thanked: 80 times

Postby SUPER » 09 Oct 2009

I came accross interesting stuff on CrossOver and CrossUnder on TS forum and it may be useful to MC users.




you can find more on this subject at https://www.TS.com/Discussion ... =8&#472937
Attachments
CrossOver_Under.doc
(50.5 KiB) Downloaded 43 times

User avatar
TJ
Posts: 6598
Joined: 29 Aug 2006
Location: Global Citizen
Has thanked: 971 times
Been thanked: 1909 times

Postby TJ » 09 Oct 2009

thanks... that's a good piece.


Return to “MultiCharts”