Miguel
Свой человек
Зарегистрирован: 06/01/2004
Сообщений: 27
|
|
В Metatrader есть такая опция как trailing stop. Это конечно хорошо, но возник такогй вопрос: почему Trailing выставляется только при положительной сделке? Может есть возможность выставить Trailing stop, который сразу после открытия ордера следовал бы за ценой, даже если ордер закроется в минус. Своего рода Stop loss, переходящий в trailing stop. Может кто нибудь знает как решить эту проблему ?
|
Neo
Дед
  
Зарегистрирован: 10/02/2003
Сообщений: 6251
Нахождение: Düsseldorf, Germany
|
|
Цитата:
Своего рода Stop loss, переходящий в trailing stop.
Будьте добры, очень внимательно перечитайте то, что вы написали. А теперь давайте подумаем вместе. Стоп-лосс по определению есть та предельная степень риска, которую трейдер может и готов на себя принять в расчете на выигрыш в каждой КОНКРЕТНОЙ сделке, естественно выраженная в единицах цены и означающая убыток трейдера. Вы что-же предлагаете трейлить убыток? Тогда зачем, по вашему, в принципе необходим стоп-лосс?
-------------------- Never cry over the spilt milk...
|
Bob111
Боб
  
Зарегистрирован: 24/07/2003
Сообщений: 332
|
|
он не об этом Юра..он имеет ввиду такую схему-выставил стоп(допустим -5%)-если поза пошла против тебя-вышел на -5%. если поза пошла в твою сторону-трейлить. т.е-прибыль +1%-смещаем стоп с -5 на -4% и т.п
Удачи!
|
Miguel
Свой человек
Зарегистрирован: 06/01/2004
Сообщений: 27
|
|
Да, именно это я и имел ввиду. А вопрос остается открытым, как реализовать данную схему на MQL II?
|
Aborigen
Свой человек
  
Зарегистрирован: 31/08/2003
Сообщений: 108
|
|
На MQLII это не сложно. Конкретизируйте Ваши требования к трейлингу.
|
Aborigen
Свой человек
  
Зарегистрирован: 31/08/2003
Сообщений: 108
|
|
"Типовой" S/L :
if TrailingStop<5 then { print("Invalid trailing stop"); Exit; }; for cnt=1 to TotalTrades begin If Ord(cnt,VAL_TYPE)=OP_BUY then { If Ord(cnt,VAL_STOPLOSS)<(Bid-TrailingStop*Point) then { ModifyOrder(Ord(cnt,VAL_TICKET),Ord(cnt,VAL_OPENPRICE), Bid-TrailingStop*Point,Ord(cnt,VAL_TAKEPROFIT),Red); Exit; }; }; If Ord(cnt,VAL_TYPE)=OP_SELL then { If Ord(cnt,VAL_STOPLOSS)>(Ask+TrailingStop*Point) or Ord(cnt,VAL_STOPLOSS)=0 then { ModifyOrder(Ord(cnt,VAL_TICKET),Ord(cnt,VAL_OPENPRICE), Ask+TrailingStop*Point,Ord(cnt,VAL_TAKEPROFIT),Red); Exit; }; }; end;
|
Neo
Дед
  
Зарегистрирован: 10/02/2003
Сообщений: 6251
Нахождение: Düsseldorf, Germany
|
|
Цитата:
выставил стоп(допустим -5%)-если поза пошла против тебя-вышел на -5%. если поза пошла в твою сторону-трейлить. т.е-прибыль +1%-смещаем стоп с -5 на -4%
Я-бы только хотел спросить, какая торговая ситуация и как часто на практике подразумевает постоянный, а не колебательный рост цены в "твою сторону", чтобы ее можно было трейлить от стопа, т.е. от уровня максимального риска? Это был первый вопрос. А второй - какой вообще смысл в постановке такого стопа с последующим искуственным сужением зоны риска? Чтобы цене не было где "продышаться"? Правда, если стопы исходно ставятся от фонаря...
-------------------- Never cry over the spilt milk...
|
x4x
Гнусный вездеход ;)
  
Зарегистрирован: 13/11/2002
Сообщений: 4678
Нахождение: в полях под Москвой
|
|
Реал это просто заморочки пользователей мета-трейдуна, для удобства лентяев сделана опция автоматического следования стопа за ценой.
Можно ее установит когда баланс трейда стал положительным. Только , ИМХО, это все чисто игра слов, реал такая функция помеха, а не подспорье...
Стоп он и в африке стоп, назови его хоть лосс, хоть трейлинг... Правила исполнения одни и те же У меня так все сделки закрываются как стоп-лосс .
Это фигня все, а вот нормальный алгоритм постановки стопа это точно тема интересная.....
-------------------- Ничего не желай - и многое придет к тебе...
|
BDP
Усё у нас будзе!

Зарегистрирован: 09/02/2004
Сообщений: 167
Нахождение: Республика Беларусь
|
|
С Вами согласен, что Trailing stop - это для ленивых. Более того этот трейлинг действует только при включенном терминале, поэтому нужно постоянно быть подключенным к интернету и я исходя из этого вообще не вижу смысла в использовании Trailing stopа.
|
Pablo Escobar
Stranger

Зарегистрирован: 23/04/2003
Сообщений: 385
Нахождение: Москва
|
|
Согласен со всеми. Трейлинга мне не хватает, например, если не контролирую ситуацию( ночь, или командировка.) Но это тупо, глупо и неэффективно. У меня, так называемых стоп профитов редко бывает. (могуч русский язык, исправлять не буду, так интересней ) С течением времени перемещаю стоп по уровням, ползет дальше, -ок-передвигаю, а если нет, так нет. Сложнее всего удержаться от закрытия и следовать схеме. Если бы автотрейлинг передвигался( т.е. его можно было привязать к каким то правилам, это было бы гуд!) А так , не очень хорошо.
Мое почтение, Участникам.
-------------------- http://jukovsky2000.livejournal.com/
|
Neo
Дед
  
Зарегистрирован: 10/02/2003
Сообщений: 6251
Нахождение: Düsseldorf, Germany
|
|
Цитата:
Если бы автотрейлинг передвигался( т.е. его можно было привязать к каким то правилам, это было бы гуд!)
В разработке таких правил для трейлинга есть определенный резон, особенно нелинейных. Однако, если это тривиальная функция линейного следования за ценой, как предлагается в различных торговых станциях, то практического смысла в нем, имхо, никакого...
-------------------- Never cry over the spilt milk...
|
Overkill
Любознательный

