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
Сообщений: 18465
Нахождение: Москва
|
|
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
Сообщений: 18465
Нахождение: Москва
|
|
Вот, спасибо большое.
-------------------- Больше в бане — чище форум.
|
VovaM
майор
  
Зарегистрирован: 20/08/2003
Сообщений: 2293
|
|
А я по старости считаю, что стоп лосс должен возникать когда (в терминах Нео) развитие паттерна идет не по паттерну))) Или ( не дай то бог, еще и антипаттерн показывается). В этом случае мой "стоп позишн" возникает вообще не от каких либо процентов и таргетов а онлайн по любой текущей цене. Не пошло "по задуманному" - убегай (хоть даже и профит вроде светит больше). Т.е. надо что б закрытие позиции было от осмысленного наблюдения за рынком (точнее развитие паттерна или наоборот - неразвитие), а не от каких то абстрактных правил. Ну и хотя % стоп лосс конечно есть. И еще мне кажется должна быть адекватная связь (уж если про % стоп лосы говорим) между стоплосом и тейк профитом (чем больше риск, тем больше профит - значит связь есть и нельзя делать микростоплос при хорошем тейк профите - хотя конечно это абстрактное высказывание, системнее было бы все же закрываться когда идет все "не по паттерну" пусть даже в плюс, а если идетв плюс а не по паттерну - значит это не больше чем случайность, и быть может на самом деле этот паттерн вовсе не паттерн а так - фигня случайная) , ибо волатильность как говорится - бывает во все стороны. Ну и наверно можно попытаться оценить ее (волатильность) после тех паттернов которые в прошлом "не сбылись" и соответственно установить "диапазон расхождения", по которому и ставить все это хозяйство. Я правда делаю все "на глазок". Эмпирик я))) Сугубо ИМХО без претензий на правоту)))
-------------------- Все проблемы от того, что люди плохо фильтруют базар
|
Sarge
Свой человек
 
Зарегистрирован: 26/02/2004
Сообщений: 149
Нахождение: Нижний Новгород
|
|
Читал соседню ветку про стратегии со случайными выходами и мне пришла довольно очевидная идея в голову: выход по стоп-лосс как раз и является случайным выходом. Потому что абсолютно бессмысленен в качестве предсказателя дальнейшего движения цены. Имхо надо выходить не по стопам, а по каким-либо другим критериям, которые однозначно указывают, что трейд не работает. Простой пример: если мы сыграли на повышение, а цена продолжает оставаться во флете, то нужно выходить. Не важно, что сделает цена после, может и вверх пойти, но трейд все равно считается не сработавшим. Тем не менее стоппы (широкие) нужны на случай, если продадет связь, сдохнет комп и тд.
|
VovaM
майор
  
Зарегистрирован: 20/08/2003
Сообщений: 2293
|
|
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)
|
|