Блог им. Alextrade

Вопрос про Wealth-lab и программирование

Как в wealht-lab можно сделать так, чтобы в неудачных сделках трейлинг- стоп срабатывал на той же свечки, на которой был вход? И чтобы не получалось такого:


Вопрос про Wealth-lab и программирование

 Пытался убрать "+1":

Вопрос про Wealth-lab и программирование



Но почти все сделки стали закрываться на той же свечки, на которой был вход, независимо от размера трейлинг-стопа.

Если кто поможет в решении этой проблемы, буду очень бладарен.



           
70 | ★2
9 комментариев
Поймите что значит выражение типа этого:
for(int bar....; bar < Bars.Count; bar++)

И вопрос отпадает сам собой.
У нас цикл перебора свечек из серии. Такой цикл никаких «внутри» свечки не предполагает. Каждый прогон — новый бар.
Fry, мне надо чтобы стоп отсчитывался от максимума этой свечки, а не на следующей свечки. что значит выражение
for(int bar....; bar < Bars.Count; bar++),
если бы я разбирался в программировании, я бы уже что-нибудь придумал
avatar
Bacardi, после входа в сделку сразу делайте SellAtStop
avatar
Вот мой скрипт

fau, using System;
using System.Collections.Generic;
using System.Text;
using System.Drawing;
using WealthLab;
using WealthLab.Indicators;

namespace WealthLab.Strategies
{
public class MyStrategy: WealthScript
{
protected override void Execute()
{
PlotSeries(PricePane, Highest.Series(High, 20) >> 1, Color.Red, LineStyle.Solid, 1);
PlotStops();

for(int bar = GetTradingLoopStartBar(21); bar < Bars.Count; bar++)
{
if (IsLastPositionActive)
{
Position p = LastPosition;
if (p.EntrySignal.Contains(«Group1|»))
{
double amount = p.MFEAsOfBar(bar) / p.Shares + p.EntryPrice — 1000;
SellAtTrailingStop(bar + 1, p, amount, «Group1»);
}

}
else
{
BuyAtStop(bar + 1, Highest.Value(bar, High, 20), «Group1|»);

}
}
}
}
}

BuyAtStop-насколько я понял-это и есть вход в сделку.

SellAtStop пытался по разному вписать, но постоянно выдает ошибку, не знаю как вписать туда.
avatar
после BuyAtStop:
SellAtStop(bar+1, LastPosition, price1);

price1 — уровень стопа
avatar
fau,
}
else
{
BuyAtStop(bar + 1, Highest.Value(bar, High, 20), «Group1|»);
SellAtStop(bar + 1, LastPosition, 1000);
}
}
}
}
}

тоже самое что и на рисунке в посте, все равно закрывается только на следующей свечки и просадка идет минус 4500
avatar
Bacardi, попробуй вместо 1000 поставить 137000
avatar
fau, да закрылся на 137000 на этой же свечки, только теперь везде стоп закрывает на 137000, в других местах просадка тоже бывает сильной.
avatar
Bacardi, ну так рассчитывайте стоп аналогично
double amount = p.MFEAsOfBar(bar) / p.Shares + p.EntryPrice — 1000;
avatar

Читайте на SMART-LAB:
Фото
Денежный рынок vs облигации: фокус смещается
В период роста ключевой ставки Банка России фонды денежного рынка стали весьма популярны. За это время они обеспечили инвесторам высокую...
Фото
12 марта Группа Ренессанс страхование опубликует МСФО за 2025 год
Напоминаем, что 12 марта 2026 года RENI опубликует МСФО Группы за 2025 год, а также проведет День инвестора, чтобы рассказать о ситуации на...
Рынок меняется? Прибыль маркетплейсов, убытки металлургов
«Озон» выходит в прибыль благодаря собственной финансовой экосистеме, МТС-Банк эксплуатирует бизнес-модель хедж-фонда, а «Фикс Прайс» покоряет...
Фото
Хэдхантер. Отчет МСФО 25г. “Режет косты“ и ждёт X2 темпов роста по выручке на 26г.
Вышли финансовые результаты по МСФО за Q4 2025г. от компании Хэдхантер: 👉Выручка — 10,47 млрд руб. (+0,4% г/г) 👉Операционные расходы —...

теги блога Алексей (Bacardi)

....все тэги



UPDONW
Новый дизайн