
Tradematic Support Center
Guides, articles, videos and links for Tradematic users and developers.
Как прописать в коде стратегии скользящий стоп-лосс и тейк-профит для торговли внутри бара?
79888РЕДАКТОР КОДА СКОЛЬЗЯЩИЙ СТОП-ЛОСС СКОЛЬЗЯЩИЙ ТЕЙК-ПРОФИТ ТЕЙК-ПРОФИТ СТОП-ЛОСС ТЕЙК СТОП СКОЛЬЗЯЩИЙ ВНУТРИ ВНУТРИ БАРА ВНУТРИ СВЕЧИ HIGHEST LOWESTСкользящий тейк-профит и стоп-лосс нужно рассчитывать в коде в ручную. Используйте, например, конструкции ниже. Вместо переменной X используйте нужное значение в %. Но имейте в виду, что одновременное использование как обычного стоп-лосса или тейк-профита, так и скользящего может привести к неточным результатам, т.к. не известно, что прозошло раньше: стоп-лосс или тейк-профит. Наиболее точные результаты при тестировании стратегии внутри бара будут с использованием одного из условий.
//Скользящий тейк-профит (длинная позиция)
if (MarketPosition==1)
{
if (High[bar]>=Lowest.Series(Low, bar-LastPosition.EntryBar)[bar-1]*(1+X/100))
SellAtPrice(bar,Lowest.Series(Low, bar-LastPosition.EntryBar)[bar-1]*(1+X/100),LastPosition, "Скользящий тейк");
}
//Скользящий тейк-профит (короткая позиция)
if (MarketPosition==-1)
{
if (Low[bar]<=Highest.Series(High, bar-LastPosition.EntryBar)[bar-1]*(1-X/100))
CoverAtPrice(bar,Highest.Series(High, bar-LastPosition.EntryBar)[bar-1]*(1-X/100),LastPosition, "Скользящий тейк");
}
//Скользящий стоп-лосс (длинная позиция)
if (MarketPosition==1)
{
if (Low[bar]<=Highest.Series(High, bar-LastPosition.EntryBar)[bar-1]*(1-X/100))
SellAtPrice(bar,Highest.Series(High, bar-LastPosition.EntryBar)[bar-1]*(1-X/100),LastPosition, "Скользящий стоп");
}
//Скользящий стоп-лосс (короткая позиция)
if (MarketPosition==-1)
{
if (High[bar]>=Lowest.Series(Low, bar-LastPosition.EntryBar)[bar-1]*(1+X/100))
CoverAtPrice(bar,Lowest.Series(Low, bar-LastPosition.EntryBar)[bar-1]*(1+X/100),LastPosition, "Скользящий тейк");
}

