커뮤니티
시스템 수식 도움좀 부탁드려요..ㅠ
2014-03-17 20:27:33
233
글번호 73568
시스템수식 문의드립니다.
아래수식과 차트그림 참조부탁드려요
첫번째가 시스템수식이구요
두번째가 차트의 빨간선 수식이구요
세번째가 차트의 파란선 수식입니다.
시스템은 신호는 저가가 빨간선보다 아래를 찍었을 때 매수해라
고가가 파란선 보다 높이 찍었을때 매도해라 입니다.
질문드립니다.
1. 첨부차트에 동그라미에서 신호가 왜 나오나요??
시뮬레이션 돌려보면 신호가 잘 나오다가 이상한데서 가끔 신호가 나오는데요
뭐가 잘못된건지 의문입니다.
2. 현재 수식은 키움증권의 수식을 예스에 맞게 변경한건데
키움의 빨간선 파란선과 다소 다르게 나타 납니다.
똑같이 나타나게 할수 없나요?
스토케스틱k가 10을 크로스업한 이후에 5일 이평선의 최저가를 표시한겁니다.
반대로 매도는 90을 크로스다운한 이후에 5일 이평선의 최고가 입니다.
3. 본수식을 빨간선이 쭉 나오면 같은 수치의 빨간선에서는 매수를 딱 한번만 하게 만들고 싶습니다.
파란선도 마찬가지로 같은 수치의 파란선에서는 매도 딱 한번만 하게 만들고싶습니다.
선의 수치가 바뀌면 다시 그선에서는 매매 1번만 하게 수정하고 싶습니다.
######시스템수식############
input : mav(5),Period1(10),Period2(4);
var1 = AccumN(C-lowest(L,Period1),Period2)/AccumN((highest(H,Period1)-lowest(L,Period1)),Period2)* 100;
var2 = ma(c,mav);
//매수
if crossup(var1,10) Then
value1 = var2;
if var2 < value1 Then
value1 = var2;
if MarketPosition <= 0 and L > value1 Then
buy("매수",Atlimit,value1);
//매도
if CrossDown(var1,90) Then
value2 = var2;
if var2 > value2 Then
value2 = var2;
if MarketPosition >= 0 and H < value2 Then
Sell("매도",Atlimit,value2);
//청산
SetStopLoss(0.6,PointStop);
SetStopProfittarget(1.1, PointStop); //수익목표
SetStopEndofday(150300); //당일청산
if MarketPosition == 1 and highest(H,BarsSinceEntry) >= EntryPrice+0.65 Then
ExitLong("매수추적스탑",AtStop,highest(h,BarsSinceEntry)-0.3);
if MarketPosition == -1 and Lowest(L,BarsSinceEntry) <= EntryPrice-0.65 Then
ExitShort("매도추적스탑",AtStop,Lowest(L,BarsSinceEntry)+0.3);
####빨간선 지표수식############
input : Period1(10),Period2(4);
var : stok(0),mav(0),aa(0);
stok = AccumN(C-Highest(H,Period1),Period2)/AccumN((Lowest(L,Period1)-Highest(H,Period1)),Period2)* 100;
mav = ma(c,5);
if CrossUp(stok,10) Then
aa = mav;
if mav < aa Then
aa = mav;
if aa < mav Then
plot1(aa);
######파란선지표수식############
input : Period1(10),Period2(4);
var : stok(0),mav(0),aa(0);
stok = AccumN(C-lowest(L,Period1),Period2)/AccumN((highest(H,Period1)-lowest(L,Period1)),Period2)* 100;
mav = ma(c,5);
if CrossDown(stok,90) Then
aa = mav;
if mav > aa Then
aa = mav;
if aa > mav Then
plot1(aa);
- 1. 20140317_185030.png (0.04 MB)
- 2. 20140317_185219.png (0.03 MB)
답변 1
예스스탁 예스스탁 답변
2014-03-18 15:44:19
안녕하세요
예스스탁입니다.
아래와 같이 올려주신 지표식에서 파란색과 빨간색 지표식의 stok계산식이 다릅니다
####빨간선 지표수식############
stok = AccumN(C-Highest(H,Period1),Period2)/AccumN((Lowest(L,Period1)-Highest(H,Period1)),Period2)* 100;
######파란선지표수식############
stok = AccumN(C-lowest(L,Period1),Period2)/AccumN((highest(H,Period1)-lowest(L,Period1)),Period2)* 100;
빨간선과 파란선의 stok계산식이 다른데 키움이면 파란선 계산식이 맞습니다.
시스템에서는 파란선 계산식을 사용하고 있습니다.
빨간선 지표식을 변경하셔야 합니다.
input : Period1(10),Period2(4);
var : stok(0),mav(0),aa(0);
stok = AccumN(C-lowest(L,Period1),Period2)/AccumN((highest(H,Period1)-lowest(L,Period1)),Period2)* 100;
mav = ma(c,5);
if CrossUp(stok,10) Then
aa = mav;
if mav < aa Then
aa = mav;
if aa < mav Then
plot1(aa);
아래는 동일가격에서 한번만 신호가 나오게 처리한 식입니다.
input : mav(5),Period1(10),Period2(4);
var1 = AccumN(C-lowest(L,Period1),Period2)/AccumN((highest(H,Period1)-lowest(L,Period1)),Period2)* 100;
var2 = ma(c,mav);
//매수
if crossup(var1,10) Then
value1 = var2;
if var2 < value1 Then
value1 = var2;
if value1 != value1[1] Then
Condition1 = false;
if MarketPosition == 1 Then
Condition1 = true;
if MarketPosition <= 0 and
L > value1 and
Condition1 == false Then
buy("매수",Atlimit,value1);
//매도
if CrossDown(var1,90) Then
value2 = var2;
if var2 > value2 Then
value2 = var2;
if value2 != value2[1] Then
Condition2 = false;
if MarketPosition == -1 Then
Condition2 = true;
if MarketPosition >= 0 and
H < value2 and
Condition2 == false Then
Sell("매도",Atlimit,value2);
//청산
SetStopLoss(0.6,PointStop);
SetStopProfittarget(1.1, PointStop); //수익목표
SetStopEndofday(150300); //당일청산
if MarketPosition == 1 and highest(H,BarsSinceEntry) >= EntryPrice+0.65 Then
ExitLong("매수추적스탑",AtStop,highest(h,BarsSinceEntry)-0.3);
if MarketPosition == -1 and Lowest(L,BarsSinceEntry) <= EntryPrice-0.65 Then
ExitShort("매도추적스탑",AtStop,Lowest(L,BarsSinceEntry)+0.3);
즐거운 하루되세요
> 수다리 님이 쓴 글입니다.
> 제목 : 시스템 수식 도움좀 부탁드려요..ㅠ
> 시스템수식 문의드립니다.
아래수식과 차트그림 참조부탁드려요
첫번째가 시스템수식이구요
두번째가 차트의 빨간선 수식이구요
세번째가 차트의 파란선 수식입니다.
시스템은 신호는 저가가 빨간선보다 아래를 찍었을 때 매수해라
고가가 파란선 보다 높이 찍었을때 매도해라 입니다.
질문드립니다.
1. 첨부차트에 동그라미에서 신호가 왜 나오나요??
시뮬레이션 돌려보면 신호가 잘 나오다가 이상한데서 가끔 신호가 나오는데요
뭐가 잘못된건지 의문입니다.
2. 현재 수식은 키움증권의 수식을 예스에 맞게 변경한건데
키움의 빨간선 파란선과 다소 다르게 나타 납니다.
똑같이 나타나게 할수 없나요?
스토케스틱k가 10을 크로스업한 이후에 5일 이평선의 최저가를 표시한겁니다.
반대로 매도는 90을 크로스다운한 이후에 5일 이평선의 최고가 입니다.
3. 본수식을 빨간선이 쭉 나오면 같은 수치의 빨간선에서는 매수를 딱 한번만 하게 만들고 싶습니다.
파란선도 마찬가지로 같은 수치의 파란선에서는 매도 딱 한번만 하게 만들고싶습니다.
선의 수치가 바뀌면 다시 그선에서는 매매 1번만 하게 수정하고 싶습니다.
######시스템수식############
input : mav(5),Period1(10),Period2(4);
var1 = AccumN(C-lowest(L,Period1),Period2)/AccumN((highest(H,Period1)-lowest(L,Period1)),Period2)* 100;
var2 = ma(c,mav);
//매수
if crossup(var1,10) Then
value1 = var2;
if var2 < value1 Then
value1 = var2;
if MarketPosition <= 0 and L > value1 Then
buy("매수",Atlimit,value1);
//매도
if CrossDown(var1,90) Then
value2 = var2;
if var2 > value2 Then
value2 = var2;
if MarketPosition >= 0 and H < value2 Then
Sell("매도",Atlimit,value2);
//청산
SetStopLoss(0.6,PointStop);
SetStopProfittarget(1.1, PointStop); //수익목표
SetStopEndofday(150300); //당일청산
if MarketPosition == 1 and highest(H,BarsSinceEntry) >= EntryPrice+0.65 Then
ExitLong("매수추적스탑",AtStop,highest(h,BarsSinceEntry)-0.3);
if MarketPosition == -1 and Lowest(L,BarsSinceEntry) <= EntryPrice-0.65 Then
ExitShort("매도추적스탑",AtStop,Lowest(L,BarsSinceEntry)+0.3);
####빨간선 지표수식############
input : Period1(10),Period2(4);
var : stok(0),mav(0),aa(0);
stok = AccumN(C-Highest(H,Period1),Period2)/AccumN((Lowest(L,Period1)-Highest(H,Period1)),Period2)* 100;
mav = ma(c,5);
if CrossUp(stok,10) Then
aa = mav;
if mav < aa Then
aa = mav;
if aa < mav Then
plot1(aa);
######파란선지표수식############
input : Period1(10),Period2(4);
var : stok(0),mav(0),aa(0);
stok = AccumN(C-lowest(L,Period1),Period2)/AccumN((highest(H,Period1)-lowest(L,Period1)),Period2)* 100;
mav = ma(c,5);
if CrossDown(stok,90) Then
aa = mav;
if mav > aa Then
aa = mav;
if aa > mav Then
plot1(aa);
이전글