Зарегистрирован: 21/04/2003
Сообщений: 1807
Нахождение: Россия.
|
|
Цитата:
Это фигня все, а вот нормальный алгоритм постановки стопа это точно тема интересная.....
Да, особенно для Форекса... Может быть специалисты опытом поделятся ?
Я например ставлю N% от величины потенциального Take Profit, но очень жестко привязаны стоп и профит к системе торговли, так же как и вход и выход. Пришел я к выводу, что все эти параметры - полностью вырастают из рыночных движений, потом система торговли соответствующая этим движениям, а затем уже и риски и профиты . Поэтому ,имхо, техника расстановки стопов - вопрос очнь интресный.
Трейлинг стоп\профит - наверное игрушка до тех пор, пока они действительно не будут расчитоваться в зависисмости от рыночных условий. А по скольку играем мы в большенстве своем предварительно оцененные стат. приемущества, то Трейлинг Стоп - только маленькая деталь, помогающая выжать из открытой позиции все "соки", а вот сделать так чтобы Трейлинг Стоп - не нанес урон ! открытой позе - это уже сложно, на данном уровне развития науки и техники и рыночной природы.
С уважением.
Редактировано -=zZz=- (23/02/2004 00:50)
|
Pablo Escobar
Stranger

Зарегистрирован: 23/04/2003
Сообщений: 385
Нахождение: Москва
|
|
Цитата:
В разработке таких правил для трейлинга есть определенный резон, особенно нелинейных.
Да, вот это я и имел в виду. Хотябы по уровням что ли, передвигалось что нить
-------------------- http://jukovsky2000.livejournal.com/
|
x4x
Гнусный вездеход ;)
  
Зарегистрирован: 13/11/2002
Сообщений: 4678
Нахождение: в полях под Москвой
|
|
Цитата:
техника расстановки стопов - вопрос очнь интресный.
Это богатая тема для разработки. В моей практике она намертво увязана с добавлением к позиции. И включает в себя оценку потенциального риска неблагоприятного движения цены.
Цитата:
а вот сделать так чтобы Трейлинг Стоп - не нанес урон ! открытой позе - это уже сложно, на данном уровне развития науки и техники и рыночной природы.
Ну риск - есть риск, в конце концов мы играем на деньги, а следовательно постоянно подвергаем собственную ставку риску потери. Совершенно недавно по "просьбам трудящихся" на невесте.ру, я сделал табличку для демонстрации такого подхода, посмотрите...
-------------------- Ничего не желай - и многое придет к тебе...
|
x4x
Гнусный вездеход ;)
  
Зарегистрирован: 13/11/2002
Сообщений: 4678
Нахождение: в полях под Москвой
|
|
Я уже сказал, что то что называется "трейлинг-стоп" в МТ, это только специфика МТ. Само по себе понятие "трейлинг-стоп" описывает прием перемещения защитного ордера в зависимости от состояния позиции. Вещь крайне полезная, а с моей точки зрения единственный способ закрытия позиции в трендследящих схемах игры.
-------------------- Ничего не желай - и многое придет к тебе...
|
Aborigen
Свой человек
  
Зарегистрирован: 31/08/2003
Сообщений: 108
|
|
Привожу пример одного из своих трейлингов.
Технология расчета похожа на NRTR_WATR (NRTR_ATR), ессесно с той разницей, что стопу не позволяется двигаться обратно от цены.
if Totaltrades>0 then Begin
Trailing1=Fast_ATR_Trailing*iATR(ATR_Slow,1);
Trailing=ATR_trailing*iATR(ATR_Slow,1);
//if TotalProfit>50 then Trailing=(ATR_trailing+1)*iATR(ATR_Slow,1);
//if TotalProfit>100 then Trailing=(ATR_trailing+2)*iATR(ATR_Slow,1);
For cnt=1 to TotalTrades Begin
// First Trailing ----------
If Ord(cnt,VAL_TYPE)=OP_BUY and
Ord(cnt,VAL_SYMBOL)=Symbol and
Bid-Ord(cnt,VAL_OPENPRICE)>Trailing1 and
Ord(cnt,VAL_STOPLOSS)<Ord(cnt,VAL_OPENPRICE) then Begin
ModifyOrder(Ord(cnt,VAL_TICKET),Ord(cnt,VAL_OPENPRICE),Bid-Trailing1,Ord(cnt,VAL_TAKEPROFIT),DarkRed);
Exit; end;
If Ord(cnt,VAL_TYPE)=OP_SELL and
Ord(cnt,VAL_SYMBOL)=Symbol and
Ord(cnt,VAL_OPENPRICE)-Ask>Trailing1 and
Ord(cnt,VAL_STOPLOSS)>Ord(cnt,VAL_OPENPRICE) then Begin
ModifyOrder(Ord(cnt,VAL_TICKET),Ord(cnt,VAL_OPENPRICE),Ask+Trailing1,Ord(cnt,VAL_TAKEPROFIT),DarkRed);
Exit; end;
// End of First Trailing ----------
If Ord(cnt,VAL_TYPE)=OP_BUY and
Ord(cnt,VAL_SYMBOL)=Symbol and
Bid-Ord(cnt,VAL_OPENPRICE)>Trailing and
Ord(cnt,VAL_STOPLOSS)<Bid-Trailing then Begin
ModifyOrder(Ord(cnt,VAL_TICKET),Ord(cnt,VAL_OPENPRICE),Bid-Trailing,Ord(cnt,VAL_TAKEPROFIT),Red);
Exit; end;
If Ord(cnt,VAL_TYPE)=OP_SELL and
Ord(cnt,VAL_SYMBOL)=Symbol and
Ord(cnt,VAL_OPENPRICE)-Ask>Trailing and
Ord(cnt,VAL_STOPLOSS)>Ask+Trailing then Begin
ModifyOrder(Ord(cnt,VAL_TICKET),Ord(cnt,VAL_OPENPRICE),Ask+Trailing,Ord(cnt,VAL_TAKEPROFIT),Red);
Exit; end;
end;
end;
Если я использую этот трейлинг, то тейкпрофит уже не ставлю. Этот стоп сам выжымает из позиции вполне приемлимый профит.
Редактировано Aborigen (23/02/2004 12:57)
|
Aborigen
Свой человек
  
