Trail stops above/below high/low on broker backend

Questions about MultiCharts .NET and user contributed studies.
d0ke
Posts: 6
Joined: 05 May 2014
Been thanked: 1 time

Trail stops above/below high/low on broker backend

Postby d0ke » 19 May 2016

I want to understand how to apply MultiCharts for managing trades (exits only). So when MC detects that MarketPositionAtBroker != 0 it trails 3 stops for me: 1/3 of my position on trading time frame, plus 1/3 on lower time frame, plus 1/3 on higher time frame, and need to trail them above/below bars high/low (e.g. i use BarsOfData(x).High[1] to manage that for shorts).

However nothing I've coded works properly.

First of all when I insert the conditions for trailing stops like this:

Code: Select all

if (StrategyInfo.MarketPositionAtBroker<0 && !isStopOrderTriggeredLTF){
if (BarsOfData(1).High[1]>=BarsOfData(1).High[0]){
buy_stop_market.Send("stop cover lt", BarsOfData(1).High[1]+0.01,Math.Abs(StrategyInfo.MarketPositionAtBroker)/sizeDevider);
} else {
sizeDevider=2;
isStopOrderTriggeredLTF = true;
}
}
MC don't even push the orders. Also, even simple code like this:

Code: Select all

if (StrategyInfo.MarketPositionAtBroker<0){
buy_stop_market.Send("stop cover lt", BarsOfData(1).High[1]+0.01,Math.Abs(StrategyInfo.MarketPositionAtBroker)/3);
buy_stop_market.Send("stop cover tt", BarsOfData(2).High[1]+0.01,Math.Abs(StrategyInfo.MarketPositionAtBroker)/3);
buy_stop_market.Send("stop cover ht", BarsOfData(3).High[1]+0.01,Math.Abs(StrategyInfo.MarketPositionAtBroker)/3);

}
give me OCO orders, also this peice of code above don't understand that lower time frame stop was triggered and place it one more time - i must to add conditions.

I've tried several techniques but nothing works.
Could you please tell me how to trail my 1/3rds properly?

P.S. I can't just wait for high[0]>high[1] and send market order:

Code: Select all

if (StrategyInfo.MarketPositionAtBroker<0 && BarsOfData(1).High[1]<BarsOfData(1).High[0]){
buy_market.Send("market cover lt", Math.Abs(StrategyInfo.MarketPositionAtBroker)/sizeDevider);
}
because lag is too big - i need my orders be placed at my broker backend (InteractiveBrokers)!
Attachments
AAtmpOrders.pln
(3.3 KiB) Downloaded 588 times

Return to “MultiCharts .NET”