Случайный вход в сделку — не грааль, ДОКАЗАНО!
Вторичный тест системы «монетка» начало тут
smart-lab.ru/blog/186508.php
Вторично протестировал систему «монетка» по уточненным правилам уважаемого «Алексей»
------------------------------
1. по системе «Монетка» всеже лучше торговать 2 инструмента это на 1 лот 6 лотов си вместе, не просто реверс скажем шорт лонг…
2. у системы есть стоп 200 и 2000 п. если на момент клиринга 13:59; 18:44 и 23:30 имеем размер стопа то выходим из позиции
3. прибыльные сделки переносятся через день но не через неделю месяц (в данном случае стоп двигается вверх на уровень открытия)
4. вход строго 10:05.
---------------------------
Сиситема тестировалась на 10 минутках Ri, 10 контрактами на интервале с 07.2012 по настоящее время.
Все правила учтены, кроме:
1. Стоп у меня был не пунктах а в процентах, но аналогичен 2000 пт.
2. Я не стал чудить с закрытием позиции на экспирацию и в конце месяца, 100% уверен, что это ничего не поменяет.
3. В конце недели и на клиринге все выходы по правилам.
4. Данные 10мин, поэтому вход в 10-10
Сначала тест был такой:
И подумалось, ну неплохо!
Потом такой:
Стало все понятно!
Потом тесты были такие:
И еще много тестов в этом же сумбурном духе.
Ну и чтоб не оставалось никаких сомнений тест на корзине Ri & Si с равными долями с начальным капиталом 1 млн:
Вобщем проблема в том, что результат абсолютно не предсказуем. Менял стопы, ставил различные трелинги
результат всегда одинаков. Единственный раз система показала себя более менее не страшно (для тогрговли все равно не пригодна), когда я накосячил со стопами и выход осуществлялся или в конце недели или по стопу от точки входа (не трелинг).
Код системы:
____________________________________________
{новые пправила}
var p: integer;
var enter_: integer;
var bar, enterBar, stopBar1, stopBar2: integer;
var S: float;
S := 1.5; // вводим стоп в %
for Bar := 20 to BarCount — 3 do
begin
// случайно выбираем направление входа enter_
enter_ := randomint(2);
if BarNum(Bar) = 0 then // входим только на первом баре
begin
enterBar := Bar; // бар входа или любой первый бар дня
if not LastPositionActive then //Open positions
begin //long
if enter_ = 1 then
begin
BuyAtClose( Bar, 'long' );
end;
end;
if not LastPositionActive then
begin // short
if enter_ = 0 then
begin
ShortAtclose( Bar, 'short' );
end;
end;
end;
if LastPositionActive then // Close positons
begin
p := LastPosition;
if (GetTime( Bar ) = StrToTime( '13:50' )) then
begin // первый клиринг
stopBar1 := Bar; // бар для установки стопа
if PositionLong( p ) and (priceClose(Bar) — PriceClose(enterBar)) < (-PriceClose(enterBar)/100)*S
then SellAtClose( Bar + 1, p, 'StopCliring1' );
if PositionShort( p ) and (priceClose(Bar) — PriceClose(enterBar)) > (PriceClose(enterBar)/100)*S
then CoverAtclose( Bar + 1, p, 'StopCliring1' );
continue;
end;
if (GetTime( Bar ) = StrToTime( '18:40' )) then
begin //второй клиринг
stopBar2 := Bar;
if PositionLong( p ) and (priceClose(Bar) — PriceClose(stopBar1)) < (-PriceClose(stopBar1)/100)*S
then SellAtClose( Bar, p, 'StopCliring2' );
if PositionShort( p ) and (priceClose(Bar) — PriceClose(stopBar1)) > (PriceClose(stopBar1)/100)*S
then CoverAtclose( Bar, p, 'StopCliring2' );
continue;
end;
if LastBar(Bar) then // если нет прибыли на конец дня или стоп, закрываем
begin
if PositionLong( p ) then
begin
if (priceClose(Bar) — PriceClose(enterBar)) < 0 then SellAtClose( Bar, p, 'StopLastTime' );
if (priceClose(Bar) — PriceClose(stopBar2)) < (-PriceClose(stopBar2)/100)*S then SellAtClose( Bar, p, 'StopCliring3' );
end;
if PositionShort( p ) then
begin
if (priceClose(Bar) — PriceClose(enterBar)) > 0 then CoverAtclose( Bar, p, 'StopLastTime' );
if (priceClose(Bar) — PriceClose(stopBar2)) > (PriceClose(stopBar2)/100)*S then CoverAtclose( Bar, p, 'StopCliring3' );
end ;
end;
if DayofWeek(Bar)= #friday and LastBar(Bar) then // закрываем конец недели
begin
if PositionLong( p ) then SellAtClose( Bar, p, 'CloseWeek' );
if PositionShort( p ) then CoverAtclose( Bar, p, 'CloseWeek' );
continue;
end;
end;
end;
____________________________________________________________________________________
Но! Идеей случайного входа конечно нельзя пользоваться в лоб. Однако применить это можно. Вот как выглядят например результаты
другой системы с
элементами случайного входа-выхода на том же инструменте и в той же выборке (специально под историю не оптимизировал, это видно по кривой).
Доход, и структура кривой немного меняется но в целом наклон и качество сохраняется независимо от теста.
Так что, дерзаем, ищем, роем носом графики!
чтож, грааль развенчан умываю руки…
Интересно тестируемый период одинков результаты разные, что-то меняли?
Про результаты не понял, ведь вход всегда разный и результаты разные.
Стоп лосс 1% и тейк-профит 2-3%.
А если просто добавить две адаптивные скользяшки настроить их хотя бы визуально и после того как они пересеклись, подкидывать монетку, типа ложное пересечение / не ложное.
+ условие что после последнего пересечения трейд был более 3000п.
Все будет работать.
Вы считаете, что сможете подкидывать монетку более случайно чем это делает генератор? И причем подкидывать ее более случайно на длительном временном отрезке?
Тема из 19 века со входом по пересечению средних не работает нигде, а здесь не будет и подавно. Даже пробовать не буду, напробовался, время жалко.
Проблема решаемая.
Камы, Амы, Кауфманы это все Вавилон.
Если кто захочет потестить или поторговать :-) им, то скачать можно здесь:
drive.google.com/file/d/0B6kxsJkcV5xraWRCcWsxV3RWcUk/edit?usp=sharing
описание здесь:
tommy27fx.blogspot.ru/p/blog-page_16.html
Торгуемый лот зависил от просадки?
Система проверялась на другой выборке после оптимизации?
Ума не приложу от куда у Вас прибыль, да еще такая ровная взялась.
Ну не может ее там быть!
Установите терминал мт4, загрузите сову и посмотрите сами в тестере, можно и на демо или реал поставить, в советнике нет никаких ограничений, но это всё на ваш страх и риск, я им не торговал и не собираюсь, а сделал его просто… из спортивного интереса.
что такое СЛ и ТП ?? — стоплосс и тейкпрофит в пунктах
Торгуемый лот зависил от просадки ?? — лот можно задать как фиксированный так и в % от депозита на момент открытия.
На скрине тест по ценам открытия с умножением лота на 1.6 если предыдущая сделка закрылась в минус, но этот параметр в советнике регулируется, можно вообще ничего не уможать.
Оптимизации не проводилось — какой смысл оптимизировать случайность — результат будет каждый раз разный. Просто прогнал по нескольким таймфреймам и заскринил наиболее красивую картинку.