Tradematic Support Center
Guides, articles, videos and links for Tradematic users and developers.
Как написать стоп-лосс и тейк-профит для работы внутри бара?
90455РЕДАКТОР КОДА СТОП-ЛОСС ТЕЙК-ПРОФИТ ВНУТРИ БАРА ВНУТРИ СВЕЧИ ПО КСАНИЮ ПО ПРОБОЮ STOP-LOSS TAKE-PROFIT STOP TAKEСтоп-лосс или тейк-профит внутри свечи это пробитие тенями текущей свечи уровней стоп-лосса или тейк-профита. Тени используйте по причине того, что это поможет оставить сигнал при следующем исполнении стратегии на данной же свече (Если работать с ценой Close, то сигналы будут пропадать с графика). Код будет выглядеть следующим образом:
//условия на закрытие длинной позиции //стоп-лосс для длинной позиции if (Low[bar]<=LastPosition.EntryPrice*(1-X/100)) SellAtPrice(bar, LastPosition.EntryPrice*(1-X/100), LastPosition,"Стоп-лосс"); //тейк-профит для длинной позиции else if (High[bar]>=LastPosition.EntryPrice*(1+X/100)) SellAtPrice(bar, LastPosition.EntryPrice*(1+X/100), LastPosition,"Тейк-профит"); //условия на закрытие короткой позиции //стоп-лосс для короткой позиции if (High[bar]>=LastPosition.EntryPrice*(1+X/100)) CoverAtPrice(bar, LastPosition.EntryPrice*(1+X/100), LastPosition,"Стоп-лосс"); //тейк-профит для короткой позиции else if (Low[bar]<=LastPosition.EntryPrice*(1-X/100)) CoverAtPrice(bar, LastPosition.EntryPrice*(1-X/100), LastPosition,"Тейк-профит");
Учитывайте, что результат может быть не точным, т.к. внутри бара мы не знаем, что наступило раньше, условие тейк-профита или стоп-лосса.
Второй вариант стоп-лосса и тейк-профита для торговли внутри свечи
if (MarketPosition == 1) { // Выход из длинной позиции // Тэйк-профит - если цена входа увеличилась на 5% SellAtLimit(bar,LastPosition.EntryPrice*1.05, LastPosition, "TP (LX)"); // Стоп-лосс - если цена входа уменьшилась на 3% SellAtStop(bar,LastPosition.EntryPrice*0.97, LastPosition, "SL (LX)"); // остальные условия на выход ...
Мы добавили тэйк-профит при росте цены на 5%, и стоп-лосс при падении на 3%. Эти строчки нужно добавлять в блок выхода из позиции.