Log in to see Cloud of Tags

Wealth-Lab Wiki

Search Engine

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.



Filter by Category

















This search, performed through 4.04 MB (775 documents, 11955 words), completed in 0.0 seconds and yielded 30 results.

FAQ | Strategies and WealthScript — 6.8%

[...] Rule-based strategies The condition list for Date/Time only includes conditions for dates. How do I include a "time of the day" rule? Either use the "Intraday Rule: Time is later (earlier) than HHmm" in Community.Rules library or see a tip in the WealthScript section below. After generating strategy code with "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 [...]

FAQ | Position Sizing, Extensions, Miscellaneous — 5.8%

PosSizers (position sizing) I'm using 100% Equity position sizing and strategy doesn't seem to use all capital and/or there are trades not included due to insufficient capital. Also, when using 10% Equity on a portfolio of 10 stocks, same rules apply. The reason is that when Wealth-Lab determines the number of shares for an order, it does so with regard to the so called "basis price". For the whys and wherefores of it and specifically how this can cause skipped trades with trade sizes near 100% equity, refer to the User Guide: Strategy Window > Backtesting Strategies [...]

Copy to Clipboard — 4.7%

[...] "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" ); } [...]

TASC 2013-07 | The Step Candle Pattern (Vervoort) — 3.2%

