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.
[...] "Trend Vigor" is now correct. Additionally, the starting loop variable was changed from 12 to 51, and DataSeries initializations have been simplified. // WAS:
double Trend = ds bar - ds cycPeriod ;
// SHOULD BE (IS):
double Trend = ds bar - ds bar - cycPeriod ; /* Strategy Code revised 20090611 */
using System;
using System.Collections;
using System.Collections.Generic;
using System.Text;
using System.Drawing;
using WealthLab;
using WealthLab.Indicators; namespace WealthLab.Strategies
{
public class CoronaCharts : WealthScript
{
public const double twoPi = 2 * [...]
[...] 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 [...]
Syntax SeriesHelper methods:
public static DataSeries PlotPeakDivergence(this WealthScript obj, int proximity, ChartPane cp1, DataSeries ds1, double rev1, ChartPane cp2, DataSeries ds2, double rev2)
public static DataSeries PlotTroughDivergence(this WealthScript obj, int proximity, ChartPane cp1, DataSeries ds1, double rev1, ChartPane cp2, DataSeries ds2, double rev2) public DataSeries PlotPeakDivergence(int [...]
[...] (futures, commodities, rates, stocks, indices, bonds, currencies...) free COT data (in legacy and new formats) free sentiment data (AAII, NYSE, NAAIM...) free historical U.S. Treasury yield curve rates subscription-based fundamental data by Zacks (up to 200 fundamental items, dividends, earnings esimates/surprises, analyst ratings) More instruments can be supported. Please suggest your candidates for inclusion in this forum thread: Visit the Quandl provider support thread Setting up
It's a must that before using the provider you obtain a so called Auth Token [...]
Syntax
public static int FillSeriesFromFile(this DataSeries Series, WealthScript ws, string FileName)
public static int FillSeriesFromFile(this DataSeries Series, WealthScript ws, string FileName, char separator, string DateTimeFormat)
public static int FillSeriesFromFile(this DataSeries Series, WealthScript ws, string FileName, char separator, string DateTimeFormat, bool exactMatch)
public static int FillSeriesFromFile(this DataSeries[] SeriesArray, WealthScript ws, string FileName, [...]
[...] probability is achieved through some simple statistical calculations. At the foundation of his work is a new rendition of J. Welles Wilder's classic indicator True Range called the “Modified True Range”. The difference is simply the omission of the current high less the current low: the new indicator only considers the greatest of the two values: Absolute value of the current high less the previous close Absolute value of the current low less the previous close It's noticeable how the rounding performed by the Average MTR indicator makes the [...]
[...] 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 [...]
[...] WealthLab.Indicators; namespace WealthLab.Strategies
{
public class TradingTheAussie : WealthScript
{
private DataSeries SecBol( DataSeries ds, int period )
{
DataSeries sd = 2 * StdDev.Series(ds, period, StdDevCalculation.Population);
return 1 + ( ( ds - SMA.Series(ds, period) + sd ) / ( sd + sd + 0.0001 ) );
}
protected override void Execute()
{
string sampleSym = "YBA"; // out-of-sample; use "YTC" for in-sample
const double pct = 0.007;
int per = 30;
bool synch = false;
DataSeries [...]
Syntax
public static void CreatePaneList(this WealthScript obj, DataSeries[] dsArray)
public static void CreatePaneList(this WealthScript obj, List dsList) public void CreatePaneList(DataSeries[] dsArray)
public void CreatePaneList(List dsList)
Parameter Description dsArray Array of DataSeries or... dsList ...List of DataSeries Description
This handy shortcut method allows to [...]
[...] Execute()
{
double rpu = paramRPU.Value;
int period = paramPeriod.ValueInt;
TRenko renko = new TRenko(Bars, rpu);
DataSeries dsOpen = new DataSeries(Bars,"R-Open"), dsHigh = new DataSeries(Bars,"R-High"),
dsLow = new DataSeries(Bars,"R-Low"), dsClose = new DataSeries(Bars,"R-Close");
DataSeries [...]
[...] override void 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 [...]
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 the beginning of a new [...]
[...] Library. In addition, the money management rule for not sharing profit or loss between symbols inspired a new MS123.PosSizer to be created for that purpose. The Equity Curve for the Portfolio Simulation with $100,000 starting equity is shown in Figure 1. As a reminder, Wealth-Lab users should install the CBOE Provider extension from Wealth-Lab.com to easily access and update Put/Call Ratio data directly from the CBOE website.
Figure 1. The strategy was able to avoid Buy & Hold’s large drawdown in 2008 (blue) by trading from the short side (red), which compensated [...]
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 [...]
[...] 0.5, 0.05, 1, 0.05);
_fraction = CreateParameter("Fraction", 0.25, 0.1, 1, 0.05);
} public DataSeries BandPassSeries(DataSeries ds, int period, double delta)
{
DataSeries res = new DataSeries(ds, "BandPassSeries(" + ds.Description + "," + period + "," + delta + ")");
double beta = Math.Cos(2 * Math.PI / period);
double gamma = 1/ Math.Cos(4 * Math.PI * delta / period);
double alpha = gamma - Math.Sqrt(gamma * gamma - 1d);
[...]
[...] 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 [...]
Sum — 0.6%
Syntax public static Sum Series(WealthLab.DataSeries ds, int period)
public Sum(DataSeries ds, int period, string description)
public static double Value(int bar, DataSeries ds, int period)
Parameter Description
ds
The source DataSeries
period
Indicator calculation period
Description Returns the sum of values from the specified DataSeries over the desired period . This is not really an indicator per se, but a mathematical [...]
[...] 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 [...]
[...] 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 [...]
[...] Wealth-Lab 4, you'll find the code snippets below helpful: Code Example 1: GetIntradayBar
Font font = new Font("Arial", 7, FontStyle.Regular);
SetScaleCompressed(15);
DataSeries CompBar = new DataSeries(Bars, "Compressed Bar Numbers"); // initialize a DataSeries
for (int bar = 0; bar bar = bar;
DataSeries CompressedClose = Close; // Compressed series for test
RestoreScale(); // Synch the bar numbers with the base [...]
[...] available through our Wealth-Data provider - the advancing, declining and unchanged issues as well as new highs/lows for AMEX, NASDAQ and NYSE. Here are the symbols: Symbol Description $AMEX_ADVN AMEX Advancing Issues $AMEX_DECLN AMEX Declining Issues $AMEX_UNCHN AMEX Unchanged Issues $NASDAQ_ADVN NASDAQ Advancing Issues $NASDAQ_DECLN NASDAQ Declining Issues $NASDAQ_UNCHN NASDAQ Unchanged Issues $NYSE_ADVN NYSE Advancing Issues $NYSE_DECLN NYSE Declining Issues $NYSE_UNCHN NYSE Unchanged Issues $AMEX_newhi AMEX New Highs $AMEX_newlo [...]
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, [...]
[...] EqualPriceThreshold, bool PercentMode, bool SetLeftSwings, bool SetOuterSwings, bool SetSteppedSeries) public SwingHi( DataSeries ds, int LeftBars, double LeftReversalAmount, int RightBars, double RightReversalAmount, double EqualPriceThreshold, bool PercentMode, bool SetLeftSwings, bool SetOuterSwings, bool SetSteppedSeries, string description )
public SwingHi( DataSeries ds, int LeftBars, int RightBars, double EqualPriceThreshold, bool SetLeftSwings, bool SetOuterSwings, bool SetSteppedSeries, string description )
public static SwingHi( DataSeries [...]
[...] Disparity", 2.5, 0, 8, 0.5);
_trigger = CreateParameter("Trigger", 5, 1, 20, 1);
} public DataSeries DIXN(Bars bars, int dixPeriod, int atrPeriod)
{
DataSeries ema = EMA.Series(bars.Close, dixPeriod, EMACalculation.Modern);
DataSeries atr = ATRP.Series(bars, atrPeriod);
DataSeries dixN = 100 * (bars.Close/ema - 1) / atr;
dixN.Description = "DIXN(" + dixPeriod + "," + atrPeriod + ")";
return dixN;
}
public DataSeries [...]
[...] double reversalAmount, bool initializeAsTrough, PeakTroughMode ptmode)
public ZigZag(WealthScript ws, DataSeries singleSeries, double reversalAmount, bool initializeAsTrough, PeakTroughMode ptmode)
public DataSeries PeakSeries()
public DataSeries PeakBarSeries()
public DataSeries TroughSeries()
public DataSeries TroughBarSeries()
public DataSeries PeakTroughSeries()
public void Draw(Color upColor, Color downColor, LineStyle style, [...]
[...] The price movement plot is based on a user-specified percentage. As suggested by the article, for a DataSeries plotted in the arithmetic scale the minimum vertical distance required to find a PIP is the percentage of the DataSeries’ entire range, whereas a fixed vertical distance in a log plot is inherently represented equally by the same percentage. For example, on a log chart the distance between 1 and 10 is the same as that between 10 and 100 (or for any other 1000% price change). Finally note that due to the manner in which the indicator [...]
[...] Bi-Weekly and Monthly scales contain 10 and 22 trading days (respectively), it doesn't look like the new scale would be that necessary to bring much difference from either Bi-Weekly or Monthly. Out of the box, Wealth-Lab does not support custom chart scales like Bi-Weekly or Half-Quarterly. Alhtough the scales like Bi-Weekly or Quarter Quarterly could be accomplished fairly easily using the EOD Scaling Provider (a Wealth-Lab addon), we felt it would make more sense if the voting process considered intraday data instead. As a result, our aggregate voting indicator polls [...]
[...] supported including (but not limited to) WealthScript Override and PosSizers . Let's paste code below in a new Strategy window, compile and execute in Portfolio Backtest mode, then step in on any of the symbols to see the resulting portfolio equity plot:
using System;
using System.Collections.Generic;
using System.Text;
using System.Drawing;
using WealthLab;
using WealthLab.Indicators;
using Community.Components; namespace WealthLab.Strategies
{
/* Show portfolio equity */
public class OnTheFly : WealthScript
{
protected override void Execute()
{
Utility u =
[...] 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 [...]
[...] strategy in action applied to Natural Gas, continuous futures contract ( NG20_I0B , daily). Although the new oscillator implementation is pretty straightforward, the accompanying system rules have to function in different market regimes and cover such events as positive and negative price/oscillator divergences. The complexity of their implementation is hidden in additional library, " Community Components ", available for download to Wealth-Lab customers from our site ( Extensions section). Users can see the divergence lines drawn on a chart (the traditional way) and as [...]