커뮤니티
수식 검토 부탁드립니다
2016-01-22 14:40:47
186
글번호 94709
안녕하세요 수고많으십니다
시가 기준하여 1포인트간격으로 5등분선 만들고 한구간에서 3번이상 매매하면 손실청산이던
이익청산이던 그 구간에서는 더이상 매매하지 않고 다음 구간으로 현재가가 상승하거나
하락할 때 매매하는 수식을 다음과 같이 만들었습니다
그런데 시물레이션을 해보니까 첨부된 그림과 같이 3번이상 되었는데도 신호가 나옵니다 무엇이 잘못되었는지 검토부탁드립니다
--수식--
input : Entry(3);
var : cnt(0);
var : upcnt1(0),upcnt2(0),dncnt1(0),dncnt2(0);
value1 = ma(C, 5);
value2 = ma(C, 20);
#각 구간별 진입횟수 카운트
upcnt1 = 0;
upcnt2 = 0;
dncnt1 = 0;
dncnt2 = 0;
for cnt = 0 to 100{
if sdate == EntryDate(cnt) Then
{
if EntryPrice(cnt) >= dayopen and EntryPrice(cnt) < dayopen+1 Then
upcnt1 = upcnt1+1;
if EntryPrice(cnt) >= dayopen+1 and EntryPrice(cnt) < dayopen+2 Then
upcnt2 = upcnt2+1;
if EntryPrice(cnt) < dayopen and EntryPrice(cnt) > dayopen-1 Then
dncnt1 = dncnt1+1;
if EntryPrice(cnt) <= dayopen-1 and EntryPrice(cnt) < dayopen-2 Then
dncnt2 = dncnt2+1;
}
}
if CrossUP(value1, value2) Then{
if c >= dayopen and c < dayopen+1 and upcnt1 < Entry Then
buy("b1");
if c >= dayopen+1 and c < dayopen+2 and upcnt2 < Entry Then
buy("b2");
if c < dayopen and c >= dayopen-1 and dncnt1 < Entry Then
buy("b3");
if c <= dayopen-1 and c < dayopen+2 and dncnt2 < Entry Then
buy("b4");
}
if CrossDown(value1, value2) Then{
if c >= dayopen and c < dayopen+1 and upcnt1 < Entry Then
sell("s1");
if c >= dayopen+1 and c < dayopen+2 and upcnt2 < Entry Then
sell("s2");
if c < dayopen and c >= dayopen-1 and dncnt1 < Entry Then
sell("s3");
if c <= dayopen-1 and c < dayopen+2 and dncnt2 < Entry Then
sell("s4");
}
- 1. 구간.PNG (0.02 MB)
답변 1
예스스탁 예스스탁 답변
2016-01-25 14:13:34
안녕하세요
예스스탁입니다.
-1~-2사이의 조건식이 잘못되어 수정했습니다.
input : Entry(3);
var : cnt(0);
var : upcnt1(0),upcnt2(0),dncnt1(0),dncnt2(0);
value1 = ma(C, 5);
value2 = ma(C, 20);
#각 구간별 진입횟수 카운트
upcnt1 = 0;
upcnt2 = 0;
dncnt1 = 0;
dncnt2 = 0;
for cnt = 0 to 100{
if sdate == EntryDate(cnt) Then
{
if EntryPrice(cnt) >= dayopen and EntryPrice(cnt) < dayopen+1 Then
upcnt1 = upcnt1+1;
if EntryPrice(cnt) >= dayopen+1 and EntryPrice(cnt) < dayopen+2 Then
upcnt2 = upcnt2+1;
if EntryPrice(cnt) < dayopen and EntryPrice(cnt) > dayopen-1 Then
dncnt1 = dncnt1+1;
if EntryPrice(cnt) <= dayopen-1 and EntryPrice(cnt) > dayopen-2 Then
dncnt2 = dncnt2+1;
}
}
if CrossUP(value1, value2) Then{
if c >= dayopen and c < dayopen+1 and upcnt1 < Entry Then
buy("b1");
if c >= dayopen+1 and c < dayopen+2 and upcnt2 < Entry Then
buy("b2");
if c < dayopen and c > dayopen-1 and dncnt1 < Entry Then
buy("b3");
if c <= dayopen-1 and c > dayopen+2 and dncnt2 < Entry Then
buy("b4");
}
if CrossDown(value1, value2) Then{
if c >= dayopen and c < dayopen+1 and upcnt1 < Entry Then
sell("s1");
if c >= dayopen+1 and c < dayopen+2 and upcnt2 < Entry Then
sell("s2");
if c < dayopen and c > dayopen-1 and dncnt1 < Entry Then
sell("s3");
if c <= dayopen-1 and c > dayopen+2 and dncnt2 < Entry Then
sell("s4");
}
즐거운 하루되세요
> bigdeal 님이 쓴 글입니다.
> 제목 : 수식 검토 부탁드립니다
> 안녕하세요 수고많으십니다
시가 기준하여 1포인트간격으로 5등분선 만들고 한구간에서 3번이상 매매하면 손실청산이던
이익청산이던 그 구간에서는 더이상 매매하지 않고 다음 구간으로 현재가가 상승하거나
하락할 때 매매하는 수식을 다음과 같이 만들었습니다
그런데 시물레이션을 해보니까 첨부된 그림과 같이 3번이상 되었는데도 신호가 나옵니다 무엇이 잘못되었는지 검토부탁드립니다
--수식--
input : Entry(3);
var : cnt(0);
var : upcnt1(0),upcnt2(0),dncnt1(0),dncnt2(0);
value1 = ma(C, 5);
value2 = ma(C, 20);
#각 구간별 진입횟수 카운트
upcnt1 = 0;
upcnt2 = 0;
dncnt1 = 0;
dncnt2 = 0;
for cnt = 0 to 100{
if sdate == EntryDate(cnt) Then
{
if EntryPrice(cnt) >= dayopen and EntryPrice(cnt) < dayopen+1 Then
upcnt1 = upcnt1+1;
if EntryPrice(cnt) >= dayopen+1 and EntryPrice(cnt) < dayopen+2 Then
upcnt2 = upcnt2+1;
if EntryPrice(cnt) < dayopen and EntryPrice(cnt) > dayopen-1 Then
dncnt1 = dncnt1+1;
if EntryPrice(cnt) <= dayopen-1 and EntryPrice(cnt) < dayopen-2 Then
dncnt2 = dncnt2+1;
}
}
if CrossUP(value1, value2) Then{
if c >= dayopen and c < dayopen+1 and upcnt1 < Entry Then
buy("b1");
if c >= dayopen+1 and c < dayopen+2 and upcnt2 < Entry Then
buy("b2");
if c < dayopen and c >= dayopen-1 and dncnt1 < Entry Then
buy("b3");
if c <= dayopen-1 and c < dayopen+2 and dncnt2 < Entry Then
buy("b4");
}
if CrossDown(value1, value2) Then{
if c >= dayopen and c < dayopen+1 and upcnt1 < Entry Then
sell("s1");
if c >= dayopen+1 and c < dayopen+2 and upcnt2 < Entry Then
sell("s2");
if c < dayopen and c >= dayopen-1 and dncnt1 < Entry Then
sell("s3");
if c <= dayopen-1 and c < dayopen+2 and dncnt2 < Entry Then
sell("s4");
}