Using StrategyXtender with MultiCharts64 Portfolio Trader

MultiCharts Portfolio Trader can be used to automate the trading of an entire stock portfolio with StrategyXtender, and manage all trading signals to your selected trade publisher, such as Collective2. In the example below, we have configured four stocks (AA, AAPL, ABT, and ABX) in MultiCharts64 Portfolio Trader:

mc portfolio trader with signalcopier 2018 07 19 1004

 

Only one copy of _tsSignalCopier is required to trade each portfolio.

Configuration Steps:

  • In Portfolio Trader, add _tsSignalCopier to the Signals section, along with your own signals
  • Set TradeSymbol to "" (empty)
  • Set Symbol Type to "stock"
  • Set OrderQty to 0 (Quantity will be set by Portfolio Trader)

 Restrictions: All instruments to be traded must be stocks.

 

Here is the partial list of signals sent to Collective2 automatically by StrategyXtender for this portfolio:

 

NinjaTrader 7 tsSignalCopier Settings

 

 

StrategyXtender records its activities in the Windows Event Log to assist in diagnosing problems.

To access the StrategyXtender event log, open the Windows Event Viewer (located in Administrative Tools) and double click on "Application and Services Logs":

 

Next, look for StrategyXtender in the tree listing:

 

 

Click on StrategyXtender to view the event entries.

 To export the log entries for StrategyXtender when requested for support, right click on StrategyXtender, and choose "Save All Events As...".

 

  • Navigate to a directory to save the file
  • Change the "Save as type" option to "CSV (Comjma Separated)(*.csv)"
  • Enter a file name

After saving the file, attach it to an email, and send to:

This email address is being protected from spambots. You need JavaScript enabled to view it.

 

 

 

NinjaTrader 7 support is now included in the latest release of StrategyXtender (version 1.51).

Download the free trial, and install the TraderScience.SignalCopier.zip NinjaScript zip file from your Custom/ExportNinjaScript folder.

 

StrategyXtender User Guide

 

Download and Installation  
   
   
   
   
   
   
   
   
   

TradeStation 9.5 Setup and Configuration

 

Add the _tsSignalCopier strategy to the chart you will be trading with Collective2


 

Format the settings for _tsSignalCopier

 

 

_tsSignalCopier Settings (1/2)

 
ServiceId

Specifies the publisher and account to which your strategy signals will be sent:

"Collective2:12345678"  (substitute your C2 system ID)

"ZuluTrade:myaccount" (substitute you ZuluTrade account name)

ServiceEnable

true: enable _tsSignalCopier link to StrategyXtender

false: disable link to StrategyXtender

TradeSymbol the symbol to be traded using the symbology of the connected service(Collective2, ZuluTrade, etc.)
SymbolType choices are "forex", "future", "stock", "option"
 GoLong

true: enable opening Long positions

false: disable Long positions

 GoShort

 true: enable opening Short positions

false: disable opening Short positions

OrderQty

Sets the order quantity to be used for signals at Collective2 or ZuluTrade.

0: order quantity = strategy contracts * QtyFactor

>0 : specifies the exact quantity to use for opening each order

 

Note: If your strategy uses position scaling, then OrderQty should be set to 0 to ensure positions at Collective2 are updated each time the strategy position increases or decreases.

QtyFactor

If OrderQty = 0, then QtyFactor is used to calculate the signal order quantity (strategy contracts * QtyFactor). This can be helpful for

Example:

OrderQty = 0

QtyFactor = .00001

Strategy opens 100000 EUR/USD

Signal Order Quantity = 100000 * .00001 = 1

 

CopyStopLoss

true: update stop loss at Collective2 or ZuluTrade

false: don't send stop loss updates

CopyProfitTarget

true: update profit target at Collective2 or ZuluTrade

false: don't send profit target updates

ProfitTicks

0 - don't create an initial profit target order when opening a position

<0,>0 - set initial profit target order this many ticks from the entry price

Note: If your strategy manages profit target orders on its own, it is recommended to set this value to 0.

StopLossTicks

0 - don't create an initial stop loss order when opening a position

<0,>0 - set initial stop loss order this many ticks from the entry price

Note: If your strategy manages stop loss orders on its own, it is recommended to set this value to 0.

 MinOrderMoveTicks The minimum number of ticks that a stop loss or profit target order must move before sending an update signal to Collective2 or ZuluTrade
BrokerSpreadTicks Average number of ticks between your TradeStation fill prices and Collective2 (or ZuluTrade) fill prices
KeepInitialPos

true: don't close open positions at Collective2 or ZuluTrade when _tsSignalCopier first starts and the strategy position is flat

false: close open positions at Collective2 or ZuluTrade if the strategy position is flat when starting _tsSignalCopier

ServiceEnableOCA

not used

MinBuyPower

>0 : the minimum buying power at Collective2 must be at least this much before accepting a new order

0: buying power is not checked

Comments

Comments to be attached to each signal sent to Collective2 or ZuluTrade

RecentBars

Default: 3

_tsSignalCopier will check the age of an existing strategy position. If it is older than the number of bars specified, the order will be ignored. This prevents signals being sent that are too old.

TimeInForce

