Syntax
public static void DrawTradeLines(this WealthScript ws)
public static void DrawTradeLines(this WealthScript ws, bool showSignal)
public static void DrawTradeLines()
public static void DrawTradeLines(WealthScript ws, bool showSignal)
Parameter Description
showSignal | (optional) Whether to display trade signal names |
Description
Wealth-Lab's trade lines only show once you hover a trade entry or exit icon. This lets your chart always appear clutter-free. There are times when you want to display trade lines, and this code, submitted by our user Olivier (
ovelten), does just that.
Example
Look at this example:
Example using C# extension methods:
using System;
using System.Collections.Generic;
using System.Text;
using System.Drawing;
using WealthLab;
using WealthLab.Indicators;
namespace WealthLab.Strategies
{
public class TradeLinesDemo : WealthScript
{
protected override void Execute()
{
DataSeries maFast = SMA.Series(Close, 20);
DataSeries maSlow = SMA.Series(Close, 60);
PlotSeries(PricePane,maFast,Color.Red,LineStyle.Solid,2);
PlotSeries(PricePane,maSlow,Color.Green,LineStyle.Solid,2);
for(int bar = GetTradingLoopStartBar(maSlow.FirstValidValue); bar < Bars.Count; bar++)
{
if (IsLastPositionActive)
{
Position p = LastPosition;
if (CrossUnder(bar, maFast, maSlow))
SellAtMarket(bar + 1, p);
}
else
{
if (CrossOver(bar, maFast, maSlow))
BuyAtMarket(bar + 1);
}
}
this.DrawTradeLines();
}
}
}
Legacy syntax example:
using System;
using System.Collections.Generic;
using System.Text;
using System.Drawing;
using WealthLab;
using WealthLab.Indicators;
using Community.Components; // DrawTradeLines here
namespace WealthLab.Strategies
{
public class TradeLinesDemo : WealthScript
{
protected override void Execute()
{
DataSeries maFast = SMA.Series(Close, 20);
DataSeries maSlow = SMA.Series(Close, 60);
PlotSeries(PricePane,maFast,Color.Red,LineStyle.Solid,2);
PlotSeries(PricePane,maSlow,Color.Green,LineStyle.Solid,2);
for(int bar = GetTradingLoopStartBar(maSlow.FirstValidValue); bar < Bars.Count; bar++)
{
if (IsLastPositionActive)
{
Position p = LastPosition;
if (CrossUnder(bar, maFast, maSlow))
SellAtMarket(bar + 1, p);
}
else
{
if (CrossOver(bar, maFast, maSlow))
BuyAtMarket(bar + 1);
}
}
PositionHelper.DrawTradeLines( this ); // Pass a WealthScript instance as "this"
}
}
}