NexusFi: Find Your Edge


Home Menu

 





Total, Highest, Lowest Delta


Discussion in MultiCharts

Updated
    1. trending_up 1,564 views
    2. thumb_up 2 thanks given
    3. group 0 followers
    1. forum 0 posts
    2. attach_file 1 attachments




 
Search this Thread

Total, Highest, Lowest Delta

  #1 (permalink)
 
arnie's Avatar
 arnie 
Europe
 
Experience: Advanced
Platform: Jigsaw
Broker: Tradovate
Trading: Equities
Posts: 826 since May 2010
Thanks Given: 763
Thanks Received: 1,048

Based on what SP made on his NumbersBars study I wrote this one to accomplish my needs.




 
Code
// Fernando
// 10-02-2013
// Plot the total, the highest and lowest delta
   {- Add Cumulative Delta as 2nd data series with the same resolution as the main data series 
      and base this study on that 2nd data series. Also set it to - Break on Session}

inputs:
   FontType            ("Lucida Sans Typewriter"),
   ShowLabels            (false), // labels each delta calculation
   LabelTextSize            (8),
   LabelColor            (darkgray),
   ShowDeltaHistory         (false), // plots delta calculations prior to today
   ShowHiLoVariation         (true), // plots percentage calculation of total delta against highest and lowest delta
   TextColor            (white),
   DeltaTextSize            (13),
   HiLoTextSize            (10),
   PlusDeltaColor         (blue),
   MinusDeltaColor         (red),
   DeltaLocation            (1.4), // text location on the subchart 
   VariLocation            (0.9), // text location on the subchart 
   HiDeltaLocation         (0.5), // text location on the subchart 
   LoDeltaLocation         (0); // text location on the subchart 

variables:
   myDelta            (0),
   myHighDelta            (0),
   myLowDelta            (0),
   hiDeltaVari            (0),
   loDeltaVari            (0),
   deltaTXT            (-1),
   highTXT            (-1),
   lowTXT               (-1),
   variTXT            (-1),
   myDeltaTXT            (-1),
   myHighTXT            (-1),
   myLowTXT            (-1),
   deltaVariTXT            (-1);

if currentbar =  1 then begin
   // Label text
   if ShowLabels = true then begin
      deltaTXT= text_new_self_s(date, time_s, DeltaLocation, "");
         text_setfontname(deltaTXT, FontType);
         text_setsize(deltaTXT, LabelTextSize);
         text_setstyle(deltaTXT, 0, 0); // Hrz = 0=right 1=left 2=centered Vrt = 0=below 1=above 2=centered
         text_setcolor(deltaTXT, LabelColor);

      highTXT= text_new_self_s(date, time_s, HiDeltaLocation, "");
         text_setfontname(highTXT, FontType);
         text_setsize(highTXT, LabelTextSize);
         text_setstyle(highTXT, 0, 0); // Hrz = 0=right 1=left 2=centered Vrt = 0=below 1=above 2=centered
         text_setcolor(highTXT, LabelColor);

      lowTXT= text_new_self_s(date, time_s, LoDeltaLocation, "");
         text_setfontname(lowTXT, FontType);
         text_setsize(lowTXT, LabelTextSize);
         text_setstyle(lowTXT, 0, 0); // Hrz = 0=right 1=left 2=centered Vrt = 0=below 1=above 2=centered
         text_setcolor(lowTXT, LabelColor);
      
      if ShowHiLoVariation = true then begin
         variTXT= text_new_self_s(date, time_s, VariLocation, "");
            text_setfontname(variTXT, FontType);
            text_setsize(variTXT, LabelTextSize);
            text_setstyle(variTXT, 0, 0); // Hrz = 0=right 1=left 2=centered Vrt = 0=below 1=above 2=centered
            text_setcolor(variTXT, LabelColor);
            //text_setbgcolor(variTXT, black);
      end;
   end;
end;
   
if date <> date[1] then begin
   // Delta prices
   myDelta = close;
   myHighDelta = high;
   myLowDelta = low;
end
else begin
   // Delta prices
   myDelta = close - close[1];   
   myHighDelta = high - close[1];
   myLowDelta = low -  close[1];
end;

// Highest delta variation
if myHighDelta <> 0 then
   hiDeltaVari = ((myDelta / myHighDelta) - 1) * 100;
// Lowest delta variation
if myLowDelta <> 0 then 
   loDeltaVari = ((myDelta / myLowDelta) - 1) * 100;

