커뮤니티
이전글 추가문의
2016-02-12 14:35:37
134
글번호 95340
아래글에서 맨아래 (1) 번 질문을 다음과 같이 약간 수정합니다.
1) 9시 30분 이전에 시초가 대비 16% 상승한 경우에,
16%이상 상승후 하락반전하는 상황을 가정한다.
16% 가격 대비 5% 이상 하락한 이후에,
신저점대비 5% 상승한 가격에 매수함.(역트레일스탑(?) 적용)
-> 예로, 16% 가격 대비 5% 하락하고, 여기서 7% 더 추가 하락하는 경우에
7% 추가하락가격을 저점으로 하여, 여기서 5% 상승한 가격에 매수함.
(5% 하락이후, 신저점대비 5% 재상승한 가격에 매수함. 트레일스탑
을 익절이 아닌 저가매수에 적용함)
이때, 트레일스탑(익절)은 매수가격이 아닌, 16% 상승가격 대비 15% 상승한
가격으로 정함. (-> 매수가격에 관계없이 시초가 대비 16% 상승가격의 1.15배
가격으로 고정. 이 경우, 트레일감소폭은 3%로 고정)
손절은 매수가격 대비 10% 하락한 가격으로 고정함.
만약, 시초가 대비 16% 상승 못하면 매수 안함.
이상입니다.
수식 부탁합니다.
==============================================================
안녕하세요
예스스탁입니다.
트레일링 스탑은 일정 수익이후 감소폭도 같이 지정하셔야 합니다.
수익폭만 있어 기존수식에서와 같이 1% 감소로 지정했습니다.
var : TT(0),T1(0),Entry(0),T(0);
TT = TotalTrades;
if date != date[1] Then{
T1 = TT[1];
T = 0;
}
if MarketPosition == 0 Then
entry = TT-T1;
Else
entry = TT-T1+1;
if T == 0 and stime < 93000 and H >= dayopen*1.16 Then
T = 1;
if MarketPosition == 0 and T == 1 and entry < 1 and stime < 150000 Then
buy("b1",AtLimit,DayHigh*0.95);
if MarketPosition == 0 and T == 0 and stime >= 093000 and entry < 1 and stime < 150000 Then
buy("b2",AtStop,Dayopen*1.16);
if MarketPosition == 1 and IsEntryName("b1") == true Then{
ExitLong("BL1",AtStop,EntryPrice*0.91);
if highest(H,BarsSinceEntry) >= EntryPrice*1.22 Then
ExitLong("Btr1",AtStop,highest(H,BarsSinceEntry)*099);
}
if MarketPosition == 1 and IsEntryName("b2") == true Then{
ExitLong("BL2",AtStop,EntryPrice*0.85);
if highest(H,BarsSinceEntry) >= EntryPrice*1.16 Then
ExitLong("Btr2",AtStop,highest(H,BarsSinceEntry)*099);
}
즐거운 하루되세요
> 초록이 님이 쓴 글입니다.
> 제목 : 시스템 문의..
> 아래와 같은 수식을 받아 쓰고 있읍니다.
(당일 시초가 대비 16% 상승하면 매수하여
트레일스탑 15%, 손절 15% 작용)
var : TT(0),T1(0),Entry(0);
TT = TotalTrades;
if date != date[1] Then
T1 = TT[1];
if MarketPosition == 0 Then
entry = TT-T1;
Else
entry = TT-T1+1;
if MarketPosition == 0 and stime < 100000 and entry < 1 Then
buy("b",AtStop,dayopen*1.16);
#손절
SetStopLoss(15,PercentStop);
#트레일링스탑
SetStopTrailing(1,15,PercentStop,1);
위 식을 아래와 같이 좀더 세분화하고 싶읍니다.
1) 9:30 이전에 시초가 대비 16% 상승한 경우에,
16% 가격 대비 5% 하락한 가격에 매수함.
-> 16%이상 상승후 하락반전하는 상황에서
5% 이상 하락시에 그 가격으로 매수 들어감.
(16% 상승후 하락반전하여 재상승하는 경우 가정함)
(트레일스탑 22%, 손절 9%)
만약, 시초가 대비 16% 상승 못하면 매수 안함.
2) 9:30 이후
시초가 대비 16% 상승한 가격에 매수하여
트레일스탑 15%, 손절 15%
가능하겠읍니까?
답변 1
예스스탁 예스스탁 답변
2016-02-12 18:17:01
안녕하세요
예스스탁입니다.
주석 참고하시기 바랍니다.
var : TT(0),T1(0),Entry(0),T(0),HH(0),HL(0);
TT = TotalTrades;
#날짜 변경되면 T는 0
if date != date[1] Then{
T1 = TT[1];
T = 0;
HH = 0;
HL = 0;
}
if MarketPosition == 0 Then
entry = TT-T1;
Else
entry = TT-T1+1;
#9시 30분 이전에 시초가 대비 16이상 상승하면
#T는 1이고
#HH는 고가 HL에는 저가 저장
if T == 0 and stime < 93000 and H >= dayopen*1.16 Then{
T = 1;
HH = H;
HL = L;
}
#T가 1일때
if T == 1 Then{
#10%돌파후 최고가 계산
if H > HH Then{
HH = H;
HL = L;
}
#최고가 이후 최저가 계산
if L < HL Then
HL = L;
}
#무포지션이고 T가 1이고
#당일 진입이 없고 15시 이전이고
#16%이상 상승후 최고가에서 최고가 이후 최저가가 5%이상 하락하고
#최저가에서 5%이상 상승하면 매수
if MarketPosition == 0 and T == 1 and
entry < 1 and stime < 150000 and
HL <= HH*0.95 and HH > 0 and HL > 0
Then
buy("b1",AtStop,HL*1.05);
#T가 0이면 9시 30분이후에 시초가+16%에 매수
if MarketPosition == 0 and T == 0 and stime >= 093000 and entry < 1 and stime < 150000 Then
buy("b2",AtStop,Dayopen*1.16);
if MarketPosition == 1 and IsEntryName("b1") == true Then{
ExitLong("BL1",AtStop,EntryPrice*0.91);
if highest(H,BarsSinceEntry) >= EntryPrice*1.22 Then
ExitLong("Btr1",AtStop,highest(H,BarsSinceEntry)*099);
}
if MarketPosition == 1 and IsEntryName("b2") == true Then{
ExitLong("BL2",AtStop,EntryPrice*0.85);
if highest(H,BarsSinceEntry) >= EntryPrice*1.16 Then
ExitLong("Btr2",AtStop,highest(H,BarsSinceEntry)*099);
}
buy();
}
즐거운 하루되세요
> 초록이 님이 쓴 글입니다.
> 제목 : 이전글 추가문의
> 아래글에서 맨아래 (1) 번 질문을 다음과 같이 약간 수정합니다.
1) 9시 30분 이전에 시초가 대비 16% 상승한 경우에,
16%이상 상승후 하락반전하는 상황을 가정한다.
16% 가격 대비 5% 이상 하락한 이후에,
신저점대비 5% 상승한 가격에 매수함.(역트레일스탑(?) 적용)
-> 예로, 16% 가격 대비 5% 하락하고, 여기서 7% 더 추가 하락하는 경우에
7% 추가하락가격을 저점으로 하여, 여기서 5% 상승한 가격에 매수함.
(5% 하락이후, 신저점대비 5% 재상승한 가격에 매수함. 트레일스탑
을 익절이 아닌 저가매수에 적용함)
이때, 트레일스탑(익절)은 매수가격이 아닌, 16% 상승가격 대비 15% 상승한
가격으로 정함. (-> 매수가격에 관계없이 시초가 대비 16% 상승가격의 1.15배
가격으로 고정. 이 경우, 트레일감소폭은 3%로 고정)
손절은 매수가격 대비 10% 하락한 가격으로 고정함.
만약, 시초가 대비 16% 상승 못하면 매수 안함.
이상입니다.
수식 부탁합니다.
==============================================================
안녕하세요
예스스탁입니다.
트레일링 스탑은 일정 수익이후 감소폭도 같이 지정하셔야 합니다.
수익폭만 있어 기존수식에서와 같이 1% 감소로 지정했습니다.
var : TT(0),T1(0),Entry(0),T(0);
TT = TotalTrades;
if date != date[1] Then{
T1 = TT[1];
T = 0;
}
if MarketPosition == 0 Then
entry = TT-T1;
Else
entry = TT-T1+1;
if T == 0 and stime < 93000 and H >= dayopen*1.16 Then
T = 1;
if MarketPosition == 0 and T == 1 and entry < 1 and stime < 150000 Then
buy("b1",AtLimit,DayHigh*0.95);
if MarketPosition == 0 and T == 0 and stime >= 093000 and entry < 1 and stime < 150000 Then
buy("b2",AtStop,Dayopen*1.16);
if MarketPosition == 1 and IsEntryName("b1") == true Then{
ExitLong("BL1",AtStop,EntryPrice*0.91);
if highest(H,BarsSinceEntry) >= EntryPrice*1.22 Then
ExitLong("Btr1",AtStop,highest(H,BarsSinceEntry)*099);
}
if MarketPosition == 1 and IsEntryName("b2") == true Then{
ExitLong("BL2",AtStop,EntryPrice*0.85);
if highest(H,BarsSinceEntry) >= EntryPrice*1.16 Then
ExitLong("Btr2",AtStop,highest(H,BarsSinceEntry)*099);
}
즐거운 하루되세요
> 초록이 님이 쓴 글입니다.
> 제목 : 시스템 문의..
> 아래와 같은 수식을 받아 쓰고 있읍니다.
(당일 시초가 대비 16% 상승하면 매수하여
트레일스탑 15%, 손절 15% 작용)
var : TT(0),T1(0),Entry(0);
TT = TotalTrades;
if date != date[1] Then
T1 = TT[1];
if MarketPosition == 0 Then
entry = TT-T1;
Else
entry = TT-T1+1;
if MarketPosition == 0 and stime < 100000 and entry < 1 Then
buy("b",AtStop,dayopen*1.16);
#손절
SetStopLoss(15,PercentStop);
#트레일링스탑
SetStopTrailing(1,15,PercentStop,1);
위 식을 아래와 같이 좀더 세분화하고 싶읍니다.
1) 9:30 이전에 시초가 대비 16% 상승한 경우에,
16% 가격 대비 5% 하락한 가격에 매수함.
-> 16%이상 상승후 하락반전하는 상황에서
5% 이상 하락시에 그 가격으로 매수 들어감.
(16% 상승후 하락반전하여 재상승하는 경우 가정함)
(트레일스탑 22%, 손절 9%)
만약, 시초가 대비 16% 상승 못하면 매수 안함.
2) 9:30 이후
시초가 대비 16% 상승한 가격에 매수하여
트레일스탑 15%, 손절 15%
가능하겠읍니까?