Зарегистрирован: 31/08/2003
Сообщений: 108
|
|
Можно двигать стопы опираясь на максимальный максимум/минимальный минимум последних N баров. (предидущий стоп я использую в системах основанных на пробое волатильности, а нижеприведенный чаще в трендследящих)
Var: Low_(0), Hig_(0), cnt(0); Input: Lenght(5);
if Totaltrades>0 then Begin
Low_= Low[Lowest(MODE_LOW,Lenght+1,Lenght)]-1*Point; Hig_= High[Highest(MODE_HIGH,Lenght+1,Lenght)]+1*Point;
For cnt=1 to TotalTrades Begin
If Ord(cnt,VAL_TYPE)=OP_BUY and Ord(cnt,VAL_SYMBOL)=Symbol and // Ord(cnt,VAL_OPENPRICE)<Low_ and Ord(cnt,VAL_STOPLOSS)<Low_ and Bid>Low_+10*Point then Begin ModifyOrder(Ord(cnt,VAL_TICKET),Ord(cnt,VAL_OPENPRICE),Low_,Ord(cnt,VAL_TAKEPROFIT),Red); Exit; end;
If Ord(cnt,VAL_TYPE)=OP_SELL and Ord(cnt,VAL_SYMBOL)=Symbol and // Ord(cnt,VAL_OPENPRICE)>Hig_ and Ord(cnt,VAL_STOPLOSS)>Hig_ and Ask<Hig_-10*Point then Begin ModifyOrder(Ord(cnt,VAL_TICKET),Ord(cnt,VAL_OPENPRICE),Hig_,Ord(cnt,VAL_TAKEPROFIT),Red); Exit; end;
end;
end;
Кто-то из мудрых сказал, что при наличии хороших выходов, можно получить прибыль даже используя для входа генератор случайных чисел.
|
SK
Свой человек
Зарегистрирован: 26/01/2004
Сообщений: 27
Нахождение: Донецк
|
|
Это сказал Ват Тарп по поводу метода "люстры".
<< Стоп размещается на расстоянии нескольких средних истинных диапазонов (ATR) от самой высокой точки рынка или от самого высокого закрытия бара, которые были зафиксированы с момента открытия позиции. Ввиду того, что максимумы перемещаются только вверх, то и наш стоп либо перемещается вверх либо остается на месте (В этом и других примерах мы будем полагать по умолчанию, что позиция открывается в направлении повышающегося тренда, а случаи с понижающимся трендом будем оговаривать специально). Это выход получил такое название потому, что приказ на закрытие позиции размещается на определенном расстоянии от вершины рынка подобно люстре, свисающей с потолка.
Приведем примеры "выхода люстры":
- стоп размещается на расстоянии 3 ATR от самой
высокой точки рынка с момента открытия позиции;
- стоп размещается на расстоянии 2,5 ATR от самого
высокого закрытия бара с момента открытия позиции.
"Выход люстры" является нашим приоритетным выходом, который применяется при разработке систем, следующих за трендом. Он позволяет удерживать позицию практически до конца тренда и срабатывает только тогда, когда появляются серьезные предпосылки того, что тренд разворачивается. >>
|
Aborigen
Свой человек
  
Зарегистрирован: 31/08/2003
Сообщений: 108
|
|
Приведенный Выше ATR- стоп это и есть люстра. Только мне показалось более логичным размещать стопы на расстоянии в N*ATR от максимальных минимумов (в лонгах), а не максимумов. Такой стоп (ИМХО) дает больше свободы ценам в момент резкого ускорения тренда. Хотя сравнительного анализа этих вариантов я не проводил.
|
Neo
Дед
  
Зарегистрирован: 10/02/2003
Сообщений: 6251
Нахождение: Düsseldorf, Germany
|
|
Цитата:
Если я использую этот трейлинг, то тейкпрофит уже не ставлю. Этот стоп сам выжымает из позиции вполне приемлимый профит.
Верно, выжимает. Только вот что есть критерий - "приемлимый профит" я, к сожалению, не знаю... Для одного чела это пара процентов, для другого амбиции на минимум 10%. Стало быть штука эта относительная. Если трейлинг (или тейк-профит-стоп) есть мера риска трейдера, поставившего на кон денежку, то, с одной стороны стоп создает у трейдера иллюзию защищенности прибыли, за счет снижения риска, а с другой стороны повышает риск трейдера недополучить эту прибыль, при прочих равных исходных условиях. Цитата:
Кто-то из мудрых сказал, что при наличии хороших выходов, можно получить прибыль даже используя для входа генератор случайных чисел.
Мудрые они на то и мудрые, чтобы мудрые вещи вещать. Вероятно даже обезьяну можно научить грамоте. Только может быть лучше все-же учить первокласника? Как-бы априори и шансов на успех будет больше. Эх, если-бы эти мудрые еще и сказали, с достаточной для практики точностью,- что есть "хороший выход", так и цены -бы им не было.... А вообще рассматривать отдельно входы, выходы, стопы, трейлинги и еще бог есть что в инградиентах, имхо, является принципиально не верным, потому как в итоге получится не стройная система, а просто набор супер-пупер, но взаимно не коррелированных решений. ИМХО, само сабой, разумеется. Удачи!
-------------------- Never cry over the spilt milk...
|
Neo
Дед
  
Зарегистрирован: 10/02/2003
Сообщений: 6251
Нахождение: Düsseldorf, Germany
|
|
Цитата:
Ввиду того, что максимумы перемещаются только вверх, то и наш стоп либо перемещается вверх либо остается на месте (В этом и других примерах мы будем полагать по умолчанию, что позиция открывается в направлении повышающегося тренда, а случаи с понижающимся трендом будем оговаривать специально).
Полагаем, как и Ван Тарп, по умолчанию, что тренд у нас повышающийся. Мудрый мужик Ван Тарп, кто-бы спорил. Только, почему-бы ему еще и не добавить, что новые максимумы в тренде обязательно чередуются с коррекциями, иногда и очень глубокими, которые, даже оставшийся на месте и соотнесенный с предыдущим максимумом стоп, могут снести без всякого угрызения совести, как пьяный мужик люстру? Ну, а в остальном все конечно очень логично. Только вот вопрос о выборе оптимального N*ATR, по-прежнему остается открытым... Кстати, модная нынче манечка на базаре присутствует - поход за стопами зовут. Не Ван Тарп-ли навел? Удачи!
-------------------- Never cry over the spilt milk...
|
Aborigen
Свой человек
  
