evge писал(а):Приветствую.66rus писал(а):1. Можно ли сделать закрытие прибыльной позиции по профиту в %?
Можно. Вариантов 2:
- BRS, но с указанием стоп-лосс (можно большой указать)
- Или проверять после каждого бара CurrentPLper() >= TakeProfitPercent и выходить из позиции
пример с BRS:Код: Выделить всё
function Initialize()
{
StrategyName = "SuperTrendEMA";
AddParameter("P1", 7, "", 1);
AddParameter("P2", 4, "", 1);
AddParameter("P3", 2, "", 1);
AddParameter("SL", 10, "StopLoss", 1);
AddParameter("TP", 1, "TakeProfit", 1);
AddInput("Input1", Inputs.Candle, 30, true, "LKOH=МБ ЦК");
LongLimit = 50;
ShortLimit = -50;
AddChartIndicator("MY.SuperTrendEMA", new Dictionary <string, string>{{"EmaPer", "P1"},{"TrPer", "P2"},{"factor", "P3"}});
}
function OnUpdate()
{
var STema = MY.SuperTrendEMA(Input1, P1, P2, P3);
/// ПРАВИЛО 1
if ( STema["Trend"][0] > 0 && CurrentPosition() <= 0)
{
EnterLong();
BreakingStop(SL, TP, SignalPriceType.DeltaInPercentFromAveragePrice);
}
/// ПРАВИЛО 2
if ( STema["Trend"][0] < 0 && CurrentPosition() >= 0)
{
EnterShort();
BreakingStop(SL, TP, SignalPriceType.DeltaInPercentFromAveragePrice);
}
}
пример с CurrentPLper:Код: Выделить всё
function Initialize()
{
StrategyName = "SuperTrendEMA";
AddParameter("P1", 7, "", 1);
AddParameter("P2", 4, "", 1);
AddParameter("P3", 2, "", 1);
AddParameter("TP", 1, "", 1);
AddInput("Input1", Inputs.Candle, 30, true, "LKOH=МБ ЦК");
LongLimit = 50;
ShortLimit = -50;
AddChartIndicator("MY.SuperTrendEMA", new Dictionary <string, string>{{"EmaPer", "P1"},{"TrPer", "P2"},{"factor", "P3"}});
}
function OnUpdate()
{
var STema = MY.SuperTrendEMA(Input1, P1, P2, P3);
/// ПРАВИЛО 1
if ( STema["Trend"][0] > 0 && CurrentPosition() <= 0)
{
EnterLong();
}
/// ПРАВИЛО 2
if ( STema["Trend"][0] < 0 && CurrentPosition() >= 0)
{
EnterShort();
}
if (CurrentPLper() >= TP) ClosePosition();
}66rus писал(а):2. И можно ли сделать выбор направления торговли. Допустим только в покупку или продажу?
Можно, указывайте в роботе или тестировании максимальное количество для Long, Short позиции равным 0.
SuperTrendEMA-Strategy-05.png
Добрый день!
Можете сделать вариант с временным интервалом, когда будет разрешено входить в позицию.
Чтобы исключить самое начало торгов. А если еще и вынести в настройки, то было бы идеально.
Например время начала торговли 10-45 и время окончания 19-45. (Этот временной интервал просто для примера дал)
Заранее спасибо!