[...] XEvent(bar, -1) ); } } for ( int bar = 0; bar < bars.Count; bar++) { for ( int i = 0; i < lstX.Count; i++ ) { if ( i == 0 ) continue ; XEvent e = lstX[i]; if ( e.Bar == bar ) { int prevEventBar = lstX[i - 1].Bar; int step = bar-prevEventBar; if ( e.Type == 1 ) { double Trough = Lowest.Value( bar, bars. Low , step ); e.Price = Trough; e.Bar [...]

TASC 2011-08 | Automated Techniques For Intraday Traders (Coles) — 2.9%

[...] private void Highlighter( int [] array, double barsSince, int bar, Color color) { for ( int i = 0; i < array.GetLength(0); i++ ) { if ( barsSince == array[i] ) { AnnotateBar (upArrow, bar, false , color, Color.Transparent, font); AnnotateBar (array[i]. ToString (), bar, false , color, Color.Transparent, font2); SetBarColor ( bar, color ); break ; } } } protected override void Execute() { // Variable [...]

TASC 2013-06 | The 1-2-3 Wave Count (Vervoort) — 2.6%

[...] IRSTS123WaveRule() { if ( ZigZags.Count > 0 ) { ZigZags[0].wave = Wave.W1; for ( int i = 1; i < ZigZags.Count; i++ ) { ZigZag prev = ZigZags[i - 1]; ZigZag w = ZigZags[i]; switch (prev.wave) { case Wave.W1: if ( i > 0 ) { if ( prev.isMoveUp ) { // W2 breaks down through W1's base = new W1 down w.wave = ( w.outPrice < prev.inPrice ) ? Wave.W1 [...]

TASC 2019-09 | A Simple Way To Trade Seasonality (Kaufman) — 2.4%

[...] 1 - howManyYearsToAverage; //Average price by year var yearlyAverages = lstMonths.GroupBy(i => i.Year) .Where(i => i.Key < yearTo & i.Key >= yearFrom) .Select(g => new { Year = g.Key, Average = g.Average(a => a.AvgPrice) }); var lstFreqUp = new Dictionary< int , double >(); var lstBreakdown = new Dictionary< int , Tuple< double , double >>(); //Calculate Monthly Adjusted Returns, [...]

FAQ | General — 2.1%

[...] Capabilities Does Wealth-Lab 6 support futures? Yes. Does Wealth-Lab 6 has specific Forex support i.e. bid/ask spread? To the extent that FX markets trade like futures, it's possible to perform FOREX simulations in Wealth-Lab, however, no special support exists for FOREX. Wealth-Lab 6 can backtest currency pairs as if they were futures. Please see this discussion regarding how to model the bid ask spread, and this KB article on configuring the program for Forex/futures: Working with Forex data . Does Wealth-Lab 6 have options support? Previously Wealth-Lab had [...]

TASC 2012-12 | Using VIX To Forecast The S&P 500 (Gardner) — 2.1%

[...] bar++) { if ( IsLastPositionActive ) { if ( sa[bar] >= 11 ) { for ( int i = bar; i > bar-11; i-- ) SetBackgroundColor ( i, [...]

InSync Index — 1.8%

[...] void Execute() { int t1 = param1.ValueInt; int t2 = param2.ValueInt; InSyncIndex i = InSyncIndex.Series( Bars ); ChartPane iPane = CreatePane ( 30, true , false ); PlotSeries ( iPane, i, Color.Blue, LineStyle.Solid, 1); DrawHorzLine ( iPane, t1, Color.Black, LineStyle.Dashed, 1 ); DrawHorzLine ( iPane, t2, Color.Black, LineStyle.Dashed, 1 ); HideVolume (); for ( int bar = i.FirstValidValue [...]

TASC 2018-10 | Probability - Probably A Good Thing To Know (Ehlers) — 1.8%

[...] [61]; for ( int bar = GetTradingLoopStartBar (10 * 3); bar < Bars .Count; bar++) { for ( int i = 1; i <= 60; i++) //Bin the indicator [...]

SMMA (Smoothed Moving Average Series) — 1.6%

[...] The second and succeeding moving averages are calculated according to this formula: PREVSUM = SMMA(i-1) *N SMMA(i) = (PREVSUM-SMMA(i-1)+CLOSE(i))/N Where: SUM1 — is the total sum of closing prices for N periods; PREVSUM — is the [...]

Database static and streaming provider — 1.6%

[...] connection string should include a database name. Your connection string must not include curly braces i.e. { } A rule of thumb is to first type in a connection string and only then proceed with selecting a provider. When you're finished with this step, the provider will populate the Table name dropdown box with the list of tables found. Select the one you need to make the provider fill the other boxes with available fields. Upon defining a field to serve as Security Name , the "Symbols" area is populated with found tickers. Note : when database contains thousands of [...]

Programming | Supporting Paper Trading in Custom Streaming Data Providers — 1.6%

[...] startDate, endDate); } catch { } if (bars ! = null ) { for ( int i = bars.Count - 1; i [...]

FAQ | Data and Data Providers — 1.6%

[...] User Guide > Data on where the data are stored ; enable hidden file visibility in Windows). How do I get a complete list of NYSE, Nasdaq, and AMEX symbols/tickers? They are built into Wealth-Lab's Yahoo! provider > "Create New DataSet" > Classification Groups. Whenever you need detailed information on tickers, contract specifications, etc., start by searching the official site of market where the product trades. Is it possible to edit stored data in Wealth-Lab 6? Yes. Double-click on a bar to edit it. Note that there also is a programmatic way that involves calling [...]

Wealth-Lab 6 Open Issues — 1.3%

[...] missing Parameter Sliders when opened from the Home Page. Workaround: open the Strategy conventionally i.e. via "Open Strategy". (3844) Preferred Values cannot be saved for Strategy Libraries Strategy Monitor (84581) SM may not find some symbols e.g. from other provider's DataSets or Index-Lab Workaround: Use GetExternalSymbol overload that accepts dataSetName : Bars idx = GetExternalSymbol ( "DataSet Name" , "Index symbol" , true ); (98369) Strategy Monitor: Run Now Hangs Up with Intraday Data : an already Activated strategy hangs with "Run Once beginning..." [...]

WealthScript Techniques | Access Data from the Internet on-the-fly — 1.3%

[...] StringSplitOptions.RemoveEmptyEntries); /* Parse the Put/Call Ratio data file starting from line 2 */ for ( int i = 3; i < lines.Length; i++ ) { try { string [] t = lines[i].Split(','); DateTime d = DateTime.ParseExact( t[0], new string [] { "M/d/yyyy" }, format, DateTimeStyles.None ); [...]

TASC 2014-05 | A Trading Method For The Long Haul (Pendergast) — 1.3%

[...] bool avgVol = smaAvgVol[bar] >= 1000000; bool surprise = false ; for ( int i = fList.Count-1; i >= 0; [...]

ATR — 1.3%

[...] CreatePane ( 50, true , true ); DrawLabel ( ATRPane, "ATR from 2 to 18" , Color.Black ); for ( int i = 1; i [...]

TASC 2014-09 | Finding The Golden Triangle (Hudgin) — 1.3%

[...] Bars .Count; bar++) { // "White space": percentage of bars above 50-day SMA for ( int i [...]

Intraday / Multi-Time Frame | Keep from holding positions overnight — 1.3%

[...] 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 the day, since [...]

TASC 2008-03 | Measuring Cycle Periods (Ehlers) — 1.1%

[...] MyStrategy : WealthScript { public class ArrayHolder { // current, old, older internal double I, I2, I3; internal double Q, Q2, Q3; internal double R, R2, R3; internal double Im, Im2, Im3; internal double A; internal double dB; } public DataSeries CycleFilterDC(DataSeries ds, out DataSeries sine, out 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[] [...]

Errors | Data — 1.1%

[...] there's one special case you should know. It happens when your ASCII (CSV) file contains empty fields ( i.e. ",,,," or empty line(s) ). The data provider treats them as null and will not continue parsing. As indicated in the User Guide, data fields can only contain numerical data, and they can't be null. In this case, the ASCII provider stops processing, and this is by design. The adapter's behavior can not be changed to create a non-existent value like "0" instead of what is there in the data (i.e. null ), because we feel that it's best to [...]

Rainbow Oscillator — 1.1%

[...] List<DataSeries>(); lst.Add( SMA.Series(Price, Length) ); // Rainbow Charts for ( int i = 1; i < Level; i++ ) { DataSeries ds [...]

TASC 2008-11 | Corona Charts (Ehlers) — 1.1%

[...] fourPi = 4 * Math.PI; public class ArrayHolder { // current, old, older internal double I, I2, I3; internal double Q, Q2, Q3; internal double R, R2, R3; internal double Im, Im2, Im3; internal double A; internal double dB, dB2; } // Keep cntMax fifo samples and 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 < cntMax ) fifo.Add(lead); else { fifo.RemoveAt(0); fifo.Add(lead); } [...]

TASC 2017-05 | Detecting Swings (D'Errico) — 1.1%

[...] that the usage of RSI or BB crossovers can be as multifaceted as to define pivot points. For example, I heard about a research some traders made that went as far as building synthetic price bars (like Renko) based on the RSI crossovers. Like a new Renko brick is drawn each time the close price exceeds a fixed amount, a new bar is created when an event like RSI crossover/crossunder takes place. While it may sound intriguing at first, a look into the code puts everything back in its place. Let's face it: in its present state, that's just tried and true crossovers and crossunders [...]

General | The Dangers of Looking Ahead (Peeking) in Trading System Development — 1.1%

[...] But please don't be too hard on yourselves if this happens, because it's happened to the best of us. I've gone through this more times than I care to mention. Sometimes it was the fault of the software I was using, but most of the time it was my mistake. The general pattern is that you come across a set of rules that perform beautifully in most markets. You're absolutely amazed at the nice smooth slope of your equity curve, and the low drawdown. When you start to get feelings like this, be extra careful and scrutinize [...]

Fundamental Data Checker — 1.1%

[...] FundamentalsCheckerDemo : WealthScript { protected override void Execute() { ClearDebug (); // Let's say I want to check the "assets" data before I use it in a script if ( this .FundamentalSequenceCheck( "assets" ) ! = -1) { // stop script processing now return ; } PrintDebug ( "assets probably okay to use in script..." ); } } } Legacy syntax example: using System; using System.Collections.Generic; using System.Text; using System.Drawing; using WealthLab; using Community.Components; /*** Requires [...]

TASC 2017-11 | Swing Trading Four-Day Breakouts (Calhoun) — 1.1%

Traders' Tip text I was busy with some programming project when this Tip article came in. As the trading idea by author Kent Calhoun looked so simple, it was a pleasure to take a break from coding and show our users how to get it done by example – this time without the need to write any code. Wealth-Lab's "Strategy From Rules" allows to produce a complete trading Strategy from building blocks known as Rules. To start, either choose "New Strategy from Rules" or strike Ctrl-Shift-R. Firstly, drag the "Buy at Stop Channel High" entry and set " Channel period " to 4. [...]

Exhaustive To Local Maxima Optimizer — 1.1%

[...] you saved. How to Use It For me, setting optimization values has always been somewhat arbitrary. If I set the Stop value too low, one of the optimal parameters may be at the Stop value, and I have to set a new Stop value and run a new optimization. On the other end of the spectrum, if I set the Stop value too high, the optimization may run for a long time only to find that the optimal parameters were at or near the Start value. This optimizer makes the Stop values relatively unimportant, since it will stop the [...]

Important Disclaimer: The information provided by Wealth-Lab is strictly for informational purposes and is not to be construed as advice or solicitation to buy or sell any security.  The owner of Wealth-Lab.com assumes no liability resulting from the use of the material contained herein for investment purposes. By using this web site, you agree to the terms of this disclaimer and our Terms of Use.


ScrewTurn Wiki. Some of the icons created by FamFamFam.