Зарегистрирован: 31/08/2003
Сообщений: 108
|
|
Хорошо. Приведу пример:
Строим простейшую МТС. Вход на пробое волатильности, Выход... Далее я применяю все известные мне тактики определения точек выхода, а затем просто сравниваю результаты с выходом по вышепреведенному стопу. МОИХ (!!!) навыков определения цели любым известным мне методом просто не хватит, что-бы система превысила доходность предоставляемую данным трейлинг-стопом (ну не умею я сходу определять цель движения после прорыва) . Мое понимание "приемлимого профита" привожу в цифрах (по данной системе), во вложении.
Рассматривать отдельно входы, выходы и стопы - вполне возможно. Строить из таких ранее запасенных и наработанных личным опытом кубиков очень удобно. Главное не увлекаться и не пытаться все имеющееся замесить в одну кучу.
|
Aborigen
Свой человек
  
Зарегистрирован: 31/08/2003
Сообщений: 108
|
|
Цитата:
Полагаем, как и Ван Тарп, по умолчанию, что тренд у нас повышающийся. Мудрый мужик Ван Тарп, кто-бы спорил. Только, почему-бы ему еще и не добавить, что новые максимумы в тренде обязательно чередуются с коррекциями, иногда и очень глубокими, которые, даже оставшийся на месте и соотнесенный с предыдущим максимумом стоп, могут снести без всякого угрызения совести, как пьяный мужик люстру?
Вот поэтому я и располагаю стопы на N*ATR ниже уровня последней коррекции, а на максимумы вообще не смотрю.
Цитата:
Ну, а в остальном все конечно очень логично. Только вот вопрос о выборе оптимального N*ATR, по-прежнему остается открытым...
Ну, с этим все как-раз просто. N- от 2 до 4 (для форекса)
|
Neo
Дед
  
Зарегистрирован: 10/02/2003
Сообщений: 6251
Нахождение: Düsseldorf, Germany
|
|
Цитата:
Рассматривать отдельно входы, выходы и стопы - вполне возможно. Строить из таких ранее запасенных и наработанных личным опытом кубиков очень удобно. Главное не увлекаться и не пытаться все имеющееся замесить в одну кучу.
Позвольте не согласиться. Рассматривать можно. Строить наверное тоже, но, имхо, не очень эффективно. Таким образом, вероятно можно построить подход к системе, но не систему, как таковую, поскольку достижения статистического преимущества возможно, имхо, только при достаточно формализованном соотношении этих "кубиков". Впрочем, если вам удается строить и из инградиентов, то и слава богу. А вот у меня так, к сожалению, не получается...
-------------------- Never cry over the spilt milk...
|
Neo
Дед
  
Зарегистрирован: 10/02/2003
Сообщений: 6251
Нахождение: Düsseldorf, Germany
|
|
Цитата:
Ну, с этим все как-раз просто. N- от 2 до 4 (для форекса)
Признаюсь, я на форсексе не торгую, поэтому мне трудно сказать, просто это или нет. Что же касается стоков, то, поверьте, там это далеко как не просто, особенно с оптимальным выбором...
-------------------- Never cry over the spilt milk...
|
Aborigen
Свой человек
  
Зарегистрирован: 31/08/2003
Сообщений: 108
|
|
Цитата:
Позвольте не согласиться. Рассматривать можно. Строить наверное тоже, но, имхо, не очень эффективно. Таким образом, вероятно можно построить подход к системе, но не систему, как таковую, поскольку достижения статистического преимущества возможно, имхо, только при достаточно формализованном соотношении этих "кубиков". Впрочем, если вам удается строить и из инградиентов, то и слава богу. А вот у меня так, к сожалению, не получается...
Эффективность можно оценить только в сравнении, а я просто не владею в достаточной степени другими методами системостроительства.
Сильно призадумался над "-достаточно формализованном соотношении этих "кубиков". " Конечно, для создания трендследящих систем, нужно использовать свои наработки (кубики) в методиках определения наличия тренда, его интенсивности, направления и.т.д Конечно, сомнительная затея, определять наличие тренда по пробою волатильности, и наличие пробоя волатильности по наличию тренда...
Цитата:
А вот у меня так, к сожалению, не получается...
Возможно, Вы просто не ставили перед собой такой цели.
А вот у меня так, к сожалению, не получается находится в рынке чаще одного-двух раз в месяц, используя методику графичесских паттернов. Рынок приемлит разные подходы. Кто-то ведь и по звездам торгует.
С Уважением, Aborigen.
|
Aborigen
Свой человек
  
Зарегистрирован: 31/08/2003
Сообщений: 108
|
|
Больше стопов хороших и разных!
Ускоряющийся процентный трейлинг-стоп:
Var: Low_(0), Hig_(0), cnt(0); Input: Stop%(50);
For cnt=1 to TotalTrades Begin
If Ord(cnt,VAL_TYPE)=OP_BUY and Ord(cnt,VAL_SYMBOL)=Symbol and Ord(cnt,VAL_OPENPRICE)<Ord(cnt,VAL_STOPLOSS)+(( (Bid-Ord(cnt,VAL_STOPLOSS) ) /100)*Stop%) and Ord(cnt,VAL_STOPLOSS)< Ord(cnt,VAL_STOPLOSS)+(( (Bid-Ord(cnt,VAL_STOPLOSS) ) /100)*Stop%) and Bid-10*Point>Ord(cnt,VAL_STOPLOSS)+(( (Bid-Ord(cnt,VAL_STOPLOSS) ) /100)*Stop%) then Begin ModifyOrder(Ord(cnt,VAL_TICKET),Ord(cnt,VAL_OPENPRICE),Ord(cnt,VAL_STOPLOSS)+(( (Bid-Ord(cnt,VAL_STOPLOSS) ) /100)*Stop%),Ord(cnt,VAL_TAKEPROFIT),Red); Exit; end;
If Ord(cnt,VAL_TYPE)=OP_SELL and Ord(cnt,VAL_SYMBOL)=Symbol and Ord(cnt,VAL_OPENPRICE)>Ord(cnt,VAL_STOPLOSS)-(( (Ord(cnt,VAL_STOPLOSS)-Ask) /100)*Stop%) and Ord(cnt,VAL_STOPLOSS)>Ord(cnt,VAL_STOPLOSS)-(( (Ord(cnt,VAL_STOPLOSS)-Ask) /100)*Stop%) and Ask+10*Point<Ord(cnt,VAL_STOPLOSS)-(( (Ord(cnt,VAL_STOPLOSS)-Ask) /100)*Stop%) then Begin ModifyOrder(Ord(cnt,VAL_TICKET),Ord(cnt,VAL_OPENPRICE),Ord(cnt,VAL_STOPLOSS)-(( (Ord(cnt,VAL_STOPLOSS)-Ask) /100)*Stop%),Ord(cnt,VAL_TAKEPROFIT),Red); Exit; end;
end;
Параметры для Stop%- 76.4 или 61.8 или 50 или 38.2 или 23.6...
(тест системы с данным стопом во вложении)
|
Aborigen
Свой человек
  
