Jump to content

We have moved to Discord. Please click here to join us in the Trading Terminal Discord server.



These forums are read-only.

gholamrhs

DAS CAM Pivots

Recommended Posts

gholamrhs

I'm new to BBT and wanted to transition to DAS, and I've been studying the CAM pivots. However, there is a big difference between DAS and TOS which I use. TOS CAM Pivots calculations are based on "Pivot Boss". I've attached two examples from today. I went back and analyzed the TOS script and did not find any error. Anyone know the code script for DAS or how they do their calculations? I guess I can manually calculate to find out. I've attached the examples from today and TOS code for CAM pivots. 

DIS DAS PIVOTS.JPG

DIS TOS PIVOTS.JPG

TSLA DAS CAM PIVOTS.JPG

TSLA TOS CAM PIVOTS.JPG

TOS code.JPG

Share this post


Link to post
Share on other sites
cjsimon07

I have noticed that DAS and TOS camerilla points are different too. On most stocks they seem to be pretty close and from what I have seen both levels seem to be respected and work the same. I wonder if pre/post market data is used on DAS and not on TOS? There has to be some small difference in the equation, but I can't quite figure it out either. 

I wonder if someone who has both TOS and DAS can open a chart in each platform with the same stock and see how the levels are different and how they react to the price action to compare. 

Share this post


Link to post
Share on other sites
Bryan W

Can you set the data range in TOS? In DAS, I think it's usually using 2 days as a default... In DAS you can change that data range by right clicking in the chart, hitting "data config",  and adjusting it with the bottom right drop down menu... I have no idea what TOS uses.

Share this post


Link to post
Share on other sites
gholamrhs

So, I figured out where the difference is. BBT community for the most part uses DAS CAM with pre/post market data included. Where as TOS can only calculate without pre/post market data. And yes both w/ or w/o pre/post market data pivots are respected. Thanks guys for inputs. I was mostly interested in S5 and R5 calculations. I guess I have to do it manually since DAS does not do that automatically.  If anyone uses the CAM Pivots, I would highly recommend to monitor with and without pre/post market data. What I have noticed if there's a big wick during pre/post markets, the price respects the regular session data.

Share this post


Link to post
Share on other sites
Bryan W
On 12/26/2020 at 8:07 PM, gholamrhs said:

So, I figured out where the difference is. BBT community for the most part uses DAS CAM with pre/post market data included. Where as TOS can only calculate without pre/post market data. And yes both w/ or w/o pre/post market data pivots are respected. Thanks guys for inputs. I was mostly interested in S5 and R5 calculations. I guess I have to do it manually since DAS does not do that automatically.  If anyone uses the CAM Pivots, I would highly recommend to monitor with and without pre/post market data. What I have noticed if there's a big wick during pre/post markets, the price respects the regular session data.

 

  • Thanks 1

Share this post


Link to post
Share on other sites
Ranajit Chatterjee

@gholamrhs

i am using TOS and using Camarilla study just like you. What i found in camarilla equation that it takes previous day high, low etc, there is no pre-post market involves in that calculation. Are you talking that DAS CAM is not camarilla equation?

Share this post


Link to post
Share on other sites
cjsimon07

DAS gives you the option to exclude premarket data. TOS just excludes it with no option. I believe DAS uses premarket high, low... in the camarilla calculations. 

I am in the process of switching from TOS to DAS (long overdue). It seems both levels are respected, but in my limited assessment I think the cam study with premarket data is better. I've also noticed that a lot of times the r3/s3 levels on TOS are closer to the r4/s4 points on DAS. 

Share this post


Link to post
Share on other sites
Casey Reeves

I was just wondering if there was a resolution to this issue. I am having the same issues with the inconsistency in TOS CAM pivot points.  

Share this post


Link to post
Share on other sites
NTrader2021

The difference I've identified between the CamarillaPoints study in TOS (which is what I use) and the one in DAS is that the calculation used for "R5" and "S5" is actually the calculation for "R6" and "S6."  Meaning, the default study in TOS doesn't calculate "R5" and "S5." The equations for these two levels are missing: R5 = R4 + 1.168*(R4-R3) and S5 = S4-1.168*(S3-S4).

