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.
[...] the Highest and Lowest lead for samples in the list
private void PhaseList( ref ArrayList fifo, int cntMax, double lead, out double H, out double L)
{
H = lead; L = lead;
if ( fifo.Count < 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 [...]
Syntax Community Indicators:
public SwingHiLo( Bars bars, int LeftBars, double LeftReversalAmount, int RightBars, double RightReversalAmount, double EqualPriceThreshold, bool PercentMode, bool SetLeftSwings, bool SetOuterSwings, bool SetSteppedSeries, string description )
public SwingHiLo( Bars bars, int LeftBars, int RightBars, double EqualPriceThreshold, bool SetLeftSwings, bool SetOuterSwings, bool SetSteppedSeries, string description )
public static SwingHiLo( Bars [...]
[...] CreateParameter( "Reversal %" , 10.0, 1.0, 50.0, 1.0);
paramLookbackForStepPattern = CreateParameter( "Lookback" , 3, 1, 20, 1);
}
bool isInsideBody( int bar, double price ) {
return price <= Math.Max( Open [bar], Close [bar]) && price >= Math.Min( Open [bar], Close [bar]);
}
bool Upstep( int bar, int lookback ) {
bool result = false ;
bool way1 = ( Open [bar] > Close [bar] & Open [bar+1] < Close [bar+1]) [...]
[...] A = advancers, D = decliners, TI = total issues, UV = up volume, DV = down volume, V = volume, H = new highs, L = new lows Climax Indicator (CLX) CLX is the number of symbols with upside breakouts in their On Balance Volume minus the number of symbols having downside breakouts in OBV . It oscillates around a zero line; negative readings is the number of stocks dropping in price on large volume, and vice versa. Look for confirmations or non-confirmations of price moves by the CLX. For example, of CLX drops on a general up day in the "Basic [...]
[...] Execute()
{
bool EnhanceResolution = paramEnhance.ValueInt == 0 ? false : true ;
DataSeries HP = new DataSeries( Bars , "HP" );
DataSeries Filt = new DataSeries( Bars , "Filt" );
DataSeries DominantCycle = new DataSeries( Bars , "DominantCycle" ); double Deg2Rad = Math.PI / 180.0;
double cosInDegrees = Math.Cos((.707 * 360 / 48d) * Deg2Rad);
double sinInDegrees = Math.Sin((.707 * 360 / 48d) * Deg2Rad);
double alpha1 = (cosInDegrees + sinInDegrees - 1) / cosInDegrees;
double a1 = [...]
Syntax
public static int GetTime( this WealthScript obj, int bar)
public static int GetTime( this Bars bars, int bar) // For use when using a non-synchronized Bars object public int GetTime( int bar)
public int GetTime(Bars bars, int bar) // For use when using a non-synchronized Bars object
Parameter Description bar Bar number bars Bars object [...]
[...] Free trial users can not access this content.
Introduction
This document explains how to create new static data adapters for Wealth-Lab.Net. A static data adapter allows Wealth-Lab to load, chart, and backtest historical bar/volume data. The static data adapter itself is a .Net class that derives from the StaticDataProvider base class, and resides in a .Net library assembly (dll). To build a Static Data Provider, perform the following steps: Create a Class Library project in Visual Studio that will contain one or more Static Data Adapters. Add a reference to the [...]
Adaptive Lookback period finder: Indicator Documentation
Syntax
public AdaptiveLookback( Bars bars, int howManySwings, bool UseAll, string description)
public AdaptiveLookback( Bars bars, int howManySwings, bool UseAll, bool fastSwing, string description)
public AdaptiveLookback( Bars bars, int howManySwings, bool UseAll, bool fastSwing, bool preciseDetection, string description) public AdaptiveLookback( Bars bars, bool fastSwing, string description)
public AdaptiveLookback( [...]
Syntax
public static MTop CheckTop( this WealthScript obj, int bar, DataSeries ds, int lookback, double pctRetrace, double threshold)
public static WBottom CheckBottom( this WealthScript obj, int bar, DataSeries ds, int lookback, double pctRetrace, double threshold) public MTop CheckTop( int bar, DataSeries ds, int lookback, double [...]
[...] firstYearWithValidData = Date [0].Year + howManyYearsToAverage;
var startBar = DateTimeToBar ( new DateTime( firstYearWithValidData, 12, 31), false ); //3. Only trade if the high frequency is 75 % or greater and the low frequency is 25 % or lower.
var thresholdHigh = paramThresholdHigh.ValueInt / 100d;
var thresholdLow = paramThresholdLow.ValueInt / 100d; //Average annual price
DataSeries avgYearlyPrice = AveragePrice.Series(BarScaleConverter.ToYearly( Bars )); //Average monthly prices (take AveragePrice or simply Close)
SetScaleMonthly [...]
Syntax
public static void DrawLinRegChannel( this WealthScript obj, int bar, DataSeries ds, int period, double width, Color color, LineStyle style, int line)
public static void DrawLinRegChannel( this WealthScript obj, int bar, DataSeries series, int period, Color color, LineStyle style, int line)
public static void DrawLinRegChannel( this WealthScript obj, int bar, DataSeries series, [...]
[...] trend change. In this case, the size of a correction wave may be taken as a factor when defining a new Wave 1: penetrations may only be considered significant if the preceding wave's extreme is broken by a multiple of the wave’s magnitude. In our opinion, this has a chance of improving overall performance of the technique in choppy markets, protecting from changing direction too soon. On a closing note, the companion SVEHLZZperc indicator has been added to TASCIndicators library. Conceptually, it's a variation of the well-known trailing reverse method with a twist [...]
NewMax: Indicator Documentation
Syntax
DataSeries NewMax( DataSeries series, int period )
Parameter Description
series
A price series
period
Lookback period for indicator calculation
Description NewMax by DrKoch www.finantic.de 2004-06-22 This indicators finds new highs and new lows.
The value walks between -100 and +100.
If Price action reaches a new high relative to period Bars, the NewMax indicator is [...]
Syntax
public AroonDown(WealthLab.DataSeries source, int period, string description)
public static AroonDown Series(WealthLab.DataSeries source, int period)
public static double Value( int bar, WealthLab.DataSeries source, int period)
Parameter Description
source
Price series
Period
Indicator calculation period
Description The Aroon indicator developed by Tushar Chande, indicates if a price is trending or in range trading. It can also [...]
[...] WealthLab.Strategies
{
public class FibLucas : WealthScript
{
private StrategyParameter paramAmount;
int [] fib = new int [] {5,8,13,21,34,55,89,144,233,377,610,987,1597,2584,4181,6765};
int [] lucas = new int [] {3,4,7,11,18,29,47,76,123,199,322,521,843,1364,2207,3571};
Font font = new Font( "Wingdings" , 8, FontStyle.Bold);
Font font2 = new Font( "Verdana" [...]
[...] Community.Components; namespace WealthLab.Strategies
{
internal struct PipInterval
{
public int X1;
public int X2;
}
public class zzTOPAutoStudy : WealthScript
{
StrategyParameter _pct;
StrategyParameter _thickness;
List< int > _pipList; // list of PIP bar numbers
public zzTOPAutoStudy()
{
_pct = CreateParameter( "PIP Percent" , 20, 2, 50, 1);
_thickness = CreateParameter( "Line Width" , 2, 1, 3, 1);
}
int [...]
[...] code for the July 2004 issue of Stocks & Commodities on “VFI Divergence” and modified it for the all-new Wealth-Lab Version 6 (.NET). The Strategy’s PeakDivergence method, which automatically highlights and draws the lines on the chart, can be used to detect any indicator’s divergence from a specified price DataSeries. We’ve included a trading strategy that shorts on “Oscillator lower-top divergence” and exits after a specified number of bars, which can readily be changed using the parameter sliders in the lower-left corner. Figure 1. When using peaks and troughs, [...]
[...] true , true );
PlotSeries (MACDPane, macd, Color.Red, LineStyle.Histogram, 2);
for ( int bar = GetTradingLoopStartBar (55 * 3); bar < Bars .Count; bar++)
{
bool isBarBlue = false ;
bool isAboveMA = Close [bar] > ema[bar];
bool isWarning = ( Close [bar] < wma[bar]) && ( High [bar] > ema[bar]);
if ( macd[bar] > 0 )
{
SetSeriesBarColor ( bar, macd, Color.Blue );
SetBarColor ( bar, Color.Blue );
isBarBlue = true ;
if ( isWarning )
SetBarColor ( bar, Color.Orange [...]
[...] Wealth-Lab's Tools menu. For example, tools like Market Manager and Neuro-Lab are already using it. To use the new API, create a class derived from the base class MenuItemHook . The class has one method that needs to be overridden : public abstract void AddMenuItems(IMenuItemAdder adder); This method gives you an instance of a IMenuAdder interface (the "adder" variable). You can call adder.AddMenuItem to add a menu to WL6.x: public override void AddMenuItems(IMenuItemAdder adder)
{
adder.AddMenuItem( "Mini App" , "&Tools" , "Index-Lab ®" ,
new [...]
Syntax public static int CheckExtendedTrendline( this WealthScript obj, int bar, ChartPane pane, DataSeries ds, int bar1, int bar2, Color linecolor, int thickness, int consecBars = 1) public int CheckExtendedTrendline( int bar, ChartPane pane, DataSeries ds, int bar1, int bar2, Color linecolor, int [...]
Syntax public static Position BuyAtStopLimit( this WealthScript ws, int bar, double price)
public static Position BuyAtStopLimit( this WealthScript ws, int bar, double price, string signalName)
public static Position ShortAtStopLimit( this WealthScript ws, int bar, double price)
public static Position ShortAtStopLimit( this WealthScript ws, int bar, double price, string signalName)
public static bool SellAtStopLimit( this WealthScript ws, int [...]
[...] 5, 30, 1);
exitBars = CreateParameter( "Exit bars" , 20, 1, 30, 1);
}
private const int proxBars = 6;
private int _barLastChecked = 0; protected override void Execute()
{
int pkPctPrice = peakPctPrice.ValueInt;
int pkPctIndicator = peakPctIndicator.ValueInt;
int barsToHold = exitBars.ValueInt;
int lastDetectedBar = 0;
_barLastChecked = 0;
var s = STMACD.Series( Bars ,45,12,26);
var [...]
[...] of the cup. After a Failure, the Semicup goes back into Search mode, which most often results in a new cup being detected almost immediately. FormingCup The Semicup is determined to be "successful" by closing higher than the L2 box level. No further updates occur after a FormingCup status.
Semicups
Semicups is the container of all Semicups, each of which is associated with a peak in the PeakBar.Series. By instantiating SemiCups, all Semicup objects are created and these may then be accessed from the Cups Dictionary (see Cups member below). public SemiCups(WealthScript [...]
Syntax
public static void PriceVolumeHeatMap( this WealthScript obj, int lookback, int binCount)
public static void PriceVolumeHeatMapAtBar( this WealthScript obj, int currentBar, int lookback, int binCount) public void PriceVolumeHeatMap( int lookback, int binCount)
public void PriceVolumeHeatMapAtBar( [...]
[...] data only exists in your database (and can't be edited in WL) Supports Market Manager
Creating a new DataSet
To work with a database containing some data, you need to create a new static DataSet first. Pick the appropriate Provider from the list of available ones (e.g. System.Data.OleDb/ODBC for Excel, Access, text files and lots more, System.Data.SqlClient for SQL Server etc.), compose a connection string, and you're ready for the next step. Usually, this is a no-brainer for the database guys, but should you feel lost in connection [...]
[...] LastPosition , "Last Bar" );
}
Or in a multiple open positions strategy that translates to:
for ( int p = ActivePositions .Count - 1; p >= 0; p--)
{
Position pos = ActivePositions [p];
// exit on the last bar of the day
if ( Bars .IsLastBarOfDay(bar) )
ExitAtClose ( bar, pos, "Last Bar" );
}
However, sometimes it gets more tricky. Read on below:
Problem
I'm trying to code an intraday strategy that doesn't hold any positions overnight. In order to do this I need to keep the buy limit order from being placed on the bar before the last bar of [...]
Projection Bands
Syntax
public PBandUpper( Bars bars, int period, string description)
public static PBandUpper Series( Bars bars, int period) public PBandLower( Bars bars, int period, string description)
public static PBandLowerSeries( Bars bars, int period)
Parameter Description
bars
Bars object
period
Lookback period
Projection Oscillator
public PBFastOsc( Bars bars, int [...]
[...] DataSeries cosine)
{
double twoPi = 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 [...]
Syntax
public LBR3_10(DataSeries ds, int period1, int period2, string description)
public static LBR3_10 Series(DataSeries [...]
[...] Creating a Screener in the WealthScript Programming Guide), After that, you'll need to "Open Code in new Strategy Window" and make the following edit: // IS:
BuyAtLimit (bar + 1, High [bar], "" ); // CHANGE TO:
BuyAtStop (bar + 1, High [bar] + 0.10, "" );
I'm not able to edit the optimization parameters (Default, Start, End, Increment) in the Optimization Control tab for rule-driven strategies. It's locked for rule-based strategies by design. You will have to "Convert to code-based strategy" or "Open Strategy code in new window". [...]