Зарегистрирован: 31/08/2003
Сообщений: 108
|
|
Во вложении илюстрация действия ускоряющегося процентного стопа
|
Aborigen
Свой человек
  
Зарегистрирован: 31/08/2003
Сообщений: 108
|
|
Turtle Trading System трейлинг-стоп:
Var: Low_(0), Hig_(0),Low_2(0), Hig_2(0), cnt(0),ATR(0); Input: Lenght(10),Lenght2(20);
if Totaltrades>0 then Begin
Low_= Low[Lowest(MODE_LOW,Lenght+1,Lenght)]-1*Point; Hig_= High[Highest(MODE_HIGH,Lenght+1,Lenght)]+1*Point; Low_2= Low[Lowest(MODE_LOW,Lenght2+1,Lenght2)]-1*Point; Hig_2= High[Highest(MODE_HIGH,Lenght2+1,Lenght2)]+1*Point; ATR=iATR(10,0);
For cnt=1 to TotalTrades Begin
//First Day If Ord(cnt,VAL_TYPE)=OP_BUY and Ord(cnt,VAL_SYMBOL)=Symbol and Ord(cnt,VAL_OPENTIME)=Time and Bid>Ord(cnt,VAL_STOPLOSS)+(ATR/2)+10*Point then Begin ModifyOrder(Ord(cnt,VAL_TICKET),Ord(cnt,VAL_OPENPRICE),Bid-(ATR/2),Ord(cnt,VAL_TAKEPROFIT),White); Exit; end; If Ord(cnt,VAL_TYPE)=OP_SELL and Ord(cnt,VAL_SYMBOL)=Symbol and Ord(cnt,VAL_OPENTIME)=Time and Ask<Ord(cnt,VAL_STOPLOSS)-(ATR/2)-10*Point then Begin ModifyOrder(Ord(cnt,VAL_TICKET),Ord(cnt,VAL_OPENPRICE),Ask+(ATR/2),Ord(cnt,VAL_TAKEPROFIT),White); Exit; end;
//Second Day If Ord(cnt,VAL_TYPE)=OP_BUY and Ord(cnt,VAL_SYMBOL)=Symbol and Ord(cnt,VAL_OPENTIME)=Time[1] and Bid>Ord(cnt,VAL_STOPLOSS)+(ATR*2)+10*Point then Begin ModifyOrder(Ord(cnt,VAL_TICKET),Ord(cnt,VAL_OPENPRICE),Bid-(ATR*2),Ord(cnt,VAL_TAKEPROFIT),DarkRed); Exit; end; If Ord(cnt,VAL_TYPE)=OP_SELL and Ord(cnt,VAL_SYMBOL)=Symbol and Ord(cnt,VAL_OPENTIME)=Time[1] and Ask<Ord(cnt,VAL_STOPLOSS)-(ATR*2)-10*Point then Begin ModifyOrder(Ord(cnt,VAL_TICKET),Ord(cnt,VAL_OPENPRICE),Ask+(ATR*2),Ord(cnt,VAL_TAKEPROFIT),DarkRed); Exit; end;
// 10 Day Trailing If Ord(cnt,VAL_TYPE)=OP_BUY and Ord(cnt,VAL_SYMBOL)=Symbol and Ord(cnt,VAL_STOPLOSS)<Low_ and Bid<Ord(cnt,VAL_OPENPRICE)+(ATR*10) and Bid>Low_+10*Point then Begin ModifyOrder(Ord(cnt,VAL_TICKET),Ord(cnt,VAL_OPENPRICE),Low_,Ord(cnt,VAL_TAKEPROFIT),Red); Exit; end; If Ord(cnt,VAL_TYPE)=OP_SELL and Ord(cnt,VAL_SYMBOL)=Symbol and Ord(cnt,VAL_STOPLOSS)>Hig_ and Ask>Ord(cnt,VAL_OPENPRICE)-(ATR*10) and Ask<Hig_-10*Point then Begin ModifyOrder(Ord(cnt,VAL_TICKET),Ord(cnt,VAL_OPENPRICE),Hig_,Ord(cnt,VAL_TAKEPROFIT),Red); Exit; end;
// 2.5 ATR Breakout If Ord(cnt,VAL_TYPE)=OP_BUY and Ord(cnt,VAL_SYMBOL)=Symbol and Ord(cnt,VAL_STOPLOSS)<Ord(cnt,VAL_OPENPRICE) and Bid>Ord(cnt,VAL_OPENPRICE)+(ATR*2.5) then Begin ModifyOrder(Ord(cnt,VAL_TICKET),Ord(cnt,VAL_OPENPRICE),Ord(cnt,VAL_OPENPRICE),Ord(cnt,VAL_TAKEPROFIT),Purple); Exit; end; If Ord(cnt,VAL_TYPE)=OP_SELL and Ord(cnt,VAL_SYMBOL)=Symbol and Ord(cnt,VAL_STOPLOSS)>Ord(cnt,VAL_OPENPRICE) and Ask<Ord(cnt,VAL_OPENPRICE)-(ATR*2.5) then Begin ModifyOrder(Ord(cnt,VAL_TICKET),Ord(cnt,VAL_OPENPRICE),Ord(cnt,VAL_OPENPRICE),Ord(cnt,VAL_TAKEPROFIT),Purple); Exit; end;
// 10 ATR Breakout If Ord(cnt,VAL_TYPE)=OP_BUY and Ord(cnt,VAL_SYMBOL)=Symbol and Ord(cnt,VAL_STOPLOSS)<Low_2 and Bid>Ord(cnt,VAL_OPENPRICE)+(ATR*10) and Bid>Low_2+10*Point then Begin ModifyOrder(Ord(cnt,VAL_TICKET),Ord(cnt,VAL_OPENPRICE),Low_2,Ord(cnt,VAL_TAKEPROFIT),Orange); Exit; end; If Ord(cnt,VAL_TYPE)=OP_SELL and Ord(cnt,VAL_SYMBOL)=Symbol and Ord(cnt,VAL_STOPLOSS)>Hig_2 and Ask<Ord(cnt,VAL_OPENPRICE)-(ATR*10) and Ask<Hig_2-10*Point then Begin ModifyOrder(Ord(cnt,VAL_TICKET),Ord(cnt,VAL_OPENPRICE),Hig_2,Ord(cnt,VAL_TAKEPROFIT),Orange); Exit; end;
end;
end;
Описание действия
|
Wisler
Гость
Зарегистрирован: 27/01/2004
Сообщений: 22
Нахождение: Prague
|
|
Не могли бы вы выложить в кодах Omega ? НП
|
Aborigen
Свой человек
  
