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.
[...] 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 domCyc = new DataSeries(Bars, "DC(" + s);
domCycMdn = new DataSeries(Bars, "DomCyc(" + s);
snrSer = new [...]
[...] 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 [...]
[...] 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 [...]
[...] paramLookbackForStepPattern;
public IRSTS_StepPattern()
{
paramPercent = 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 ) [...]
[...] 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 [...]
[...] StrategyParameter paramEnhance; public TASC201609()
{
paramEnhance = CreateParameter("Enhance Resolution", 0, 0, 1, 1);
}
protected 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 [...]
[...] Format2, NinjaTrader7, AccountsFile }; public static void ImportHistoricalTrades(this WealthScript ws, string TradeFileName, string DateTimeFormat, TradeFileImportMode FileFormat, string AccountName="")
Format1 is "one roundtrip per line" (equivalent to SimTradeFile), Format2 is "one trade per line" (equivalent to SimTradeFile_2), AccountsFile activates import of history of real trades from Accounts tool, NinjaTrader7 is self-descriptive. Legacy syntax:
public static void SimTradeFile(this WealthScript ws,
[...] corresponds to each intraday symbol! Corrections will be applied only to intraday data that comes in on new download requests. Split Adjust Intraday
Although IQFeed adjusts Daily bars for splits, they do not adjust intraday pricing. With this option selected, the Wealth-Lab IQFeed provider will maintain intraday prices adjusted too. Since IQFeed supplies only the last two splits, the Wealth-Lab provider uses an embedded historical resource of split data in order to adjust all intraday history. For example, as of 8/18/2020, QLD split 4 times since 2012. Without the split [...]
[...] help, then the problem is caused by a documented bug with proxy authentication in Microsoft .NET 2.0. It has been patched but the patch is actually in the .NET 3.5 installation. Please install the following .NET 3.5 patch from Microsoft to fix the problem Microsoft .NET Framework 3.5 Service Pack 1 One more workaround to try: Download this Zip file containing patched version of the WealthLabDev.exe.config file. Close WLD6. Unpack this file to \Program Files\MS123\Wealth-Lab Developer 6\ , replacing existing WealthLabDev.exe.config. Start WLD6 and try again. If nothing [...]
[...] 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
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, [...]
[...] 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 [...]
[...] "View Strategy Code", there are strings like "Group1" and "Group1|". What do they mean? This is a string used to match up entries with exits. From the technical standpoint, the String.Contains( string ) method does the job here. Is it possible to add an ATR-based Trailing stop in Rule-based Strategy? Presently, the Rule-based Wizard lacks ATR Trailing stops. Nonetheless, this is pretty easy to do in code-based Strategy: just follow the QuickRef entry for HighestHighAsOfBar as an example. How to create a [...]
[...] 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, int LeftBars, double LeftReversalAmount, int RightBars, double RightReversalAmount, double EqualPriceThreshold, bool PercentMode, bool SetLeftSwings, bool SetOuterSwings, bool SetSteppedSeries) public SwingHi( DataSeries [...]
[...] "References...", then "Other Assemblies..." > "Add a reference"
//2. In "C:\Windows\Microsoft.NET\Framework64\v4.0.30319\" (or "Framework" on 32-bit systems),
//choose and okay "System.Windows.Forms.DataVisualization.dll" namespace WealthLab.Strategies
{
public class SC_2019_09_KaufmanSeasonality : WealthScript
{
private StrategyParameter paramYears;
private StrategyParameter paramPrice;
private StrategyParameter paramThresholdHigh;
private StrategyParameter paramThresholdLow; public SC_2019_09_KaufmanSeasonality()
{
paramYears = CreateParameter("Average, Years", [...]
[...] 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(" + [...]
[...] 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 =
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, [...]
[...] Camarilla()
{
Clear();
}
public void FindPivotLevels( double high, double low, double close )
{
R1 = 0; R2 = 0; R3 = 0; R4 = 0; R5 = 0;
S1 = 0; S2 = 0; S3 = 0; S4 = 0; S5 = 0;
double Range = high - low;
R5 = ( high / low ) * close;
R4 = close + Range * 1.1 / 2;
R3 = close + Range * 1.1 / [...]
[...] Stochastic strategy available in WL Developer 5.1.
Long trades:
Premier stochastic crosses below 0.90, Premier stochastic crosses below 0.20 Short trades:
Premier stochastic crosses above -0.90, Premier stochastic crosses above -0.20
Strategy Code
using System;
using System.Collections.Generic;
using System.Text;
using System.Drawing;
using WealthLab;
using WealthLab.Indicators; namespace WealthLab.Strategies
{
// Premier Stochastic
public class PremierStochastic [...]
[...] gone after restarting Wealth-Lab, but some stay and work. Certain data providers do not appear in the New DataSet Wizard. Reason:
You uninstalled one (or more) data providers that uses the Market Manager . The MM is a shared component, and if you uninstall a data provider that depends on the MM, other data providers will stop working because its library was removed - except those that do not use it (e.g. Index-Lab). Solution:
Re-install the removed data provider. If it's not acceptable, install any other data provider that uses the Market Manager instead (ASCII, BBFree [...]
[...] a Data Manager tab for your data provider Inserting custom items under Wealth-Lab's Tools menu (6.0)
In 6.0, an API was added that can be used to dynamically insert menu items in 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 [...]
Syntax
public static string Input(this WealthScript obj)
public static string Input(this WealthScript obj, string prompt)
public static string Input(this WealthScript obj, string prompt, string title, string defaultText, int HPos, int VPos) public static string Input()
public static string Input(string prompt)
public [...]
Syntax public static void SendEmail(this EmailAlertParams param, string To, string MessageSubject, string MessageText)
public EmailAlertParams(string from, string smtpServer, int port, string login, string pass, bool secure) public AlertByEmail( string from, string smtpserver, int port, string pass, bool secure [...]
[...] 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 in Raw Profit mode when a) Fixed Dollar sizing is selected and b) the selected position size is not enough to purchase even one share [...]
[...] TASC2020_09 : WealthScript
{
LineStyle ls = LineStyle.Solid;
public DataSeries RS2t(DataSeries ds, string index, int period = 10, bool plotSeries = false)
{
var rs = new DataSeries(ds, string.Format("RS2t({0},{1},{2}", ds.Description, index, period));
var extSym = GetExternalSymbol(index, true);
var RS1 = ds / extSym.Close; var Fast = EMAModern.Series(RS1, period); //Fast MA: Orange
var Med = SMA.Series(Fast, 7); //Medium MA: Green
var Slow = SMA.Series(Fast, [...]
[...] WealthScript
{
/////////////////////////////////
// config
/////////////////////////////////
bool debugOut = true;
string entry1symbol = "Selected Symbol";
string entry2symbol = "IEF";
string entry3symbol = "GLD";
int numEntries = 3;
/////////////////////////////////
StrategyParameter entry1portion;
StrategyParameter entry2portion;
StrategyParameter entry3portion;
StrategyParameter holdingPeriod;
Tuple [] symInfos;
public RebalanceStrategy()
{
entry1portion = CreateParameter(entry1symbol + " portfolio [...]
[...] _atClose;
private StrategyParameter _dayOfMonth;
private DateTime _endofMonth;
private Queue _priceQueue = new Queue(); // FIFO queue
private double AverageQueue()
{
if (_priceQueue.Count == 0) return 0;
double sum = 0;
foreach(Object obj in _priceQueue)
sum += (double)obj;
return sum / _priceQueue.Count;
}
public void SetNextMonth()
{
if (_dayOfMonth.ValueInt == 0) return;
int y = _endofMonth.Year;
int m = _endofMonth.Month;
m++;
if [...]
[...] System.IO; public class Export2ASCII : WealthScript
{
protected override void Execute()
{
const string sep = ",";
const string fmt = "0.00########";
string dtefmt = "yyyyMMdd";
if( Bars.BarInterval > 0 )
dtefmt = "yyyyMMdd HHmm";
string path = @"C:\Data\ASCII\";
if (!Directory.Exists(path))
throw new Exception("You must create the directory " + path);
PrintStatusBar("Exporting: [...]
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 trend, its strength and also allows [...]