Рассмотрим знаменитую систему Черепах. Система использовалаь успешно на протяжении многих лет и на многих рынках разными людьми. В чем преимущества этой системы? В чем изюминка такого подхода. Так же рассмотрим систему управления рисками Черепах.
Получается что «черепахи» по прежнему в силе, не смотря на то что весь мир знает об этой системе?
Послушать было интересно, в плане получения новых знаний, но лектору 3 за успеваемость и изложение мыслей. Если бы это был институт, то половина студентов уже бы спала:))
Lukasus, ого… Значит комментарий ещё и по адресу попал:))
Про «весело и быстро» совсем не имел ввиду, вы уж простите если задел за живое… Сам занимаюсь обучение уже взрослых и вполне состовшихся личностей и прекрасно понимаю насколько сложно бывает «на лету» объяснять параметры и виденье которое формировалось в голове годами. Просто то о чём вы решили поговорить имеет определенный интерес:)
Если позволите ещё немного критики готов объясниться…
не знаю, откуда у меня руки растут, но повторить результаты вашего теста у меня не получается. единственное отличие: торгуется один лот. но ММ на мат. ожидании сказываться не должен.
скрипт для TSLab: yadi.sk/d/KF2kZjPC7J4_i
Сергей, тут скорее не результаты теста копировать надо, а сперва книжку одноименную читать, потом размышлять долго, потом ещё раз читать и только потом… много времени потом, что-то интересное и стройное на графиках отрисуется:)
ladomirov, алгоритм -то простой. сколько не размышляй, он от этого не изменится. другое дело, что кодирую я его, возможно, не правильно. или автор вводит в заблуждение, хоть и не хочется так думать.
Сергей, есть нюансы исполнения алгоритма в разных системах, может так оказаться(скорее всего так и будет) что один и тот же алгоритм покажет несколько разные результаты например в Wealth lab и TSlab. Но различие не должно быть такое существенное!
Сергей, Автомобиль штука хорошая, но многое зависит от прокладки между рулём и сиденьем:) Черепахи хоть и торговали по жёсткому алгоритму, но всё-таки это были не роботы а люди. А вы хотите робота прикрутить, да? Или на истории проверить?
Сергей, Проверить (по крайне мере в моём представлении рынка) можно только одним достоверным способом — разобравшись в вопросе как следует, закинуть деньжат на счёт, и погонять черепашку на свой риск и страх. И в процессе не останавливать изучение вопроса:)
Стратегия есть в Wealth lab 4 в разделе TrendFollowers, там несколько версий, самая простая Turtles_original_V1.
Код там есть.
но если нужен код то вот он:
var N, L1, S1, L2, S2, L3, S3, L4, S4, SE, LE, SL: float;
var BAR, P: integer;
for Bar := 20 to BarCount — 1 do
begin
//ApplyAutoStops(bar);
if PriceClose(bar) > 5000 then
setpositionsize(priceclose(bar)*1.1);
N := ATR( Bar, 20 );
L1 := Highest( Bar, #High, 20);
S1 := Lowest( Bar, #Low, 20);
L2 := L1 +0.5*N;
S2 := S1 -0.5*N;
L3 := L2 +0.5*N;
S3 := S2 -0.5*N;
L4 := L3 +0.5*N;
S4 := S3 -0.5*N;
SE := Highest( Bar, #High, 10);
LE := Lowest( Bar, #Low, 10);
if ActivePositionCount=3 then begin
BuyAtStop( Bar + 1, L4, 'L4');
ShortAtStop (Bar + 1, S4, 'S4');
end;
if ActivePositionCount=2 then begin
BuyAtStop( Bar + 1, L3, 'L3');
ShortAtStop (Bar + 1, S3, 'S3');
end;
if ActivePositionCount=1 then begin
BuyAtStop( Bar + 1, L2, 'L2');
ShortAtStop (Bar + 1, S2, 'S2');
end;
if ActivePositionCount = 0 then begin
BuyAtStop( Bar + 1, L1, 'L1');
ShortAtStop (Bar + 1, S1, 'S1');
end;
for p := 0 to PositionCount -1 do begin
if PositionActive(p) then
if Positionlong(p) then SL := PositionEntryPrice(p)-2*N
else SL := PositionEntryPrice(p)+2*N;
end;
for p := 0 to PositionCount -1 do begin
if PositionActive(p) then
if Positionlong(p) then SellAtStop( Bar + 1, SL, p, 'LongStop')
else CoverAtStop( Bar + 1, SL, p, 'ShortStop');
if PositionActive(p) then
if Positionlong(p) then SellAtStop( Bar + 1, LE, p, 'LongExit')
else CoverAtStop( Bar + 1, SE, p, 'ShortExit');
end;
end;
Lukasus, в developer 5.4 этой стратегии у меня нет. буду очень благодарен если скините на почту [email protected]
только пожалуйста полностью и с сохранением формата, п.ч. в велслабе программировать не умею.
Lukasus, я не знаю как вставить этот «фрагмент кода» в код. если можно скиньте код полностью из велслаба в текстовом файле на [email protected]
буду Вам очень благодарен.
Доставка 2 млн баррелей российской нефти в Китай заняла в 7 раз больше времени, чем это могло бы быть до введения санкций США — Bloomberg
Доставка двух миллионов баррелей российской нефти ...
ИИ,
Онлайн — это так, как хвастались входами и отложками без стопов….с приложением скринов….
Покажите нам лакирование….
Покажите перевороты….
На скринах…. В письме…. Без разницы….
Покажи...
Frankmedia — Совкомбанк в первом полугодии 2025 года планирует секьюритизировать потребительские, ипотечные и автокредиты общим объемом в 20 млрд рублей (банки выпускают ипотечные ценные бумаги (ИЦ...
Объясняю это желанием порекламировать тухловатый товар. Нет смысла судить по 1 году существования бумаг. Лучше судить по широкому спектру «достижений» эмитента. ВТБ прописал себе возможность не платит...
Послушал с большим удовольствием!
Поставил бы плюс, если бы не Тимофей
Послушать было интересно, в плане получения новых знаний, но лектору 3 за успеваемость и изложение мыслей. Если бы это был институт, то половина студентов уже бы спала:))
Про «весело и быстро» совсем не имел ввиду, вы уж простите если задел за живое… Сам занимаюсь обучение уже взрослых и вполне состовшихся личностей и прекрасно понимаю насколько сложно бывает «на лету» объяснять параметры и виденье которое формировалось в голове годами. Просто то о чём вы решили поговорить имеет определенный интерес:)
Если позволите ещё немного критики готов объясниться…
скрипт для TSLab: yadi.sk/d/KF2kZjPC7J4_i
Как-то так.
Код там есть.
но если нужен код то вот он:
var N, L1, S1, L2, S2, L3, S3, L4, S4, SE, LE, SL: float;
var BAR, P: integer;
for Bar := 20 to BarCount — 1 do
begin
//ApplyAutoStops(bar);
if PriceClose(bar) > 5000 then
setpositionsize(priceclose(bar)*1.1);
N := ATR( Bar, 20 );
L1 := Highest( Bar, #High, 20);
S1 := Lowest( Bar, #Low, 20);
L2 := L1 +0.5*N;
S2 := S1 -0.5*N;
L3 := L2 +0.5*N;
S3 := S2 -0.5*N;
L4 := L3 +0.5*N;
S4 := S3 -0.5*N;
SE := Highest( Bar, #High, 10);
LE := Lowest( Bar, #Low, 10);
if ActivePositionCount=3 then begin
BuyAtStop( Bar + 1, L4, 'L4');
ShortAtStop (Bar + 1, S4, 'S4');
end;
if ActivePositionCount=2 then begin
BuyAtStop( Bar + 1, L3, 'L3');
ShortAtStop (Bar + 1, S3, 'S3');
end;
if ActivePositionCount=1 then begin
BuyAtStop( Bar + 1, L2, 'L2');
ShortAtStop (Bar + 1, S2, 'S2');
end;
if ActivePositionCount = 0 then begin
BuyAtStop( Bar + 1, L1, 'L1');
ShortAtStop (Bar + 1, S1, 'S1');
end;
for p := 0 to PositionCount -1 do begin
if PositionActive(p) then
if Positionlong(p) then SL := PositionEntryPrice(p)-2*N
else SL := PositionEntryPrice(p)+2*N;
end;
for p := 0 to PositionCount -1 do begin
if PositionActive(p) then
if Positionlong(p) then SellAtStop( Bar + 1, SL, p, 'LongStop')
else CoverAtStop( Bar + 1, SL, p, 'ShortStop');
if PositionActive(p) then
if Positionlong(p) then SellAtStop( Bar + 1, LE, p, 'LongExit')
else CoverAtStop( Bar + 1, SE, p, 'ShortExit');
end;
end;
PlotSeries( HighestSeries( #High, 20 ), 0, #green, #Thin );
PlotSeries( LowestSeries( #Low, 20 ), 0, #green, #Thin );
PlotSeries( HighestSeries( #High, 10 ), 0, #red, #Thin );
PlotSeries( LowestSeries( #Low, 10 ), 0, #red, #Thin );
только пожалуйста полностью и с сохранением формата, п.ч. в велслабе программировать не умею.
буду Вам очень благодарен.