Зарегистрирован: 31/08/2003
Сообщений: 108
|
|
Стоп на основе ATR, для Омеги, можно сделать из NRTR_ WATR. Нужно просто добавить условие "безоткатности". Черепаший стоп (ИМХО) полная чушь. Просто я прочитал его описание здесь на форуме и попробовал, что это такое. Может, на стоках он и имеет слысл, а на форексе его сносит на первом-же баре (стоп 1/2 ATR). А вообще, есть идея, кидать в эту ветку голые идеи стопов... Ну, типа: -А что если ставить стопы за последним фракталом? и народ потянется.... и будут сначала алгоритмы и обсуждения на основе личного опыта, а потом уже и коды под все торговые платформы.
|
OlegVS
Unregistered
|
|
Вариант ТрейлингСтоп-а для МТ: //------------------------------------------------------ defines:kts(2); vars:cnt(0),mode(0),Patr(0),ATR(0); //------------------------------------------------------- ATR=(Ceil(iATR(Patr,1)*10000))/10000; Patr=Ceil(150/iADX(14,MODE_MAIN,1)); //------------------------------------------------------- for cnt=1 to TotalTrades { mode=Ord(cnt,VAL_TYPE); If mode=OP_BUY then { If Bid-Ord(cnt,VAL_OPENPRICE)>ATR*kts then { If Ord(cnt,VAL_STOPLOSS)<Bid-ATR*kts then { ModifyOrder(Ord(cnt,VAL_TICKET),Ord(cnt,VAL_OPENPRICE),Bid-ATR*kts,Ord(cnt,VAL_TAKEPROFIT),Blue); Exit; }; }; }; If mode=OP_SELL then { If Ord(cnt,VAL_OPENPRICE)-Ask>ATR*kts then { If Ord(cnt,VAL_STOPLOSS)>Ask+ATR*kts then { ModifyOrder(Ord(cnt,VAL_TICKET),Ord(cnt,VAL_OPENPRICE),Ask+ATR*kts,Ord(cnt,VAL_TAKEPROFIT),Red); Exit; }; }; };
Этот кусок выдран из эксперта, поэтому отдельно может и не работать- я не проверял, но идея должна быть понятна. Работа такого ТС внутри эксперта меня удовлетворяет. "kts"=2 выбран эмпирически для EURUSD на Н1.
|
Aborigen
Свой человек
  
Зарегистрирован: 31/08/2003
Сообщений: 108
|
|
Для удобства хранения и вызова трейлингов, предлагаю оформлять их в виде функций. В этом случае, не загромождая текст экспертов, их можно вызывать одной строчкой. Например: cnt= UserFunction( "Trailing_ADX_ATR");
Упрощенно, стопы на основе ATR можно представить как СТОП=ATR(Y)*X. Для Форекса: Y константа в диапазоне от 1 до 50. X константа в диапазоне от 1 до 6.
В варианте, предложенном Олегом, Y зависит от ADX и болтается в диапазоне от 2 до 10. X константа. Результаты работы тестовой системы привожу во вложении. На данный момент, стоп Олега, позволяет добится наилучших показателей, на используемой для сравнения системе. 
Осталось дождаться появления стопа с оптимизацией, в зависимостии от рынка, и по X и по Y.
|
Marat
Душа форума
  
Зарегистрирован: 11/03/2003
Сообщений: 300
|
|
Мне кажется, интереснее обсуждать идеи, а не код выкладывать. Код каждый может написать сам, а вот стоп грамотно поставить - это искусство. Об этом x4x, по-моему, и говорил.
С уважением, Марат
|
Wisler
Гость
Зарегистрирован: 27/01/2004
Сообщений: 22
Нахождение: Prague
|
|
Категорически не согласен Вы же не предлагаете создать закрытый форум для особо продвинутых? Aborigenu и еже с ним большой сенкс. НП
|
x4x
Гнусный вездеход ;)
  
Зарегистрирован: 13/11/2002
Сообщений: 4678
Нахождение: в полях под Москвой
|
|
Коды это хорошо конечно, но системозависимо, ну не у всех метатрейдун, знаете ли...  Пояснения к кодам - что как и почему, это не менее, а возможно и более важно... Странно, что активности народ мало проявляет, хотя тема на самом деле представляет для реального трейдинга существенно больший интерес, чем рассуждения на тему куда пойдет евро... Абориген один бедняга парится практически....
-------------------- Ничего не желай - и многое придет к тебе...
|
Aborigen
Свой человек
  
Зарегистрирован: 31/08/2003
Сообщений: 108
|
|
Допустим на рынке произошел прорыв и наши стопы со свистом и улюлюканьем двигаются следом за ценами. Ах, как хочется побыстрее зафиксировать безубыток по сделке, как приятно видеть сколько ты уже не отдашь рынку ни при каких обстоятельствах… А является ли такая политика оптимальной? Может быть, надо дать ценам немного простора? А что если подождать пока резкое движение на рынке закончится и цены начнут разворачиваться против нас, а уже затем начинать придвигать стопы? На словах все вроде-бы очень складно и просто, а на деле? А на деле еще проще. Как пример, просто не придвигаем стопы если стохастика больше 50. И? И все!
Для сравнения я взял приведенный здесь ранее ATR стоп и добавил туда: and iSTO(5,3,3,MODE_SMA,MODE_MAIN,0)<50 ( для длинных позиций) and iSTO(5,3,3,MODE_SMA,MODE_MAIN,0)>50 ( для коротких позиций)
Система с таким стопом показала наилучшие результаты при сравнительном тестировании. (илюстрация действия стопа во вложении)
|
Overkill
Любознательный

