Okay, I've got some HotKey Scripts for you to TRY OUT IN SIM. (never test things live)
Each trade has two HotKeys.
The first one is the entry order where you double-click your Stop-Loss point. (I basically just removed the TriggerOrder from your HotKey Script and moved it to my Exit Script)
The second one is the exit order which you would place immediately after your entry order is completely filled. Don't double-click anything between the "fill" and when you activate the Exit HotKey because it gets it's calculations from your Entry HotKey.
Here is what the Exit HotKey does:
1. places a one-share RangeMarket order with a 1R/1R range.
2. Triggers a remaining-shares RangeMarket order with a 3R/BE range.
There is no other way to do what you want (as far as I know) without the tiny one-share order to trigger the Stop-Loss move to B/E.
With these HotKeys, this is what "should" happen (and it worked for me in SIM today). If your 1R Stop-Loss is hit, the Trigger order exits your WHOLE position "near" your target Stop-Loss. If the 1R profit point is reached, you will exit one share, then the Trigger order will be sent so that you will either profit 3R or B/E on the remaining position. (You could change the exit orders to exit more of your position at 1R if you want to use these HotKeys to "partial" at 1R... something like Share=POS*.5 or Share=POS*.33 with your Trigger order remaining Share=POS)
Be aware, the first exit order of one share will cost you about $1 in fees more per trade if you are with IB. (I mistakenly said $2 earlier) (Fees are no longer a danger when your orders are more than 200 shares)
Here are the Scripts, you should be able to copy-paste them directly into your HotKeys.
LONG ENTRY
CXL ALLSYMB;
StopPrice=Price;
DefShare=BP*0.975;
Price=Ask-Price+0.00;
SShare=25/Price;
Share=DefShare-SShare;
DefShare=DefShare+SShare;
SShare=Share;
Sshare=DefShare-SShare;
Share=0.5*SShare;
TogSShare;
ROUTE=LIMIT;
Price=Ask+0.1;
TIF=DAY+;
BUY=Send;
DefShare=200;
Price=Ask-StopPrice*3+Ask;
LONG EXIT
CXL ALLSYMB;
Route=STOP;
StopType=RangeMKT;
LowPrice=StopPrice;
HighPrice=AvgCost-StopPrice+AvgCost;
Share=1;
TIF=DAY+;
Sell=Send;
TriggerOrder=RT:STOP STOPTYPE:RANGEMKT LowPrice:AvgCost HighPrice:Price ACT:SELL QTY:POS TIF:DAY+;
SHORT ENTRY
CXL ALLSYMB;
StopPrice=Price;
DefShare=BP*0.975;
Price=Price-Bid+0.00;
SShare=25/Price;
Share=DefShare-SShare;
DefShare=DefShare+SShare;
SShare=Share;
Sshare=DefShare-SShare;
Share=0.5*SShare;
TogSShare;
ROUTE=LIMIT;
Price=Bid-0.1;
TIF=DAY+;
SELL=Send;
DefShare=200;
Price=StopPrice-Bid*3;
Price=Bid-Price;
SHORT EXIT
CXL ALLSYMB;
Route=STOP;
StopType=RangeMKT;
HighPrice=StopPrice;
LowPrice=AvgCost+AvgCost-StopPrice;
Share=1;
TIF=DAY+;
Buy=Send;
TriggerOrder=RT:STOP StopType:RangeMKT LowPrice:Price HighPrice:AvgCost ACT:BUY QTY:POS TIF:DAY+;
Hope this helps,
Best,
Russell Landwehr