background

Tradematic Support Center

Guides, articles, videos and links for Tradematic users and developers.

Как прописать в коде стратегии скользящий стоп-лосс и тейк-профит для торговли внутри бара?

71603РЕДАКТОР КОДА СКОЛЬЗЯЩИЙ СТОП-ЛОСС СКОЛЬЗЯЩИЙ ТЕЙК-ПРОФИТ ТЕЙК-ПРОФИТ СТОП-ЛОСС ТЕЙК СТОП СКОЛЬЗЯЩИЙ ВНУТРИ ВНУТРИ БАРА ВНУТРИ СВЕЧИ 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, "Скользящий тейк");
}

This website uses cookies. By continuing to use this website, you consent to our Privacy Policy. OK