Зарегистрирован: 21/04/2003
Сообщений: 1807
Нахождение: Россия.
|
|
Цитата:
Странно, что активности народ мало проявляет, хотя тема на самом деле представляет для реального трейдинга существенно больший интерес
Интерес есть, но есть такой хитрый вопрос, - от чего зависит размер стопа, в контекте внешних факторов (рыночных свойств) ?
Вот если на него ответить то и тема преобретет статус сурьозного разговора. Может быть попробуем тему развить ?
С уважением, Дмитрий.
|
Poul
Верю в антисоветчину
  
Зарегистрирован: 05/11/2002
Сообщений: 19189
Нахождение: Москва
|
|
http://forex.kbpauk.ru/showflat.php?Cat=&Board=mts&Number=12629&page=1&view=collapsed&sb=5&o=&fpart=1 http://forex.kbpauk.ru/showflat.php?Cat=&Board=mts&Number=1164&page=3&view=collapsed&sb=5&o=&fpart=1 http://forex.kbpauk.ru/showthreaded.php?Cat=&Board=book&Number=24161&page=&view=&sb=5&o=&vc=1 http://forex.kbpauk.ru/showflat.php?Cat=&Board=trading&Number=13550&page=&view=&sb=5&o=&fpart=all&vc=1 http://forex.kbpauk.ru/showflat.php?Cat=&Board=trading&Number=7421&page=&view=&sb=5&o=&vc=1 http://forex.kbpauk.ru/showflat.php?Cat=&Board=trading&Number=4225&page=&view=&sb=5&o=&vc=1 http://forex.kbpauk.ru/showflat.php?Cat=&Board=mts&Number=2695&page=&view=&sb=5&o=&vc=1 http://forex.kbpauk.ru/showflat.php?Cat=&Board=book&Number=734&page=&view=&sb=5&o=&vc=1 http://forex.kbpauk.ru/showflat.php?Cat=&Board=trading&Number=1150&page=&view=&sb=5&o=&vc=1
|
OlegVS
Unregistered
|
|
....Интерес есть, но есть такой хитрый вопрос, - от чего зависит размер стопа, в контекте внешних факторов (рыночных свойств) ?......
Мне кажется ,что необязательно пользоваться МетаТрейдором и знать язык MQL, для того, чтобы понять заложенную идею. Необходимо нем ног труда и внимания, плюс курс математики за неполную среднюю школу. Повторяю идею: ATR=(Ceil(iATR(Patr,1)*10000))/10000 -величина ATR за период Patr, округлённая до 4 знаков после запятой; Patr=Ceil(150/iADX(14,MODE_MAIN,1))- расчет периода ATR, как зависимости от силы тренда, измеряемой ADX. Округление до1 для получения целого числа периодов.
ТрейлингСтоп= ATR*k, где k=2(на усмотрение пользователя) ВСЁ.
Есть идея измерения и подстановки k также в зависимости от рыночной ситуации, где k=1+КПД по абсолютному значению(коэф. полезного действия всех слагаемых сил, участвующих в формировании рыночного движения). В приложении -изображения КПД(синим) и антиКПД, т.е. 1/КПД(красным). Особый интерес у меня вызывает антиКПД.
С уважением к неленивым, Олег.
|
OlegVS
Unregistered
|
|
Вот именно, Павел! И я о том-же. Не поленится поискать здесь-же, на форуме - идей масса, да и самому не мешает иногда просто подумать, а не кнопки жать в ожидании панацеии на все случаи жизни.
С уважением, Олег.
P.S. Список ссылок по теме на данный форум можно и удвоить и утроить и...не лениться. Правда не все идеи лежат на поверхности, поэтому и предлагается просто подумать (хоть иногда самому).
|
Viktor
Гость
Зарегистрирован: 22/03/2004
Сообщений: 19
Нахождение: Украина Киев
|
|
Приветствую!
для меня (новичка) трудно сразу ухватить все что можно прочитать на форуме и вот приходится делать как-бы конспектик (приатачен) - краткий список возможного поведения по закрытию. Получилось 8 тактик - умещается на 2 странички крупного текста. Получается что наилучшая тактика - №8 - всегда минимум 2 ордерами... Огромное спасибо за прочтение, комментарии, дополнения или ссылки к лучшим тактикам.
Итак, что у меня получилось в "сухом остатке":
1. всегда открываюсь устанавливая StopLoss (значения для пар такие - просто чтобы начать с чего-то) USDCHF 32 Pips USDJPY 30 Pips EURUSD и GBPUSD 25 Pips (если система имеет проскальзывание – учитываем проскальзывание при установке и движении стопов) и всегда устанавливаю TakeProfit равный StopLoss умноженный на 2 плюс спред.
2. всегда открываюсь минимум 2 ордерами (отдельно, чтобы можно было отдельно закрывать)
3. Перемещаю Stop в Entry Point для всех открытых ордеров когда прибыль около 40/50/50 pips (GBP/EUR/CHF) достигнута и закрываю половину ордеров.
4. Когда прибыль 55/65/65 pips (GBP/EUR/CHF) достигнута, сдвигаю Stop на 40/50 pips.
5. Использую Trailing Stop с шагом 25 pips или следую любой из понятных мне тактик использования индикаторов для закрытия.
6. Сдвигаю Take Profit для оставшихся работающих ордеров за середину следующего непробитого сопротивления. Или другие тактики установки нового уровня Take Profit.
|
Poul
Верю в антисоветчину
  
Зарегистрирован: 05/11/2002
Сообщений: 19189
Нахождение: Москва
|
|
Вот, спасибо большое.
|
VovaM
майор
  
