SHARE
TWEET

SwingIndiCalculation NT8 C#

selnomeria Jul 26th, 2019 66 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.         #region Swing Indi Calculation
  2.        
  3.         public class SwingIndiClass
  4.         {
  5.             //export fix
  6.             MAX max99999999;    MIN min99999999;
  7.            
  8.             //public string ticksToString
  9.             // pp.formedSwing("Low", this, Low, Strength, displace);   
  10.             public bool formedSwing(string type, NinjaTrader.NinjaScript.Indicators.Indicator indi,  ISeries<double> h_l, int swingLength, int displace)
  11.             {
  12.                 bool res=false;
  13.                 if( type == "High" )
  14.                 {  
  15.                     var m = indi.MAX(h_l, swingLength);
  16.                     res =  h_l[displace+0+swingLength] >= m[displace+0]  && h_l[displace+0+swingLength] > m[displace+0+swingLength+1];
  17.                    
  18.                 }
  19.                 else if ( type == "Low" )
  20.                 {
  21.                     var m = indi.MIN(h_l, swingLength);
  22.                     res =  h_l[displace+0+swingLength] <= m[displace+0]  && h_l[displace+0+swingLength] < m[displace+0+swingLength+1];
  23.                 }
  24.                 return res;
  25.             }
  26.            
  27.             internal bool isSwing(string type, PriceSeries highs_or_lows,  int strength , bool equal_counts ){
  28.                 int index= strength;
  29.                 return  isSwing_static( type, highs_or_lows,  index,  strength ,  equal_counts );
  30.             }
  31.                
  32.  
  33.             internal bool isSwing(string type, PriceSeries highs_or_lows, int index, int strength , bool equal_counts ){
  34.                 return  isSwing_static( type, highs_or_lows,  index,  strength ,  equal_counts );
  35.             }
  36.                
  37.             internal static bool isSwing_static(string type, PriceSeries highs_or_lows, int index, int strength , bool equal_counts )
  38.             {
  39.                 if(index< strength) {
  40.                     throw new Exception("Index should be more than strengh");
  41.                 }
  42.                
  43.                 int dir = type=="top" ? 1 : -1;
  44.                    
  45.                 bool peak_also = false;
  46.                 //if(equal_counts) peak_also=true;
  47.                 for( int i=1; i<=strength; i++){
  48.                     if( highs_or_lows[index] * dir < highs_or_lows[index+i] * dir   ||   highs_or_lows[index] * dir < highs_or_lows[index-i] * dir  ){
  49.                         return false;
  50.                     }
  51.                     if(!equal_counts){
  52.                         if( highs_or_lows[index] * dir > highs_or_lows[index+i] * dir   ||   highs_or_lows[index] * dir > highs_or_lows[index-i] * dir  ){
  53.                             peak_also=true;
  54.                         }
  55.                     }
  56.                 }
  57.                 if(peak_also) return true;
  58.                 return false;
  59.             }
  60.         }
  61.         #endregion
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Top