Log in to see Cloud of Tags

Wealth-Lab Wiki

SaveClosedTrades

RSS

Syntax

public static void SaveClosedTrades(this WealthScript obj, string path, bool savePositionType = false)

public void SaveClosedTrades( string path, bool savePositionType = false )

Parameter Description

pathPath to the resulting CSV file

Description

A simple procedure that dumps closed position data to a CSV (comma-separated) file.

The format is:

SymbolName,EntryDate,EntryPrice,EntrySignal,ExitDate,ExitPrice,ExitSignal,The value of Indicator of choice at EntryDate

It's possible to introduce custom output formats by modifying the method body and re-compiling the assembly on your own.

Optional argument "savePositionType" allows to save the Position type (Long, Short)

Note: also see SaveTrades that makes possible to save both closed and open trades, or just open/closed.

Example

This is an example code that illustrates how to call the procedure inside your Strategy:

Example using C# extension methods:


using System;
using System.Text;
using WealthLab;
using WealthLab.Indicators;

namespace WealthLab.Strategies { public class MyStrategy : WealthScript { protected override void Execute() { for(int bar = 45; bar < Bars.Count; bar++) { if (IsLastPositionActive) { if ( CrossUnder( bar, RSI.Series( Close, 14 ), 70 ) ) SellAtMarket( bar+1, Position.AllPositions, "exit" ); } else { if ( CrossOver( bar, RSI.Series( Close, 14 ), 50 ) ) if( BuyAtMarket( bar+1, "RSI" ) != null ) // Store indicator data in the position's tag property LastPosition.Tag = Bars.FormatValue( RSI.Series( Close, 14 )[bar] ); } } // Specify destination file string path = @"C:\temp\Trades.csv"; // Call SaveClosedTrades, passing the destination file this.SaveClosedTrades( path ); } } }

Legacy syntax example:


using System;
using System.Text;
using WealthLab;
using WealthLab.Indicators;
using Community.Components; // SaveClosedTrades here
/*** Requires installation of Community.Components Extension from www.wealth-lab.com > Extensions ***/

namespace WealthLab.Strategies { public class MyStrategy : WealthScript { protected override void Execute() { // Create an instance of the Utility class and pass WealthScript as "this" Utility u = new Utility( this ); for(int bar = 45; bar < Bars.Count; bar++) { if (IsLastPositionActive) { if ( CrossUnder( bar, RSI.Series( Close, 14 ), 70 ) ) SellAtMarket( bar+1, Position.AllPositions, "exit" ); } else { if ( CrossOver( bar, RSI.Series( Close, 14 ), 50 ) ) if( BuyAtMarket( bar+1, "RSI" ) != null ) // Store indicator data in the position's tag property LastPosition.Tag = Bars.FormatValue( RSI.Series( Close, 14 )[bar] ); } } // Specify destination file string path = @"C:\temp\Trades.csv"; // Call SaveClosedTrades, passing the destination file u.SaveClosedTrades( path ); } } }

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.