커뮤니티
수식 부탁드려요^^
2010-09-19 23:52:14
791
글번호 32428
즐거운 한가위 되세요~~^^
질문있어요
스토캐스틱(12.5.5) 교차매매에서 분봉매매
1. "매수1"이란 포지션이있는데 (isentryname 매수1) 매도신호때조건1이면
data2주기의 매도신호까지 끌고가려합니다
목표수익률 1.5p 손절은 0.5p
1p 수익후 0.5p떨어지면 청산 (끌고가던중 이런조건이면 청산)
2. "매도1"이란 포지션이있는데 매수신호때 조건1이면 data2주기의 매도신호까지..
나머지 조건은 다 같구요 목표수익률만 매도땐 2p로 하려합니다
잘 부탁드려욤^^
답변 3
예스스탁 예스스탁 답변
2010-09-20 16:16:17
안녕하세요? 예스스탁입니다.
문의하신 내용 답변드립니다.
var1 = StochasticsK(12,5);
var2 = StochasticsD(12,5,5);
if CrossUp(var1, var2) Then
buy("매수1");
if IsEntryName("매수1") then {
if 조건1 Then {
if data2의 청산조건 Then
exitlong();
}
else {
exitlong("매수손절", atstop, EntryPrice-0.5);
ExitLong("매수익절", atlimit,EntryPrice+1.5);
if Highest(H,BarsSinceEntry+1) > EntryPrice + 1 then
ExitLong("매수추적",atstop, Highest(H,BarsSinceEntry+1)-0.5);
}
if CrossDown(var1, var2) Then
sell("매도1");
if IsEntryName("매도1") then {
if 조건1 Then {
if data2의 청산조건 Then
exitshort();
}
else {
exitshort("매도손절", atstop, EntryPrice+0.5);
exitshort("매도익절", atlimit,EntryPrice-1.5);
if Lowest(L,BarsSinceEntry+1) < EntryPrice - 1 then
exitshort("매도추적",atstop, Lowest(L,BarsSinceEntry+1)+0.5);
}
> 노래70 님이 쓴 글입니다.
> 제목 : 수식 부탁드려요^^
> 즐거운 한가위 되세요~~^^
질문있어요
스토캐스틱(12.5.5) 교차매매에서 분봉매매
1. "매수1"이란 포지션이있는데 (isentryname 매수1) 매도신호때조건1이면
data2주기의 매도신호까지 끌고가려합니다
목표수익률 1.5p 손절은 0.5p
1p 수익후 0.5p떨어지면 청산 (끌고가던중 이런조건이면 청산)
2. "매도1"이란 포지션이있는데 매수신호때 조건1이면 data2주기의 매도신호까지..
나머지 조건은 다 같구요 목표수익률만 매도땐 2p로 하려합니다
잘 부탁드려욤^^
모모아찌
2010-09-20 16:57:04
읽다가 궁금한점이 있어서..질문드려요^^
아래서 매수손절.매수익절.매수추적부분을
setstoploss, setstopfrofittaget, setstoptrailing, 으로 할수도 있나요??
그리고 { } 괄호가 else위에 } 하나가 더 들어가야하는거죠? 괄호갯수가안맞아요^^
{ }괄호는 연속두번사용해도 되는건가요??
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 수식 부탁드려요^^
> 안녕하세요? 예스스탁입니다.
문의하신 내용 답변드립니다.
var1 = StochasticsK(12,5);
var2 = StochasticsD(12,5,5);
if CrossUp(var1, var2) Then
buy("매수1");
if IsEntryName("매수1") then {
if 조건1 Then {
if data2의 청산조건 Then
exitlong();
}
else {
exitlong("매수손절", atstop, EntryPrice-0.5);
ExitLong("매수익절", atlimit,EntryPrice+1.5);
if Highest(H,BarsSinceEntry+1) > EntryPrice + 1 then
ExitLong("매수추적",atstop, Highest(H,BarsSinceEntry+1)-0.5);
}
if CrossDown(var1, var2) Then
sell("매도1");
if IsEntryName("매도1") then {
if 조건1 Then {
if data2의 청산조건 Then
exitshort();
}
else {
exitshort("매도손절", atstop, EntryPrice+0.5);
exitshort("매도익절", atlimit,EntryPrice-1.5);
if Lowest(L,BarsSinceEntry+1) < EntryPrice - 1 then
exitshort("매도추적",atstop, Lowest(L,BarsSinceEntry+1)+0.5);
}
> 노래70 님이 쓴 글입니다.
> 제목 : 수식 부탁드려요^^
> 즐거운 한가위 되세요~~^^
질문있어요
스토캐스틱(12.5.5) 교차매매에서 분봉매매
1. "매수1"이란 포지션이있는데 (isentryname 매수1) 매도신호때조건1이면
data2주기의 매도신호까지 끌고가려합니다
목표수익률 1.5p 손절은 0.5p
1p 수익후 0.5p떨어지면 청산 (끌고가던중 이런조건이면 청산)
2. "매도1"이란 포지션이있는데 매수신호때 조건1이면 data2주기의 매도신호까지..
나머지 조건은 다 같구요 목표수익률만 매도땐 2p로 하려합니다
잘 부탁드려욤^^
예스스탁 예스스탁 답변
2010-09-20 17:56:25
추가 답변드립니다.
setstoploss, setstopfrofittaget, setstoptrailing를 이용해서 작성하실 수도 있지만, 답변드린 내용에 이 내용으로 교체하여 작성할 경우 원하는 신호가 나오지 않습니다.
위 set구문은 if ~ then 문장에 종속되어 그 문장에 해당될 경우만 적용되는 것이 아니라 그 조건에 만족하면 그때부터 set~관련 함수를 가동시킨다는 "가동시작조건"으로 셋팅됩니다.
따라서 if문의 조건을 만족하지 않으면 set~문장이 가동되지 않도록 초기화를 시켜주어야 하는데, 그렇게 작성할 경우 식이 복잡해지고 전략 작성에 실수를 하는 요인이 됩니다. 따라서 조건에 따라서 다르게 적용된다면 답변드린 것처럼 작성하는 것이 좋고, 조건에 상관없이 항상 동일하게 손절스탑과 목표수익 스탑이 적용된다면 위의 set~함수를 사용하는 것이 좋습니다.
다만, setstoptrailing함수의 경우 자기봉의 고가와 저가를 이용해서 추적청산을 하기 때문에 시뮬레이션과 실제매매에서 오차가 발생되는 경우도 생깁니다.(예를들어 0.05포인트 수익이후에 고가대비 0.05포인트 하락하면 청산하도록 하는 것과 같이 아주 작은 값을 사용하면 오차가 더 크게 발생하며 2포인트 수익이후 고가대비 1포인트 하락하면 청산 처럼 큰 값을 사용하면 오차가 작게 발생합니다. )
setstoptrailing의 이와 같은 문제를 피하기 위해서 일반적으는 이 강제청산 함수는 사용하지 않으며 atr지표를 이용한 추적청산과 같은 방법을 이용합니다.답변드린 내용과 유사한데, 다음과 같은 방법으로 작성합니다.
if marketposition == 1 then
ExitLong("매수추적",atstop, Highest(H,BarsSinceEntry+1)-ATR(30)*4);
if marketposition == -1 then
Exitshort("매도추적",atstop, Lowest(L,BarsSinceEntry+1)+ATR(30)*4);
감사합니다.
> 모모아찌 님이 쓴 글입니다.
> 제목 : Re : Re : 수식 부탁드려요^^
> 읽다가 궁금한점이 있어서..질문드려요^^
아래서 매수손절.매수익절.매수추적부분을
setstoploss, setstopfrofittaget, setstoptrailing, 으로 할수도 있나요??
그리고 { } 괄호가 else위에 } 하나가 더 들어가야하는거죠? 괄호갯수가안맞아요^^
{ }괄호는 연속두번사용해도 되는건가요??
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 수식 부탁드려요^^
> 안녕하세요? 예스스탁입니다.
문의하신 내용 답변드립니다.
var1 = StochasticsK(12,5);
var2 = StochasticsD(12,5,5);
if CrossUp(var1, var2) Then
buy("매수1");
if IsEntryName("매수1") then {
if 조건1 Then {
if data2의 청산조건 Then
exitlong();
}
else {
exitlong("매수손절", atstop, EntryPrice-0.5);
ExitLong("매수익절", atlimit,EntryPrice+1.5);
if Highest(H,BarsSinceEntry+1) > EntryPrice + 1 then
ExitLong("매수추적",atstop, Highest(H,BarsSinceEntry+1)-0.5);
}
if CrossDown(var1, var2) Then
sell("매도1");
if IsEntryName("매도1") then {
if 조건1 Then {
if data2의 청산조건 Then
exitshort();
}
else {
exitshort("매도손절", atstop, EntryPrice+0.5);
exitshort("매도익절", atlimit,EntryPrice-1.5);
if Lowest(L,BarsSinceEntry+1) < EntryPrice - 1 then
exitshort("매도추적",atstop, Lowest(L,BarsSinceEntry+1)+0.5);
}
> 노래70 님이 쓴 글입니다.
> 제목 : 수식 부탁드려요^^
> 즐거운 한가위 되세요~~^^
질문있어요
스토캐스틱(12.5.5) 교차매매에서 분봉매매
1. "매수1"이란 포지션이있는데 (isentryname 매수1) 매도신호때조건1이면
data2주기의 매도신호까지 끌고가려합니다
목표수익률 1.5p 손절은 0.5p
1p 수익후 0.5p떨어지면 청산 (끌고가던중 이런조건이면 청산)
2. "매도1"이란 포지션이있는데 매수신호때 조건1이면 data2주기의 매도신호까지..
나머지 조건은 다 같구요 목표수익률만 매도땐 2p로 하려합니다
잘 부탁드려욤^^