Блог им. 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:
Оперативная заметка с полей облигационной конференции для клиентов Mozgovik Research
Доброго дня, уважаемые читатели Mozgovik Research. Для вас хотел коротко и оперативно поделиться основными идеями, которые успел услышать на...
Обновление кредитных рейтингов в ВДО и розничных облигациях (ООО «АСПЭК-Домстрой» подтвержден BB-.ru, ООО «ПЗ «Пушкинское» понижен D|ru|, ООО «ЦЕНТР-РЕЗЕРВ» понижен С(RU))
🟢ООО «ФЭС-Агро» Эксперт РА подтвердил рейтинг кредитоспособности на уровне ruBBB-, прогноз по рейтингу стабильный. ООО «ФЭС-Агро» входит в...
Фото
МГКЛ на Smart-Lab & Cbonds PRO облигации 2.0 📍
Мы уже работаем на площадке и ждём вас на стенде МГКЛ — будем рады встрече и вопросам. 🕑 В 14:30 генеральный директор ПАО «МГКЛ» Алексей...

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

....все тэги



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