The script included below is accurate (it includes R5 and S5), but only uses data during normal trading hours (be sure to change the aggregation period to "day" and the length to "1").

I have yet to find a solution that allows me to change the script to include premarket data, which would yield the same values used by Thor and other BBT moderators who use DAS.


input aggregationPeriod = {default "DAY", "WEEK", "MONTH"};
input length = 25;
input hide_s1_r1 = yes;
input lines = {default dashes, points, triangles, horizontal, squares};
input showbubbles_description = yes;
input showpricebubble = yes;

Assert(length > 0, "'length' should be positive: " + length);

def yyyymmdd = GetYYYYMMDD();
def month = GetYear() * 12 + GetMonth();
def day_number = DaysFromDate(First(yyyymmdd)) + GetDayOfWeek(First(yyyymmdd));
def period;
switch (aggregationPeriod) {
case DAY:
    period = CountTradingDays(Min(First(yyyymmdd), yyyymmdd), yyyymmdd) - 1;
case WEEK:
    period = Floor(day_number / 7);
case MONTH:
    period = Floor(month - First(month));
}
def count = CompoundValue(1, if period != period[1] then (count[1] + period - period[1]) % length else count[1], 0);
def start =  CompoundValue(1, count < count[1] + period - period[1], yes);
def highValue = if start then Highest(high(period = aggregationPeriod), length)[1] else if highValue[1] != 0 then highValue[1] else Double.NaN;
def lowValue = if start then Lowest(low(period = aggregationPeriod), length)[1] else if lowValue[1] != 0 then lowValue[1] else Double.NaN;
def closeValue = if start then close(period = aggregationPeriod)[1] else closeValue[1];
def range = highValue - lowValue;

def PH = high(period = aggregationPeriod)[1];
def PL = low(period = aggregationPeriod)[1];
def PC = close(period = aggregationPeriod)[1];

plot HH;
plot PP;
plot LL;

HH = PH;
LL = PL;
PP = (PH + PL + PC) / 3;

HH.SetStyle(Curve.MEDIUM_DASH);
LL.SetStyle(Curve.MEDIUM_DASH);

plot R6 = (highValue / lowValue) * closeValue;
plot R4 = closeValue + range * (1.1) / 2;
plot R3 = closeValue + range * (1.1) / 4;
plot R5 = r4 + 1.168 * (R4 – R3);
plot R2 = closeValue + range * (1.1) / 6;
plot R1 = closeValue + range * (1.1) / 12;
plot S1 = closeValue - range * (1.1) / 12;
plot S2 = closeValue - range * (1.1) / 6;
plot S3 = closeValue - range * (1.1) / 4;
plot S4 = closeValue - range * (1.1) / 2;
plot S5 = S4-1.168 * (s3 - s4);
plot S6 = (closeValue - (R6 - closeValue));

R1.SetHiding(hide_s1_r1);
S1.SetHiding(hide_s1_r1);

R6.SetDefaultColor(GetColor(6));
R5.SetDefaultColor(GetColor(6));
R4.SetDefaultColor(GetColor(6));
R3.SetDefaultColor(GetColor(6));
R2.SetDefaultColor(GetColor(6));
R1.SetDefaultColor(GetColor(6));
S1.SetDefaultColor(GetColor(5));
S2.SetDefaultColor(GetColor(5));
S3.SetDefaultColor(GetColor(5));
S4.SetDefaultColor(GetColor(5));
S5.SetDefaultColor(GetColor(5));
S6.SetDefaultColor(GetColor(5));

def paintingStrategy = if lines == lines.points then PaintingStrategy.POINTS else if lines == lines.triangles then PaintingStrategy.TRIANGLES else if lines == lines.dashes then PaintingStrategy.DASHES else if lines == lines.horizontal then PaintingStrategy.HORIZONTAL else PaintingStrategy.SQUARES;