Зарегистрирован: 20/08/2003
Сообщений: 2421
|
|
А я по старости считаю, что стоп лосс должен возникать когда (в терминах Нео) развитие паттерна идет не по паттерну))) Или ( не дай то бог, еще и антипаттерн показывается). В этом случае мой "стоп позишн" возникает вообще не от каких либо процентов и таргетов а онлайн по любой текущей цене. Не пошло "по задуманному" - убегай (хоть даже и профит вроде светит больше). Т.е. надо что б закрытие позиции было от осмысленного наблюдения за рынком (точнее развитие паттерна или наоборот - неразвитие), а не от каких то абстрактных правил. Ну и хотя % стоп лосс конечно есть. И еще мне кажется должна быть адекватная связь (уж если про % стоп лосы говорим) между стоплосом и тейк профитом (чем больше риск, тем больше профит - значит связь есть и нельзя делать микростоплос при хорошем тейк профите - хотя конечно это абстрактное высказывание, системнее было бы все же закрываться когда идет все "не по паттерну" пусть даже в плюс, а если идетв плюс а не по паттерну - значит это не больше чем случайность, и быть может на самом деле этот паттерн вовсе не паттерн а так - фигня случайная) , ибо волатильность как говорится - бывает во все стороны. Ну и наверно можно попытаться оценить ее (волатильность) после тех паттернов которые в прошлом "не сбылись" и соответственно установить "диапазон расхождения", по которому и ставить все это хозяйство. Я правда делаю все "на глазок". Эмпирик я))) Сугубо ИМХО без претензий на правоту)))
-------------------- Все проблемы от того, что люди плохо фильтруют базар
|
Sarge
Свой человек
 
Зарегистрирован: 26/02/2004
Сообщений: 149
Нахождение: Нижний Новгород
|
|
Читал соседню ветку про стратегии со случайными выходами и мне пришла довольно очевидная идея в голову: выход по стоп-лосс как раз и является случайным выходом. Потому что абсолютно бессмысленен в качестве предсказателя дальнейшего движения цены. Имхо надо выходить не по стопам, а по каким-либо другим критериям, которые однозначно указывают, что трейд не работает. Простой пример: если мы сыграли на повышение, а цена продолжает оставаться во флете, то нужно выходить. Не важно, что сделает цена после, может и вверх пойти, но трейд все равно считается не сработавшим. Тем не менее стоппы (широкие) нужны на случай, если продадет связь, сдохнет комп и тд.
|
VovaM
майор
  
Зарегистрирован: 20/08/2003
Сообщений: 2421
|
|
IMHO лучше и не скажешь
-------------------- Все проблемы от того, что люди плохо фильтруют базар
|
tartan
Свой человек
Зарегистрирован: 16/12/2004
Сообщений: 35
|
|
Всем привет. В одном изэкспертов я использую вот такую функцию: Только для МТ3 сделал, а МТ4 пока сложноватои тяжело осваиваю. for cnt=1 to TotalTrades Begin
if OrderValue(cnt,VAL_TYPE)=OP_SELLSTOP and OrderValue(cnt,VAL_SYMBOL)=Symbol and cors<os then Begin cors=cors+1; stl=OrderValue(cnt,VAL_STOPLOSS);tpr=OrderValue(cnt,VAL_TAKEPROFIT); if OrderValue(cnt,VAL_OPENPRICE)=PMin[2] and (stl!=90 or tpr!=45) then Begin tpr=45;stl=95; ModifyOrder(OrderValue(cnt,VAL_TICKET),OrderValue(cnt,VAL_OPENPRICE),PMin[2]+stl*point,PMin[2]-tpr*Point,Gold); exit;end; if OrderValue(cnt,VAL_OPENPRICE)=PMin[1] and (stl!=65 or tpr!=25) then Begin tpr=25;stl=70; ModifyOrder(OrderValue(cnt,VAL_TICKET),OrderValue(cnt,VAL_OPENPRICE),PMin[1]+stl*point,PMin[1]-tpr*Point,Gold); exit;end; if OrderValue(cnt,VAL_OPENPRICE)=top and (stl!=45 or tpr!=45) then Begin tpr=45;stl=50; ModifyOrder(OrderValue(cnt,VAL_TICKET),OrderValue(cnt,VAL_OPENPRICE),top+stl*point,top-tpr*Point,Gold); exit;end; if OrderValue(cnt,VAL_OPENPRICE)=PMax[1] and (stl!=25 or tpr!=65) then Begin tpr=65;stl=30; ModifyOrder(OrderValue(cnt,VAL_TICKET),OrderValue(cnt,VAL_OPENPRICE),PMax[1]+stl*point,PMax[1]-tpr*Point,Gold); exit;end;end;
if OrderValue(cnt,VAL_TYPE)=OP_BUYSTOP and OrderValue(cnt,VAL_SYMBOL)=Symbol and corb<ob then Begin corb=corb+1; stl=OrderValue(cnt,VAL_STOPLOSS);tpr=OrderValue(cnt,VAL_TAKEPROFIT); if OrderValue(cnt,VAL_OPENPRICE)=PMax[2] and (stl!=90 or tpr!=45) then Begin tpr=45;stl=95; ModifyOrder(OrderValue(cnt,VAL_TICKET),OrderValue(cnt,VAL_OPENPRICE),PMax[2]-stl*point,PMax[2]+tpr*Point,Gold); exit;end; if OrderValue(cnt,VAL_OPENPRICE)=PMax[1] and (stl!=65 or tpr!=25) then Begin tpr=25;stl=70; ModifyOrder(OrderValue(cnt,VAL_TICKET),OrderValue(cnt,VAL_OPENPRICE),PMax[1]-stl*point,PMax[1]+tpr*Point,Gold); exit;end; if OrderValue(cnt,VAL_OPENPRICE)=top and (stl!=45 or tpr!=45) then Begin tpr=45;stl=50; ModifyOrder(OrderValue(cnt,VAL_TICKET),OrderValue(cnt,VAL_OPENPRICE),top-stl*point,top+tpr*Point,Gold); exit;end; if OrderValue(cnt,VAL_OPENPRICE)=PMin[1] and (stl!=25 or tpr!=65) then Begin tpr=65;stl=30; ModifyOrder(OrderValue(cnt,VAL_TICKET),OrderValue(cnt,VAL_OPENPRICE),PMin[1]-stl*point,PMin[1]+tpr*Point,Gold); exit;end;end;end;
Думаю, что особого труда переделать под что унодно не составит. И по уровням и по каналам и пр. пр. пр. Попутного тренда и больших профитов Увы скрипт код искажает почему-то. cors=ранее подсчитанное значение сэлл-стоп ордеров и мы модифицируем все ордера один раз пока не изменится это значение corb=количество бай-стопов звканчиваем когда счётчик равен количеству тех или иных ордеров.
Редактировано tartan (26/10/2005 17:27)
|
|