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.
[...] find 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 n ;
if( val > H ) H = val;
if( val ">61"> ah = new ArrayHolder[61 ;
for( int n = 12; n n = new ArrayHolder();
double domCycle = 0d;
string s = ds.Description + ")";
DataSeries ">61"> DB = new DataSeries[61 ;
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 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 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 bar+1 ) && isInsideBody(bar, Open bar+1 ) && Close bar+1 > Open bar ;
bool [...]
[...] 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 [...]
[...] 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 [...]
[...] 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 = Math.Exp(-1.414 [...]
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 GetTime returns [...]
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(Bars [...]
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 pctRetrace, [...]
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, int [...]
[...] paramYears.ValueInt;
var 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();
DataSeries [...]
[...] 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 [...]
[...] 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", 7, FontStyle.Regular);
string [...]
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 reveal [...]
[...] DataSeries cosine)
{
double twoPi = 2 * Math.PI;
// Initialize arrays
ArrayHolder ">51"> ah = new ArrayHolder[51 ;
for( int n = 8; n n = new ArrayHolder();
Color ">21"> color = new Color[21 ;
DataSeries ">51"> 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 - [...]
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 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 bar, Position [...]
[...] 20, 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 [...]
[...] Community.Components; namespace WealthLab.Strategies
{
internal struct PipInterval
{
public int X1;
public int X2;
}
public class zzTOPAutoStudy : WealthScript
{
StrategyParameter _pct;
StrategyParameter _thickness;
List _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 getPipBar(DataSeries ds, PipInterval pi, double [...]
[...] 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 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(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, [...]
[...] CreatePane(25, true, true);
PlotSeries(MACDPane, macd, Color.Red, LineStyle.Histogram, 2);
for (int bar = GetTradingLoopStartBar(55 * 3); bar bar > ema bar ;
bool isWarning = (Close bar 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 );
}
else if ( macd bar Strategy 2: (courtesy Robert Sucher) using System;
using System.Collections.Generic;
using System.Text;
using [...]
[...] 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 [...]
[...] have to run the second script on the same symbol in the same scale. Script 2 will re-calculate the new value each day. Also, if you delete or change the position of the Trendline, you need to click "Go" again to remove/change the data for the Resistance Trendline in the file. Code
Script 1: Write Trendline Data to a file After you draw and name (or delete) your trendline named "Resistance", click "Go" to run this script, which writes the data to a file in your Wealth-Lab User \Data directory named MyTrendLineAlerts.txt . Repeat the process for any symbol and scale [...]
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 period, [...]
Syntax
public LBR3_10(DataSeries ds, int period1, int period2, string description)
public static LBR3_10 [...]
[...] 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". For advanced [...]
This page provides a list of new and open issues. Reference numbers are for internal tracking.
General
(146) Application needs to support 120 DPI throughout Suggestion: revert to the standard "Smaller - 100%" text size. Selecting the "Medium - 125%" option in Display (Windows Control Panel) causes some overlay and/or partial invisibility in various tools like Strategy Parameter box, compiler error message box, and many other parts of the interface. Workaround: Fix Wealth-Lab Fonts in Windows 10 Workaround: On Windows 10, right click on Wealth-Lab's shortcut, [...]