Tradematic Support Center
Guides, articles, videos and links for Tradematic users and developers.
Как прописать в коде стратегии скользящий стоп-лосс и тейк-профит для торговли внутри бара?
71604РЕДАКТОР КОДА СКОЛЬЗЯЩИЙ СТОП-ЛОСС СКОЛЬЗЯЩИЙ ТЕЙК-ПРОФИТ ТЕЙК-ПРОФИТ СТОП-ЛОСС ТЕЙК СТОП СКОЛЬЗЯЩИЙ ВНУТРИ ВНУТРИ БАРА ВНУТРИ СВЕЧИ 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, "Скользящий тейк"); }