Sets the time in force for new orders:

"GTC" - Good Till Cancelled

"DAY" - Good till end of trading session

CancelSecs

not used

DelaySecs

not used

RefreshSecs

not used

StrategyXtender Download and Installation

  • Using your browser, navigate to http://www.traderscience.com
  • In the Store menu item, choose Trial Software and follow the steps to complete your order. 
  • You will be asked to Register a free account or login if you have already registered.
  • A valid email is required to confirm your account.
  • When you have completed the trial software order, an email will be sent to you with an activation key and software download link.
  • Click on the link to start the download link and save the StrategyXtender setup file to your computer.
  • Double click the saved file to start the installation of StrategyXtender:

During installation, you will be asked to provide your name and email address, and then select the trading platforms to be used with StrategyXtender.

The email address entered will be used to set the default login for services such as Collective2.

 

README Page

The README page contains important information related to the software installation.

 

 

License Agreement

The License Agreement specifies the Terms and Conditions of Usage for the software.

Please review and accept to continue the installation.

 

 

Registration Information

Please enter your name, company (if related), and your email address.

 

 Choose Trading Platforms (check all that apply)

 

Click 'Install' to complete the installation.

 

Check 'Start the application', and click the 'Finish' button

The StrategyXtender Dashboard will start.

If this is the first time that the product has started, you will be asked to provide a license key to continue.

Licensing is explained in the next section.

 

TradeStation 9.5 CAD/JPY

This is an example of a TradeStation trade for forex pair CAD/JPY using StrategyXtender to connect with Collective2.

  • The strategy opened a long position at 10:10:18 MDT (12:10:18 EDT at Collective2)
  • SignalCopier automatically submitted a Buy to Open (BTO) order to Collective2
  • SignalCopier then proceeded to manage a trailing stop at Collective2, automatically following the TradeStation strategy's stop loss

 

TradeStation 9.5 Chart Window for CAD/JPY
Collective2 Trade Record

Detailed Trade Log and Remarks

10:10:18 AM (CADJPY) Flat Action=BTO Order submitted
10:10:19 AM_submitting new order at 1010 BTO Qty=1.000000 CADJPY[CADJPY] C2Pos=0.00 Close=77.9980 Stop=0.0000 Limit=0.0000 StopLoss=0.0000 Profit=0.0000
10:10:25 AM new order successfully posted at Collective2:97790500, SignalID=105123193
10:10:25 AM Position changed from 0 to 1

Strategy is long, Collective2 position is now long

Signal Copier follows the strategy stop loss orders, and updates the Collective2 stop loss order automatically until the trade closed:

(note: similar transactions omitted for clarity)

10:10:57 AM (Collective2:97790500) : MOVING Stop Loss (ID=105123194) to 77.9430 from 0.0000 SigId=105123206 for (SIM703848X) CADJPY ReqQty=100000 StrategyPos=0 C2Pos=1 SignalId=105123206 Session=95549696 Status=OK Realtime
...
10:20:36 AM (Collective2:97790500) : MOVING Stop Loss (ID=105123458) to 78.0810 from 78.0550 SigId=105123502 for (SIM703848X) CADJPY ReqQty=100000 StrategyPos=0 C2Pos=1 SignalId=105123502 Session=95549248 Status=OK Realtime
10:21:28 AM (Collective2:97790500) : MOVING Stop Loss (ID=105123502) to 78.1100 from 78.0810 SigId=105123536 for (SIM703848X) CADJPY ReqQty=100000 StrategyPos=0 C2Pos=1 SignalId=105123536 Session=95549248 Status=OK Realtime
10:22:28 AM (Collective2:97790500) : MOVING Stop Loss (ID=105123536) to 78.1400 from 78.1100 SigId=105123558 for (SIM703848X) CADJPY ReqQty=100000 StrategyPos=0 C2Pos=1 SignalId=105123558 Session=95549248 Status=OK Realtime
...
10:28:23 AM (Collective2:97790500) : MOVING Stop Loss (ID=105123714) to 78.3150 from 78.2930 SigId=105123735 for (SIM703848X) CADJPY ReqQty=100000 StrategyPos=0 C2Pos=1 SignalId=105123735 Session=95549248 Status=OK Realtime
10:28:23 AM (Collective2:97790500) : MOVING Stop Loss (ID=105123714) to 78.3150 from 78.2930 SigId=105123735 for (SIM703848X) CADJPY ReqQty=100000 StrategyPos=0 C2Pos=1 SignalId=105123735 Session=95549248 Status=OK Realtime


Stop Loss is Triggered by the TradeStation strategy, and a Sell to Close (STC) Market order is sent to Collective2

10:28:31 AM (Collective2:97790500) FILL PRICE 78.3200 Symbol=CADJPY Qty=1 StrategyPos=0 Strategy Signal=ParTrLX Action=STC OrderType=Stop Limit=0.0000 Stop=78.3200 Order Side=sell

Strategy is now flat, and Collective2 position is also now flat:

10:30:42 AM _tsSignalCopier: (Collective2:97790500)'s position for CADJPY is 0 Flat, Your strategy is Flat, No Recent Signal.

Page 1 of 2