На главную
Обучение
Учебник Forex
Механические торговые системы
Торговые роботы
Аналитика/Прогнозы
О нас
Партнёрство

ПАРТНЕРЫ





Курсы "Трейдер валютного и российского фондового рынка"

Обучение торговле на фондовом рынке и рынке форекс (Forex) в центре Москвы.
Программа обучения и форма записи на обучение. Записаться можно по тел.8 (985) 923 47 54

Ближайшая группа  с 25 сентября по 12 октября 2017 г. Обучение в течение трёх недель  с 18ч30м. до 21ч. с понедельника по четверг.

Бесплатный семинар "Инвестирование на финансовых рынках " каждый четверг в 16ч30.

главная / Аналитика/Прогнозы / Статьи / Библиотека торговых систем / Скользящие стопы для механических торговых систем metastock

Скользящие стопы для механических торговых систем MetaStock

  Пример скользящего стопа для длинных позиций, который добавляется к уже разработанным условиям открытия и закрытия позиций:
Step := 0.02 ;
Maxm := 0.2 ;
Enter.signal := {условия открытия позиции торговой системой} ;
Close.signal := {условия закрытия позиции торговой системой} ;
Start := BarsSince( Enter.signal) < BarsSince( Close.signal) AND Ref( BarsSince( Enter.signal), -1) > Ref( BarsSince( Close.signal), -1) ; {определяет первый бар открытой позиции}
Enter.Point := ValueWhen( 1, Start, Сlose)) ; {определяет цену закрытия первого бара открытой позции}
SIP := Enter. Point - 3 * ATR( 5) ; {точка начального размещения скользящего стопа удалена от цены закрытия первого бара на утроенный средний торговый диапазон последних пяти баров}
HighestSince.Enter := HighestSince( 1, Start, Close) ; {определяет последний наибольший максимум достигнутый ценой в ходе данного трейда}
cum.para.sar := Cum( If( HighestSince.Enter <> Ref( HighestSince.Enter, -1), step, 0)) ; {если достигнут новый максимум, добавляется значение шага}
AF.st := step + (cum.para.sar - ValueWhen( 1, Start, cum.para.sar)) ; {вычисляется значение фактора акселерации}
AF := If( AF.st > maxm,maxm, AF.st) ; {проверяется не превысил ли фактор акселерации допустимого максимального значения, если превысил - то приравнивается к максимально допустимому значению}
ParaSAR.1 := If( Start, SIP, PREV + AF * ( HighestSince.Enter - PREV)) ; {вычисляется значение скользящего стопа}
ParaSAR.1

  Как правильно поставить стоп-лосс

стоп-лосс для длинных позиций:
Enter.trade := условия открытия длинных позиций ;
Close.trade := условия закрытия длинных позиций ;
Position := HighestBars( Close.trade) >= HighestBars( Enter.trade) ;
Open.Price := ValueWhen( 1, Position = 1 and ref( Position, -1) = 0, Close) ;
Full.Price := Open.Price * ( 100 + значение комиссии в %) / 100 ;
Close< Full.Price * (( 100 - opt1) / 100)

стоп-лосс для коротких позиций:
Enter.trade := условия открытия коротких позиций ;
Close.trade := условия закрытия коротких позиций ;
Position := HighestBars( Close.trade) >= HighestBars( Enter.trade) ;
Open.Price := ValueWhen( 1, Position = 1 and ref( Position, -1) = 0, Close) ;
Full.Price := Open.Price * ( 100 - значение комиссии в %) / 100 ;
Close> Full.Price * (( 100 - opt1) / 100)

Индикатор уровней сопротивления:
Pds := Input( "Periods",2,25,3) ;
B := Input( "Field: 1 = Close, 2 = Open, 3 = High, 4 = Low", 1, 4, 1) ;
Z := If( B=1, CLOSE, If( B=2, OPEN, If( B=3, HIGH, If( B=4, LOW, 0))));
r1 := ValueWhen( 1, Ref( Z, -pds) = HHV( Z, 2*pds+1)
AND Ref( Z, -pds) < > Ref( Z, -pds - 1), Ref( Z, -pds)) ;
r2 := ValueWhen( 1, Ref( Z, -pds) = HHV( Z, 2*pds+1)
AND Ref( Z, -pds) < > Ref( Z, -pds - 1), Ref( Z, -pds)) ;
r3 := ValueWhen( 1, Ref( Z, -pds) = HHV( Z, 2*pds+1)
AND Ref( Z, -pds) < > Ref( Z, -pds - 1), Ref( Z, -pds)) ;
r4 := ValueWhen( 1, Ref( Z, -pds) = HHV( Z, 2*pds+1)
AND Ref( Z, -pds) < > Ref( Z, -pds - 1), Ref( Z, -pds)) ;
r5 := ValueWhen( 1, Ref( Z, -pds) = HHV( Z, 2*pds+1)
AND Ref( Z, -pds) < > Ref( Z, -pds - 1), Ref( Z, -pds)) ;
r6 := ValueWhen( 1, Ref( Z, -pds) = HHV( Z, 2*pds+1)
AND Ref( Z, -pds) < > Ref( Z, -pds - 1), Ref( Z, -pds)) ;
R1; R2; R3; R4; R5; R6

Индикатор уровней поддержки:
pds:=Input("Periods",2,25,7);
B:=Input("Field:1=Close,2=Open,3=High, 4=Low", 1,4,1);
Z:=If(B=1,CLOSE,If(B=2,OPEN,If(B=3,HIGH,If(B=4,LOW, 0))));
s1 := ValueWhen( 1, Ref( Z, -pds) = LLV( Z, 2 * pds + 1) AND Ref( Z, -pds) < > Ref( Z, -pds - 1), Ref( Z, -pds)) ;
s2 := ValueWhen( 2, Ref( Z, -pds) = LLV( Z, 2 * pds + 1) AND Ref( Z, -pds) < > Ref( Z, -pds - 1), Ref( Z, -pds)) ;
s3 := ValueWhen( 3, Ref( Z, -pds) = LLV( Z, 2 * pds + 1) AND Ref( Z, -pds) < > Ref( Z, -pds - 1), Ref( Z, -pds)) ;
s4 := ValueWhen( 4, Ref( Z, -pds) = LLV( Z, 2 * pds + 1) AND Ref( Z, -pds) < > Ref( Z, -pds - 1), Ref( Z, -pds)) ;
s5 := ValueWhen( 5, Ref( Z, -pds) = LLV( Z, 2 * pds + 1) AND Ref( Z, -pds) < > Ref( Z, -pds - 1), Ref( Z, -pds)) ;
s6 := ValueWhen( 6, Ref( Z, -pds) = LLV( Z, 2 * pds + 1) AND Ref( Z, -pds) < > Ref( Z, -pds - 1), Ref( Z, -pds)) ;
S1; S2; S3; S4; S5; S6

 

Формулы для MetaStock MetaStock склад идей Скользящие стопы для механических торговых систем MetaStock
Подразделов нет

 

8(985) 923-47-54
8(916) 569-29-02

Мы рядом с метро:
Каширская
Тульская

контакты

Карта сайта Rambler's Top100

Торговые сигналы бесплатно



 

Индекс ММВБ (MICEX)
30 июня


Покупка

 

 



Что мы вам предлагаем?

Почему мы?

 


Зарегистрироваться
Напомнить пароль
ЛОГИН:
ПАРОЛЬ:
 
2005 (с) Все права принадлежат ИП Минаев. А.В. Rambler's Top100 eXTReMe Tracker
© 2005 Design and Programming
by InetStar.Ru