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.
[...] CoronaCharts : WealthScript
{
public const double twoPi = 2 * Math.PI;
public const double 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( [...]
Installation issues Problem: Installation of WLD 6.9.23 fails at installing .NET 4.6.2+ stage with error message" "Installation Did Not Succeed.
.NET Framework 4.6.2 has not been installed because:
A certificate chain processed but terminated in a root certificate which is not trusted by the trust provider." Solution: You're running outdated, unsupported and insecure Windows 7. Upgrade it to a modern operating system i.e. Windows 10, or at the very least to Windows 7 Service Pack 1. It's required for .NET 4.6.2+ [...]
[...] StrategyParameter paramGap;
public TASC201708()
{
paramLookback1 = CreateParameter("AP bars",1,0,4,1);
paramLookback2 = CreateParameter("MP1 bars",3,0,4,1);
paramLookback3 = CreateParameter("MBP1 bars",0,0,4,1);
paramLookback21 = CreateParameter("MP2 bars",2,0,4,1);
paramLookback31 = CreateParameter("MBP2 bars",1,0,4,1);
paramLookback32 = CreateParameter("MBP3 bars",2,0,4,1);
paramExitAfter = CreateParameter("Exit [...]
[...] Workaround ? : if your screen resolution is high, try to change it to a smaller resolution WL 6.9.24.4 doesn't save the Streaming data provider choice Workaround: Change it manually after launch (190249) Missing "Save" and "Save As" menu items "Save" and "Save As" choices are missing from the File menu. Workaround: enable "Function toolbar" from the View menu. Saved workspace restored incorrectly for users with multiple monitors (applies to Wealth-Lab 6.9) Workaround: Save affected workspace to a new name, delete the old one. (8125) Exception: Requested Clipboard [...]
[...] shown below: Short;QQQQ;25-06-2009;36;25-06-2009;35.5;2000
Long;AAPL;12-05-2009;124;26-05-2009;130.4
TradeFileImportMode.SimTradeFile2
TradeFileImportMode.SimTradeFile2 (a.k.a. Robert Sucher version ) supports a different format of trade history data, "one trade per line": AAPL;12-05-2009;Buy;124
AAPL;26-05-2009;Sell;130.4
QQQQ;25-06-2009;Short;36
QQQQ;25-06-2009;Cover;35.5 As you see, each trade component - long, short, sell or cover - must be placed on its own line and is treated individually. Optionally, trade size is supported [...]
[...] GetExternalSymbol("Light",true).Close;
var bbCAD = 1 + ((Close - SMA.Series(Close,days) + 2*StdDev.Series(Close,days,s)) / (4*StdDev.Series(Close,days,s)+0.0001));
var bbOil = 1 + ((oil - SMA.Series(oil,days) + 2*StdDev.Series(oil,days,s)) / (4*StdDev.Series(oil,days,s)+0.0001));
var divergence =(bbOil-bbCAD)/bbCAD*100; divergence.Description = "Divergence";
var hhvDiv = Highest.Series(divergence,3);
var llvDiv = Lowest.Series(divergence,3);
var llv = Lowest.Series(Low,15);
var hhv = Highest.Series(High,15);
var roc = ROC.Series(Close,2);
var [...]
[...] BearishScan = trendBullish && volume && crow && price10;
double bar-1" title=" rectangle = { bar-4, Highest.Series(High, 3) ">bar-1"> rectangle = { bar-4, Highest.Series(High, 3) [...]
[...] is denied.
Can not compile my library after installing Wealth-Lab 6.9. What's wrong? Select .NET 4.5 or 4.6 Framework as target platform. Strategies
I have a library of compiled Strategies. When I open some of them, all are the same or not the one I picked. If opening differently named Strategies result in opening the same Strategy, and/or not the one you want, this is a common symptom of one (or several) of your Strategies not having a unique GUID . You should correct the code so that the GUID of each Strategy in your class library [...]
[...] ShortDivergence()
{
_arsiPeriod = CreateParameter("ARSI_Period", 10, 2, 200, 20);
_rsiPeriod = CreateParameter("RSI Period", 4, 2, 30, 1);
_emaPeriod = CreateParameter("EMA Period", 4, 2, 10, 1);
} public DataSeries SVEInvFisherRSI(int rsiPeriod, int emaPeriod)
{
DataSeries rbw = WMA.Series(Close, 2);
DataSeries sve = 5 * rbw;
for (int w = 4; w >= -4 ; w--)
{
rbw = WMA.Series(rbw, 2);
if (w > 1 ) sve += (w * rbw);
else sve += rbw;
}
sve /= 20d;
sve.Description [...]
[...] 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 resource, intraday data would be adjusted only for the splits in 2020 and 2017, but not for the splits in 2015 and 2012. Clear IQFeed Data
If you already have downloaded history and have made changes to either of the previous options, you should refresh all IQFeed data by clicking this button and then performing an IQFeed Provider update. Always Include the current partial bar
This option simply will display all the history, even [...]
[...] like it should. Symptoms:
Trades are taken multiple times: the same stock can be purchased 3 or 4 times. There are 1000's of trades reported missing from the simulation etc. The By Symbol tab bears no resemblance to the Performance tab. Solution:
Read the Strategy description. Follow the usage notes precisely. Select only 1 symbol in the DataSet. This strategy should not be run in Multi-Symbol Backtest mode. Otherwise you'll be running the script once for each symbol, and it's not designed for that. Rotational systems are incompatible with such visualizers as [...]
[...] Microsoft's site: Standard DateTime Format Strings
Custom DateTime Format Strings Exporting as WLD 3/4 native binaries (*.WL)
WL3/4 support has ended. Protected content.
Illustrating the usage of BinaryWriter class mostly, this simple code exports data contained in ASCII (or any other) DataSet to WLP/WLD 4.x native binary format. By default, files will be placed into C:\Data\WL4\ ; configure target directory as necessary: string path = @"C:\Data\WL4\"; Run it in Single Symbol Mode or on the entire DataSet [...]
ATR — 1.4%
[...] AtrRatchet = new DataSeries(Bars,"Ratchet");
PlotSeries(PricePane,AtrRatchet,Color.Red,LineStyle.Dots,4);
for(int bar = GetTradingLoopStartBar(Math.Max(low,atr)); bar bar = Close bar ;
SetSeriesBarColor( bar, AtrRatchet, Color.Transparent );
if (IsLastPositionActive)
{
int daysintrade = bar - LastPosition.EntryBar;
double ratchet = ( ATR.Series(Bars,atr) bar * unit ) * daysintrade;
double sellprice = Lowest.Series(Low,low) bar + ratchet;
AtrRatchet bar = sellprice;
SetSeriesBarColor( bar, AtrRatchet, Color.Red ); if( [...]
ADX — 1.4%
[...] likely a strong trending move will occur. If after staying low for a lengthy time, the ADX rises by 4 or 5 units, (for example, from 15 to 20), it gives a strong signal to trade the current trend. If the ADX is rising then the market is showing a strengthening trend. The value of the ADX is proportional to the slope of the trend. The slope of the ADX line is proportional to the acceleration of the price movement (changing trend slope). If the trend is a constant slope then the ADX value tends to flatten out. Calculation ADX is equivalent to the Wilder's moving average [...]
[...] there is an odd number of values, the median is simply the middle value. For example, the median of 2, 4, and 7 is 4. When there is an even number of values, the median is the average of [...]
[...] GetExternalSymbol("EURJPY", synch).Close; //sec6 // initialize the initial values to account that yba data starts at 4/23/2008
int stBar = DateTimeToBar(new DateTime(2003, 4, 23), false);
for(int bar = 0; bar bar = yba stBar ;
// Based calculations from raw data and then synchronize
DataSeries ybaSMA = Synchronize( SMA.Series(yba, 40) );
DataSeries xauROC = Synchronize( ROC.Series(xau, 1) );
DataSeries crbROC = Synchronize( ROC.Series(crb, 1) );
DataSeries ejROC = Synchronize( ROC.Series(ej, 2) );
ej = Synchronize( ej );
yba [...]
[...] TASC_2018_08()
{
paramMode = CreateParameter("A/D/ ATR/ ADX", 0, 0, 2, 1);
paramLength = CreateParameter("Length", 4, 4, 10, 2);
paramADX = CreateParameter("ADX Trigger", 30, 5, 40, 5);
paramConsTimeout [...]
[...] increased profitability, particularly for the trade labeled 3.
Taking it a step further, applying a 4% risk-stop position sizing strategy more than doubled profit at 16.1% APR ($50 per contract commissions) at the expense of doubling the max drawdown to 15.0%, which occurred at the front end of the backtest due to 6 of 8 losing trades (Figure 2). Risk-stop sizing specifies the percentage of portfolio equity that you’re willing to risk on a single trade. Allowing for greater risk, i.e., more contracts, magnifies the effect even more.
Figure 2. Combining the Chandelier [...]
[...] on Windows Pro . 3. If you've changed the time zone in Windows recently, try reverting the change. 4. New: Microsoft input keyboard is known to cause this error with multiple languages added. If the default language is set to English, it changes to another user-specified language on WL startup. Solution: remove all other languages.
Problem: Lately, Strategy Monitor's performance has slowed down considerably. Strategy execution time gradually increases. What took a few seconds to run now consumes a minute or more. Resetting the configuration file does not help. [...]
[...] ShortDivergence()
{
_arsiPeriod = CreateParameter("ARSI_Period", 10, 2, 200, 20);
_rsiPeriod = CreateParameter("RSI Period", 4, 2, 30, 1);
_emaPeriod = CreateParameter("EMA Period", 4, 2, 10, 1);
}
protected override void Execute()
{
HideVolume();
const double d = 1.01;
int perRSI = _rsiPeriod.ValueInt;
int perEMA = _emaPeriod.ValueInt;
/* Create and plot indicators */
DataSeries arsi = ARSI.Series(Close, _arsiPeriod.ValueInt);
ChartPane rsiPane = CreatePane(40, true, true);
PlotSeries(rsiPane, arsi, Color.Red, LineStyle.Solid, [...]
RSI — 1.1%
[...] double WS4Color )
{
return Color.FromArgb(
(int)Math.Floor( ( WS4Color % 1000 ) / 100 * 28.4 ),
(int)Math.Floor( ( WS4Color % 100 ) / 10 * 28.4 ), [...]
[...] CreateParameter("VFI", 1, 1, 1, 1);
_w2 = CreateParameter("MA", 1, 1, 1, 1);
_w3 = CreateParameter("MA > MA-4", 1, 1, 1, 1);
_w4 = CreateParameter("Stiffness", 1, 1, 1, 1);
_w5 = CreateParameter("Market", 2, 2, 2, 1);
_exit = CreateParameter("Time exit", 20, 20, 180, 10);
}
protected override void Execute()
{
//parameters
int w1 = _w1.ValueInt, w2 = _w2.ValueInt, w3 = _w3.ValueInt, w4 = _w4.ValueInt, w5 = _w5.ValueInt, TimedExit = _exit.ValueInt;
var vfi = VFI.Series(Bars, 130, 3, 0.2, 2.5);
var spy = GetExternalSymbol("SPY",true);
var emaSpy [...]
[...] 30-period QT with K = 0.8 crosses 0 from below Sell the position when the second 30-period QT with K = 0.4 crosses 0 from above Figure 1. A Wealth-Lab 6 chart illustrating the application of the system's rules on a Daily chart of SPY. The upper pane plots two QTs with K = 0.8 and 0.4. The bottom pane shows a constrained RSI processed with Quotient Transform. After applying the system to Dow 30 portfolio (10 years of Daily data, 10% equity per position, trading costs applied), we found that it had a drawdown too stressing and a market [...]
[...] detection code submitted for the magazine has been added to the TASCIndicators library, version 2011.4.0.0 using System;
using System.Collections.Generic;
using System.Text;
using System.Drawing;
using WealthLab;
using WealthLab.Indicators;
using TASCIndicators; // requires version 2011.4.0.0 min namespace WealthLab.Strategies
{
public class SemiCupDetector : WealthScript
{
StrategyParameter _minCupBars;
StrategyParameter _reversalPct; public SemiCupDetector()
{
_minCupBars = CreateParameter("Min Cup Bars", 20, 20, 100, [...]
[...] is:
10 / 0.0001 = 100000 ($100,000)
This means that if your currency moves form 3.000 to 4.000, you will make a profit of $100,000.00 on a single contract. Decimals Forex quotes move in very small increments, defined as a Pip (or Tick). To be able to see all the moves the prices need to be displayed with a large number of decimals. The required number is directly determined by the Pip size. If the pip is 0.0001, you should enter 4 for "Decimals" in the Symbol Info Manager. If Pip is 0.001 enter 3 for "Decimals" and so on. Leverage [...]
[...]
// Initialize array
ArrayHolder ">49"> ah = new ArrayHolder[49 ;
for( int n = 4; n n = new ArrayHolder();
// Create and plot the heatmap series (change bar colors later)
HideVolume(); HidePaneLines();
ChartPane swPane = CreatePane(50, false, false );
for( int n = 4; n n = swStoch + n;
swamistoch n .Description = "SwamiSto." + n.ToString();
PlotSeries(swPane, swamistoch n , Color.LightGray, LineStyle.Solid, plotThickness);
}
[...]
[...] Documentation is now an external resource (powered by this Wiki ).
Is Wealth-Lab Developer/Pro 6 able to use 4(6,8...) Gb of RAM when running on a 64-bit OS? Yes. Wealth-Lab Developer/Pro 6 have 64-bit editions. In 64-bit operating systems they can work as a native 64-bit process, so if you have more than 4 Gb RAM, 64-bit WL6 can use the entire installed memory. (32-bit WL6 can theoretically use up [...]
[...] enters long trades when the cycle turns up within the threshold zone and exits on a closing profit of 4% or after 5 bars. The time-based exit was chosen purposely to be a ¼ cycle to exit before the next turn down. The Strategy produced a slightly-positive win rate and raw profit factor for the last 6 years of trading on the Dow 30 and Nasdaq 100 index components.
Figure 1. Representative trades from the sample Strategy. WealthScript Code (C#)
using System;
using System.Collections.Generic;
using System.Text;
using System.Drawing;
using WealthLab;
using WealthLab.Indicators; [...]
[...] (2 times (stop - open position)) (to get a Risk reward of 2) 50% of the position = selling level - (4 times (stop - open position)) (to get a Risk reward of 4) The following call accomplishes this: Position s = SplitPosition( LastPosition, 49.99 ); SplitPosition returns a new Position object that contains the remaining shares. This new Position object is also added to the end of the Positions list.
Conclusion
This is a simple example of using SplitPosition. Managing multiple positions, especially when splitting them, can be tricky. [...]
[...] paramStrategy2Run;
public TASC201610Katsanos()
{
paramStrategy2Run = CreateParameter("ADX/R2/VHF/ER/All",4,0,4,1);
}
protected override void Execute()
{
var whichStrategyToRun = paramStrategy2Run.ValueInt;
HideVolume();
switch (whichStrategyToRun)
{
case 0: SystemADX.Run(this); break;
case 1: SystemR2.Run(this); break;
case 2: SystemVHF.Run(this); break;
case [...]