Stop types
These are the stop types available in DAS Trader Pro with Guardian Trading- Market
- Limit
- Trailing
- Range
- RangeMkt
- LimitP
Regular hours vs. extended hours stops
The first 5 stop types can be used for regular market hours between 9:30 AM and 4:00 PM. The LimitP stop type is intended for extended hours trading, although it works during regular hours too. It is a limit order type by design - thus requires a limit price setting and comes with all its disadvantages. It is quite recent feature and not every broker supports it as of today and many people do not know about this extremely useful possibility to protect their trades during extended hours trading. You can use the LimitP stop type- for stop loss
- for stop order entries
- for range OCO orders
- for automatic trailing stops
3 ways to update the existing stop loss orders
From the montage
By dragging the order on the chart
By a script with a hotkey
Scripts to update the stop loss orders or place new stop loss orders for existing positions
Typically, after a partial exit or after change of situation, we might need to change the existing stop loss or place a new stop loss order to update its price or its share size. Always test your hotkeys in simulator account first. After that, with a small amount/risk with live account. Although DAS Trader Pro provides a replay mode, the following hotkeys are not meant for replay mode. These scripts require the DAS Trader Pro is set up as described in this blog postRegular hours
Set stop to break-even point
To set the stop loss order to your average price (break-even point) press the hotkey:
The hotkey is universal for both long and short sides.$MONTAGE=getwindowobj("MONTAGE1");$MONTAGE.CXL ALLSYMB; $MONTAGE.Route="Stop"; $MONTAGE.Price=$MONTAGE.AvgCost; $MONTAGE.StopType="MARKET"; $MONTAGE.STOPPRICE=Round($MONTAGE.AvgCost,2); $MONTAGE.Share=$MONTAGE.Pos; $MONTAGE.TIF="DAY+"; $MONTAGE.SEND=Reverse;
Set stop to desired price
This is a two-step process. 1st, double-click on the price where you want your stop to be set in the chart window. Then press the following hotkey:
$MONTAGE=getwindowobj("MONTAGE1");
$MONTAGE.CXL ALLSYMB;
$MONTAGE.Route="Stop";
$MONTAGE.StopType="MARKET";
$MONTAGE.STOPPRICE=Round($MONTAGE.Price,2);
$MONTAGE.Share=$MONTAGE.Pos;
$MONTAGE.TIF="DAY+";
$MONTAGE.Send=Reverse;
The hotkey is universal for both long and short sides.
Set a position flip order
This is the same as above, just the position is doubled, effectively flipping the position. After the order is triggered, you will have to set the new stop with one of the shown methods.
$MONTAGE=getwindowobj("MONTAGE1");
$MONTAGE.CXL ALLSYMB;
$MONTAGE.Route="Stop";
$MONTAGE.StopType="MARKET";
$MONTAGE.STOPPRICE=Round($MONTAGE.Price,2);
$MONTAGE.Share=$MONTAGE.Pos*2;
$MONTAGE.TIF="DAY+";
$MONTAGE.Send=Reverse;
Pre-market and post-market scripts (extended hours)
The LimitP stop being a limit order is shown a bit differently on the charts, and also it is shown as SLP type in the orders windowSet stop to break-even point
To set the stop loss order to your average price (break-even point) press the hotkey:
LONG
$MONTAGE=getwindowobj("MONTAGE1");
$MONTAGE.CXL ALLSYMB;
$MONTAGE.Route="Stop";
$MONTAGE.StopType="LimitP";
$MONTAGE.STOPPRICE=Round($MONTAGE.AVGCOST,2);
$MONTAGE.PRICE=ROUND($MONTAGE.STOPPRICE*0.995,2);
$MONTAGE.Share=$MONTAGE.Pos;
$MONTAGE.TIF="DAY+";
$MONTAGE.Sell=Send;
SHORT
$MONTAGE=getwindowobj("MONTAGE1");
$MONTAGE.CXL ALLSYMB;
$MONTAGE.Route="Stop";
$MONTAGE.StopType="LimitP";
$MONTAGE.STOPPRICE=Round($MONTAGE.AVGCOST,2);
$MONTAGE.PRICE=ROUND($MONTAGE.STOPPRICE*1.005,2);
$MONTAGE.Share=$MONTAGE.Pos;
$MONTAGE.TIF="DAY+";
$MONTAGE.Buy=Send;
Set stop to desired price
This is a two-step process. 1st, double-click on the price where you want your stop to be set in the chart window. Then press the following hotkey:
LONG
$MONTAGE=getwindowobj("MONTAGE1");
$MONTAGE.CXL ALLSYMB;
$MONTAGE.Route="Stop";
$MONTAGE.StopType="LimitP";
$MONTAGE.STOPPRICE=Round($MONTAGE.Price,2);
$MONTAGE.PRICE=ROUND($MONTAGE.STOPPRICE*0.995,2);
$MONTAGE.Share=$MONTAGE.Pos;
$MONTAGE.TIF="DAY+";
$MONTAGE.Sell=Send;
SHORT
$MONTAGE=getwindowobj("MONTAGE1");
$MONTAGE.CXL ALLSYMB;
$MONTAGE.Route="Stop";
$MONTAGE.StopType="LimitP";
$MONTAGE.STOPPRICE=Round($MONTAGE.Price,2);
$MONTAGE.PRICE=ROUND($MONTAGE.STOPPRICE*1.005,2);
$MONTAGE.Share=$MONTAGE.Pos;
$MONTAGE.TIF="DAY+";
$MONTAGE.Buy=Send;
Include the LimitP stop loss into the entry hotkeys
Double-click on the chart to define the stop loss price, and simply press the hotkey whenever you like to enter the trade.
Long
$MONTAGE=GetWindowObj("MONTAGE1");
$MONTAGE.CXL ALLSYMB;
$buyprice=$MONTAGE.Ask;
$risk=20;
$mystop=$MONTAGE.price;
$tmpstop=ROUND($mystop*0.995,2);
$pricetostop=$buyprice-$mystop;
$amount=$risk/$pricetostop;
$MONTAGE.share=$amount;
$MONTAGE.ROUTE="LIMIT";
$MONTAGE.Price=Round($buyprice*1.005,2);
$MONTAGE.TIF=DAY+;
$MONTAGE.Buy;
$MONTAGE.TriggerOrder=RT:STOP STOPTYPE:LimitP PX:$tmpstop ACT:SELL STOPPRICE:$mystop QTY:Pos TIF:DAY+;
Short
$MONTAGE=GetWindowObj("MONTAGE1");
$MONTAGE.CXL ALLSYMB;
$sellprice=$MONTAGE.Bid;
$risk=20;
$mystop=$MONTAGE.price;
$tmpstop=ROUND($mystop*1.005,2);
$pricetostop=$mystop-$sellprice;
$amount=$risk/$pricetostop;
$MONTAGE.share=$amount;
$MONTAGE.ROUTE="LIMIT";
$MONTAGE.Price=Round($sellprice*0.995,2);
$MONTAGE.TIF=DAY+;
$MONTAGE.Sell;
$MONTAGE.TriggerOrder=RT:STOP STOPTYPE:LimitP PX:$tmpstop ACT:Buy STOPPRICE:$mystop QTY:Pos TIF:DAY+;
I'm using a $TMPSTOP helper variable to calculate the offset for the limit order. Adapt the "risk=20;" line to your desired risk size. 20 means $20 dollar risk.

