Here you can search through the pages of this Namespace, their attachments and the files uploaded to the system.
Note: the results will only display the items you have permissions to read.
[...] cntMax )
fifo.Add(lead);
else {
fifo.RemoveAt(0);
fifo.Add(lead);
}
for ( int n = 0; n < fifo.Count - 1; n++) {
double val = ( double )fifo[n];
if ( val > H ) H = val;
if ( val < L ) L = val;
}
}
public void SuperIndicators(DataSeries ds, out DataSeries domCycMdn, out DataSeries snrSer, out DataSeries psnSer, out DataSeries tvSer)
{
// Initialize arrays
ArrayHolder[] ah = new ArrayHolder[61];
for ( int
[...] 2 * Math.PI;
// Initialize arrays
ArrayHolder[] ah = new ArrayHolder[51];
for ( int n = 8; n < 51; n++ )
ah[n] = new ArrayHolder();
Color[] color = new Color[21];
DataSeries[] DB = new DataSeries[51];
double domCycle = 0d;
string name = ds.Description;
DataSeries result = Close - Close ;
result.Description = "Dominant Cycle(" + name + ")" ;
// Create and plot the decibel series - change the colors later
ChartPane [...]
[...] DataSeries[49];
// Initialize array
ArrayHolder[] ah = new ArrayHolder[49];
for ( int n = 4; n < 49; n++ )
ah[n] = new ArrayHolder();
// Create and plot the heatmap series (change bar colors later)
HideVolume (); HidePaneLines ();
ChartPane swPane = CreatePane (50, false , false );
for ( int n = 4; n < 49; n++ )
{
swamistoch[
[...] c3*Filt[bar-2];
}
DataSeries[] ds = new DataSeries[48];
ChartPane tp = CreatePane (50, false , false );
for ( int n = 0; n < 48; n++ )
{
ds[n] = new DataSeries( Bars ,n. ToString ());
for ( int bar = 0; bar < Bars .Count; bar++ )
ds[n][bar] = n;
PlotSeries (tp, ds[n], Color.Black, LineStyle.Solid, 16);
}
HideVolume ();
for ( int bar = 0; [...]
[...] in such a way that it is often a leading indicator of price change. Formula: Demand index = Sum of n-day upside volume / Sum of n-day downside volume Interpretation: Demand Index Dysart Positive/Negative Volume (DPNV) Paul Dysart's Positive/Negative Volume is similar to Granville's OBV. More in Wikipedia . Eliades New TRIN (ETRIN) The Eliades New TRIN is a smoothed version of Arms Index (TRIN). Gap Index (GAP) The Gap index is a market breadth indicator that measures the number of symbols that gapped up and down. For each bar, the [...]
Syntax
public static double Correlation( this double [] x, double [] y, int n) public double Correlation( double [] x, double [] y, int n) Parameter Description x Array of double values (first data series) y Array of double values (second data series) n Correlation lookback period Description Calculates Pearson Correlation. Uses code from ALGLIB project .
Example
The following example demonstrates how well correlated were CMO and RSI: Example using C# extension methods:
using [...]
[...] namespace WealthLab.Strategies
{
public class FractalDim : WealthScript
{
StrategyParameter _n;
StrategyParameter _per; public FractalDim()
{
_n = CreateParameter( "N" , 30, 10, 60, 2); // An even number
_per = CreateParameter( "Average Period" , 20, 10, 55, 1);
} protected override void Execute()
{
HideVolume ();
int N = _n.ValueInt;
int avPer = _per.ValueInt;
DataSeries avg = AveragePrice.Series( Bars );
DataSeries [...]
[...] Convert.ToChar(0x00D9). ToString ();
string _dnFractal = Convert.ToChar(0x00DA). ToString ();
for ( int n = 5; n < fractalupbars.Count; n++)
{
if (fractalupbars[n] [...]
[...] Convert.ToChar(0x00D9). ToString ();
string _dnFractal = Convert.ToChar(0x00DA). ToString ();
for ( int n = 5; n < fractalupbars.Count; n++)
{
if (fractalupbars[n] [...]
[...] Exponential Moving Average . Compared to other moving averages, WildersMA responds slowly to price changes. A n-period WilderMA gives similar values to a 2n period EMA . For example, a 14-period EMA has almost the same values as a 7-period WilderMA.
Interpretation WilderMA can be interpreted in the same way as other moving averages. The WilderMA is like a EMA with half number of periods. See the EMA indicator for more information. You should use a WilderMA when calculating other Wilder's indicators to ensure consistent results with other systems and users. If you are after [...]
[...] Low) Then take the ROC of this value over a period specified by rocPeriod . CV = ( HLAve) / ( HLAve n days ago) where,
CV = Chaikin's Volatility value
n = number of ROC periods
Example using System;
using System.Collections.Generic;
using System.Text;
using System.Drawing;
using WealthLab;
using WealthLab.Indicators; namespace WealthLab.Strategies
{
public class MyStrategy : WealthScript
{
// Thank you fundtimer
public Color WS4ColorToNET( double WS4Color )
{
return Color.FromArgb(
( int )Math.Floor( ( [...]
[...] to rise. This is a swing failure, it show the sellers are weakening.
Calculation Wm%R = [...]
[...] certain operations on entire DataSets which would otherwise take certain effort: Truncate last or first N bars (or N days of intraday data) Wipe the entire DataSet data (to help mass reload) Remove inactive (dead) symbols Remove selected symbols Remove bad bars (e.g. weekends) Fix OHLC out of bounds Change symbol Check data for validity Compatibility
Supported are static data providers that rely on Wealth-Lab to maintain their data in the local storage of .WL files. Only their DataSets will appear in the DataSets tree on the left and allow [...]
[...] Color.FromArgb(70, Color.Red), LineStyle.Solid, 1, true );
bool found = false ;
for ( int n = bar; n > bar - 5; n--)
{
if ( vmacdh[bar] < 0 && TurnUp (n, [...]
WMA — 1.1%
[...] WMA value. WMA excludes price data outside the length of the moving average, Period. WMA = ( P 0 * n [...]
[...] AroonDown crosses above the AroonUp, then a new downtrend may soon start.
Calculation AroonUp :
100 * ( n - ( Num. of bars since [...]
[...] double lo = Low [bar]; if (patternBars > 1)
{
int p = patternBars - 1;
for ( int n [...]
[...] WealthScript
{
protected override void Execute()
{
// Flag bars that are 5% Troughs
int n = -1; int nPrev = -1;
for ( int bar = 0; bar < Bars .Count; bar++)
{
n = ( int )TroughBar.Value( bar, Low , 5, PeakTroughMode.Percent );
[...]
[...] opening price so that the basis price is the same as the execution price
Position BuyAtMarket ( int n, string sigName = "" )
{
if (n >= Bars .Count)
return base . BuyAtMarket (n, sigName); // create market order alert
else
return BuyAtLimit (n, Open [n], sigName);
}
When I run a strategy in a Raw Profit mode, a warning message tells me that some trades were dropped because of insufficient funds. Why? It is possible [...]
[...] Bars .FindNamedSeries( "Bullish" );
DataSeries be = Bars .FindNamedSeries( "Bearish" );
DataSeries n = Bars .FindNamedSeries( "Neutral" );
DataSeries s = Bars .FindNamedSeries( "Bull-Bear Spread" ); if (bu ! = null && be ! = null && n ! = null && s ! = null )
{
ChartPane p1 = CreatePane ( int .MaxValue, true , true );
ChartPane p = CreatePane ( int .MaxValue, true , true ); PlotSeries ( p, bu, Color.Green, LineStyle.Solid, 2 );
PlotSeries ( p, be, Color.Red, LineStyle.Solid, 2 );
PlotSeries [...]
[...]
}
protected override void Execute()
{
// Highlight extreme moves down double n = 0;
for ( int bar = 0; bar < Bars .Count; bar++)
{
n = Math.Truncate( CumDown.Series( [...]
[...] LineStyle.Dashed, 1);
// Transform slowPCRI for plotting in same pane as fastPCRI
int n = Bars .Count - 1;
DataSeries slowT = TransformSeries(slowPCRI, [...]
[...] '\t';
string s = "Date" + sep + "Open" + sep + "High" + sep + "Low" + sep + "SMA[bar] \n" ;
for ( int i = sma.FirstValidValue; i < Bars .Count; i++)
{
s += ( Date [i].ToShortDateString() + sep +
Open [i] + sep + High [i] + sep + Low [i] + sep + Close [i] +
sep + Bars .FormatValue( sma[i] ) + "\n" );
}
this .CopyText( s );
}
}
}
Advanced example
Copying formatted text and chart image to clipboard and creating a new RTF document (open in Wordpad or Word):
using System;
[...]
[...] htp = HTPeriod.Series( AveragePrice.Series( Bars ) );
DataSeries DynSMA = Close - Close ;
int n = 0;
ChartPane HTPeriodPane = CreatePane ( 50, true , true );
PlotSeries ( HTPeriodPane, htp, Color.Blue, LineStyle.Solid, 1 );
for ( int bar = 40; bar < Bars .Count; bar++)
{
n = ( int )Math.Round( htp[bar] [...]
[...] the position size by the user-selected percentage if the equity curve had certain gain over the past N bars (i.e. the "equity momentum"). Otherwise it sets the position size to an initial size. As with most other PosSizers, the basic position size can be determined using either fixed dollar, percent of equity, or maximum risk percentage approach. The "equity momentum" can be either the N-trade momentum of the equity curve or the [...]
[...] LineStyle.Dashed, 1);
// Transform slowPCRI for plotting in same pane as fastPCRI
int n = Bars .Count - 1;
DataSeries slowT = TransformSeries(slowPCRI, [...]
[...] );
}
protected override void Execute()
{
// Highlight extreme moves up double n = 0;
for ( int bar = 0; bar < Bars .Count; bar++)
{
n = Math.Truncate( [...]
[...] is essentially a StochK of the RSI . See both StochK and RSI for more information. StochRSI = ( RSI(n) - RSI [...]
VMA — 0.6%
[...] are active, and stock is being sold, go short.
Calculation VMA = ( V 1 * P 1 + V 2 * P 2 + ... + V n * P n ) / ( V 1 + V 2 + ... + V n ) where, [...]
[...] value from the 'WealthLab.Indicators.StdDevCalculation' enum. Steps to calculate Standard Deviation for n periods Calculate the mean price by summating the price for n periods and divide by n. From each period's price subtract the mean, this gives you the deviation for each period. Find the [...]