// Total, highest and lowest delta text
if ShowDeltaHistory = true or (ShowDeltaHistory = false and date = LastCalcDate) then begin
   myDeltaTXT = text_new_self_s(date, time_s, DeltaLocation, "");
      text_setfontname(myDeltaTXT, FontType);
      text_setsize(myDeltaTXT, 13);
      text_setstyle(myDeltaTXT, 2, 0); // Hrz = 0=right 1=left 2=centered Vrt = 0=below 1=above 2=centered
      text_setcolor(myDeltaTXT, TextColor);

   myHighTXT= text_new_self_s(date, time_s, HiDeltaLocation, "");
      text_setfontname(myHighTXT, FontType);
      text_setsize(myHighTXT, 10);
      text_setstyle(myHighTXT, 2, 0); // Hrz = 0=right 1=left 2=centered Vrt = 0=below 1=above 2=centered
      text_setcolor(myHighTXT, TextColor);
      
   myLowTXT= text_new_self_s(date, time_s, LoDeltaLocation, "");
      text_setfontname(myLowTXT, FontType);
      text_setsize(myLowTXT, 10);
      text_setstyle(myLowTXT, 2, 0); // Hrz = 0=right 1=left 2=centered Vrt = 0=below 1=above 2=centered
      text_setcolor(myLowTXT, TextColor);

      if ShowHiLoVariation = true then begin
         deltaVariTXT= text_new_self_s(date, time_s, VariLocation, "");
            text_setfontname(deltaVariTXT, FontType);
            text_setsize(deltaVariTXT, HiLoTextSize);
            text_setstyle(deltaVariTXT, 2, 0); // Hrz = 0=right 1=left 2=centered Vrt = 0=below 1=above 2=centered
            text_setcolor(deltaVariTXT, TextColor);
      end;
end;

// set highest and lowest delta string variation
if myDelta > 0 then
   text_setstring(deltaVariTXT, {spaces(5 - strlen(numtostr(hiDeltaVari, 0))) +} numtostr(hiDeltaVari, 0) + "%")
else
   text_setstring(deltaVariTXT, {spaces(5 - strlen(numtostr(loDeltaVari, 0))) +} numtostr(absValue(loDeltaVari), 0) + "%");

// set delta string
text_setstring(myDeltaTXT, {spaces(5 - strlen(numtostr(myDelta, 0))) +} numtostr(myDelta, 0));

// set delta string background color
   if myDelta > 0 then
      text_setbgcolor(myDeltaTXT, PlusDeltaColor)
   else
      text_setbgcolor(myDeltaTXT, MinusDeltaColor); 

// set highest delta string and background color
if myHighDelta > 0 then                                               
   text_setstring(myHighTXT, spaces(8 - strlen(numtostr(myHighDelta, 0))) + numtostr(myHighDelta, 0))
else
   text_setstring(myHighTXT, spaces(8 - strlen(numtostr(myHighDelta, 0))) + "0");
   text_setbgcolor(myHighTXT, PlusDeltaColor);

// set lowest delta string and background color   
if myLowDelta < 0 then   
   text_setstring(myLowTXT, spaces(8 - strlen(numtostr(myLowDelta, 0))) + numtostr(myLowDelta, 0))
else
   text_setstring(myLowTXT, spaces(8 - strlen(numtostr(myLowDelta, 0))) + "0");
   text_setbgcolor(myLowTXT, MinusDeltaColor);

// set labels string and location
text_setlocation_s(deltaTXT, date, time_s, DeltaLocation);
text_setstring(deltaTXT, spaces(12 - strlen(numtostr(myHighDelta, 0))) + "Total Delta");

text_setlocation_s(variTXT, date, time_s, VariLocation);
text_setstring(variTXT, spaces(12 - strlen(numtostr(myHighDelta, 0))) + "Total Delta %");

text_setlocation_s(highTXT, date, time_s, HiDeltaLocation);
text_setstring(highTXT, spaces(12 - strlen(numtostr(myHighDelta, 0))) + "Highest Delta");

text_setlocation_s(lowTXT, date, time_s, LoDeltaLocation);
text_setstring(lowTXT, spaces(12 - strlen(numtostr(myHighDelta, 0))) + "Lowest Delta");

If I become half a percent smarter each year, I'll be a genius by the time I die
Started this thread Reply With Quote
Thanked by:




Last Updated on February 15, 2013


© 2024 NexusFi™, s.a., All Rights Reserved.
Av Ricardo J. Alfaro, Century Tower, Panama City, Panama, Ph: +507 833-9432 (Panama and Intl), +1 888-312-3001 (USA and Canada)
All information is for educational use only and is not investment advice. There is a substantial risk of loss in trading commodity futures, stocks, options and foreign exchange products. Past performance is not indicative of future results.
About Us - Contact Us - Site Rules, Acceptable Use, and Terms and Conditions - Privacy Policy - Downloads - Top
no new posts