R6.SetPaintingStrategy(paintingStrategy);
R5.SetPaintingStrategy(paintingStrategy);
R4.SetPaintingStrategy(paintingStrategy);
R3.SetPaintingStrategy(paintingStrategy);
R2.SetPaintingStrategy(paintingStrategy);
R1.SetPaintingStrategy(paintingStrategy);
S1.SetPaintingStrategy(paintingStrategy);
S2.SetPaintingStrategy(paintingStrategy);
S3.SetPaintingStrategy(paintingStrategy);
S4.SetPaintingStrategy(paintingStrategy);
S5.SetPaintingStrategy(paintingStrategy);
S6.SetPaintingStrategy(paintingStrategy);

#Bubbles to describe Pivot Levels

input bubblemover = 8;
def n = bubblemover;
def n1 = n + 1;

def StartPlot = if showbubbles_description == yes then (IsNaN(close[n]) and !IsNaN(close[n1])) else Double.NaN;


AddChartBubble(StartPlot, R6[n1], "R6 " + (if showpricebubble then AsText(R6[n1]) else ""), Color.GREEN,   if close[n1] > R6[n1] then no else yes);
AddChartBubble(StartPlot, R5[n1], "R5 " + (if showpricebubble then AsText(R5[n1]) else ""), Color.GREEN,   if close[n1] > R5[n1] then no else yes);
AddChartBubble(StartPlot, R4[n1], "R4 " + (if showpricebubble then AsText(R4[n1]) else ""), Color.GREEN,   if close[n1] > R4[n1] then no else yes);
AddChartBubble(StartPlot, R3[n1], "R3 " + (if showpricebubble then AsText(R3[n1]) else ""), Color.GREEN,   if close[n1] > R3[n1] then no else yes);
AddChartBubble(StartPlot, R2[n1], "R2 " + (if showpricebubble then AsText(R2[n1]) else ""), Color.GREEN,   if close[n1] > R2[n1] then no else yes);
AddChartBubble(StartPlot and hide_s1_r1 == no, R1[n1], "R1 " + (if showpricebubble then AsText(R1[n1]) else ""), Color.GREEN,   if close[n1] > R1[n1] then no else yes);

AddChartBubble(StartPlot, S6[n1], "S6 " + (if showpricebubble then AsText(S6[n1]) else ""), Color.RED, if close[n1] > S6[n1] then no else yes);
AddChartBubble(StartPlot, S5[n1], "S5 " + (if showpricebubble then AsText(S5[n1]) else ""), Color.RED, if close[n1] > S5[n1] then no else yes);
AddChartBubble(StartPlot, S4[n1], "S4 " + (if showpricebubble then AsText(S4[n1]) else ""), Color.RED, if close[n1] > S4[n1] then no else yes);
AddChartBubble(StartPlot, S3[n1], "S3 " + (if showpricebubble then AsText(S3[n1]) else ""), Color.RED, if close[n1] > S3[n1] then no else yes);
AddChartBubble(StartPlot, S2[n1], "S2 " + (if showpricebubble then AsText(S2[n1]) else ""), Color.RED, if close[n1] > S2[n1] then no else yes);
AddChartBubble(StartPlot and hide_s1_r1 == no, S1[n1], "S1 " + (if showpricebubble then AsText(S1[n1]) else ""), Color.RED, if close[n1] > S1[n1] then no else yes);

R1.HideBubble();
R2.HideBubble();
R3.HideBubble();
R4.HideBubble();
R5.HideBubble();
R6.HideBubble();

S1.HideBubble();
S2.HideBubble();
S3.HideBubble();
S4.HideBubble();
S5.HideBubble();
S6.HideBubble();

Share this post


Link to post
Share on other sites
cellardoor23

I'm using tradingview in addition to DAS Trader Pro, does anyone know how I can

get the same Camarilla pivot point levels in tradingview as in DAS ?

It seems that every indicator script in tradingview is using the HOD and LOD as base and not Premarket data ... this confuses me 

Share this post


Link to post
Share on other sites
mortforshort

cpp v2 has cam pivots but doesn't use the premarket data. Das is definitely easier to read. If you have trade ideas it allows you to link symbols and when i click symbol both DAS and TV switch to that stock. TV will let you custom code pivots if you have the formulas for prepost market.  I haven't seen the code for those formula posted online. 

Share this post


Link to post
Share on other sites

[[Template core/front/global/mobileNavigation is throwing an error. This theme may be out of date. Run the support tool in the AdminCP to restore the default theme.]]

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.