커뮤니티
추가로 문의 드려요
2014-06-23 16:36:03
145
글번호 76046
소중한 답변 감사합니다. 시뮬레이션챠트적용이 않되어 문의 드립니다.왕초보라서 기초적인 것 질문해도 부탁드려요.
[1번질문]
at limit 주문에서는 시뮬레이션이 잘 되는데 on close주문식에서는 시뮬레이션 결과치가 기간을 늘려도 하나도 않나와요 수식에 무슨 문제가 있나요.. 충분히 발생하는 수식인데요..그냥 복사 붙여넣기 했는데요..
buy("b");는 on close 매수진입 한계약이라는 뜻이지요
var : cnt(0),count(0);
count = 0;
for cnt = 0 to 20{
if sdate == EntryDate(cnt) Then
count = count+1;
}
if stime < 93000 Then{
var1 = dayhigh;
var2 = daylow;
Condition1 = false;
Condition2 = false;
}
if stime >= 93000 and stime < 110000 Then{
if crossup(H,var1) Then
Condition1 = true;
if count < 1 and Condition1 == true and CrossDown(c,(var1+var2)/1) Then
buy("b");
if crossdown(L,var2) Then
Condition2 = true;
if count < 1 and Condition2 == true and Crossup(c,(var1+var2)/1) Then
sell("s");
}
SetStopProfittarget(3,PointStop);
SetStopLoss(3,PointStop);
SetStopEndofday(145000);
비교) at limit 진입식
var : cnt(0),count(0);
count = 0;
for cnt = 0 to 20{
if sdate == EntryDate(cnt) Then
count = count+1;
}
if stime < 93000 Then{
var1 = dayhigh;
var2 = daylow;
Condition1 = false;
Condition2 = false;
}
if stime >= 93000 and stime < 110000 Then{
if crossup(H,var1) Then
Condition1 = true;
if count < 1 and Condition1 == true Then
buy("b",atlimit,(var1+var2)/2);
if crossdown(L,var2) Then
Condition2 = true;
if count < 1 and Condition2 == true Then
sell("s",atlimit,(var1+var2)/2);
}
SetStopProfittarget(3,PointStop);
SetStopLoss(3,PointStop);
SetStopEndofday(145000);
[2번째 질문]
9시30분 진입으로 되어 있어서 시뮬레이션이 않되나요.(if stime == 090300) 않되네요
시간지정이니까 당연히 하루 한번 진입이겠죠...아랫것 복사 붙여넣기 했어요
DayClose(1)하고 DayClose[1] 하고 같나요 하루전치 종가잖아요.. 한봉전은 대괄호 쓴다고 하셨던 같아서요
if date != date[1] then 이 수식표현은 무슨 의미가 있나요,, 오늘과 어제가 다르다는 것인가요 날짜가 바뀌었다..여기서는 대괄호네요.
if date != date[1] then{
Condition1 = false;
Condition2 = false;
}
if stime < 93000 Then{
var1 = dayhigh;
var2 = daylow;
#종가가 상단대비 1/3이상 내려간적이 있으면 true
If C < var1-(var1-var2)*(1/3) Then
Condition1 = true;
#종가가 g하단대비 1/3이상 올라간적이 있으면 true
If C > var2+(var1-var2)*(1/3) Then
Condition2 = true;
}
if stime == 090300 and Condition1 == false and
dayopen >= DayClose(1)+PriceScale*10 and
dayopen <= DayClose(1)+PriceScale*20 and
C > dayopen then
buy("b");
if stime == 090300 and Condition2 == false and
dayopen <= DayClose(1)-PriceScale*5 and
C < dayopen then
sell("s");
답변 1
예스스탁 예스스탁 답변
2014-06-23 18:35:02
안녕하세요
예스스탁입니다.
죄송합니다. 수식에 잘못 기입된 부분이 있었습니다.
아래식들 적용하시면 됩니다.
1.
var : cnt(0),count(0);
count = 0;
for cnt = 0 to 20{
if sdate == EntryDate(cnt) Then
count = count+1;
}
if stime < 93000 Then{
var1 = dayhigh;
var2 = daylow;
Condition1 = false;
Condition2 = false;
}
if stime >= 93000 and stime < 110000 Then{
if crossup(H,var1) Then
Condition1 = true;
if count < 1 and Condition1 == true and CrossDown(c,(var1+var2)/2) Then
buy("b");
if crossdown(L,var2) Then
Condition2 = true;
if count < 1 and Condition2 == true and Crossup(c,(var1+var2)/2) Then
sell("s");
}
SetStopProfittarget(3,PointStop);
SetStopLoss(3,PointStop);
SetStopEndofday(145000);
2.
if date != date[1] then{
Condition1 = false;
Condition2 = false;
}
if stime < 93000 Then{
var1 = dayhigh;
var2 = daylow;
#종가가 상단대비 1/3이상 내려간적이 있으면 true
If C < var1-(var1-var2)*(1/3) Then
Condition1 = true;
#종가가 g하단대비 1/3이상 올라간적이 있으면 true
If C > var2+(var1-var2)*(1/3) Then
Condition2 = true;
}
if stime == 093000 and Condition1 == false and
dayopen >= DayClose(1)+PriceScale*10 and
dayopen <= DayClose(1)+PriceScale*20 and
C > dayopen then
buy("b");
if stime == 093000 and Condition2 == false and
dayopen <= DayClose(1)-PriceScale*5 and
C < dayopen then
sell("s");
3.
[]은 한봉전 두봉전과 같이 이전봉의 값을 가져올때 사용됩니다.
date != date[1] 한봉전 날짜와 현재봉 날짜가 다르다는 내용으로 하루의 첫봉의 나타냅니다.
dayclose는 ma(c,5)와 같은 함수입니다.
함수의 매개변수는 ()안에 넣습니다.
dayclose함수는 매개별수로 1을 지정하면 전일,
dayclose(2)먼 전전일 값을 가져오게 설계된 함수입니다.
dayclose[1]은 dayclose(0)[1]에서 (0)이 생략된 형태로
분봉이하에서 현재봉 기준이 아닌 1봉전 기준으로 당일 종가를 가져오라는 내용이 됩니다.
이용에 참고하시기 바랍니다.
즐거운 하루되세요
> 수익플러스 님이 쓴 글입니다.
> 제목 : 추가로 문의 드려요
> 소중한 답변 감사합니다. 시뮬레이션챠트적용이 않되어 문의 드립니다.왕초보라서 기초적인 것 질문해도 부탁드려요.
[1번질문]
at limit 주문에서는 시뮬레이션이 잘 되는데 on close주문식에서는 시뮬레이션 결과치가 기간을 늘려도 하나도 않나와요 수식에 무슨 문제가 있나요.. 충분히 발생하는 수식인데요..그냥 복사 붙여넣기 했는데요..
buy("b");는 on close 매수진입 한계약이라는 뜻이지요
var : cnt(0),count(0);
count = 0;
for cnt = 0 to 20{
if sdate == EntryDate(cnt) Then
count = count+1;
}
if stime < 93000 Then{
var1 = dayhigh;
var2 = daylow;
Condition1 = false;
Condition2 = false;
}
if stime >= 93000 and stime < 110000 Then{
if crossup(H,var1) Then
Condition1 = true;
if count < 1 and Condition1 == true and CrossDown(c,(var1+var2)/1) Then
buy("b");
if crossdown(L,var2) Then
Condition2 = true;
if count < 1 and Condition2 == true and Crossup(c,(var1+var2)/1) Then
sell("s");
}
SetStopProfittarget(3,PointStop);
SetStopLoss(3,PointStop);
SetStopEndofday(145000);
비교) at limit 진입식
var : cnt(0),count(0);
count = 0;
for cnt = 0 to 20{
if sdate == EntryDate(cnt) Then
count = count+1;
}
if stime < 93000 Then{
var1 = dayhigh;
var2 = daylow;
Condition1 = false;
Condition2 = false;
}
if stime >= 93000 and stime < 110000 Then{
if crossup(H,var1) Then
Condition1 = true;
if count < 1 and Condition1 == true Then
buy("b",atlimit,(var1+var2)/2);
if crossdown(L,var2) Then
Condition2 = true;
if count < 1 and Condition2 == true Then
sell("s",atlimit,(var1+var2)/2);
}
SetStopProfittarget(3,PointStop);
SetStopLoss(3,PointStop);
SetStopEndofday(145000);
[2번째 질문]
9시30분 진입으로 되어 있어서 시뮬레이션이 않되나요.(if stime == 090300) 않되네요
시간지정이니까 당연히 하루 한번 진입이겠죠...아랫것 복사 붙여넣기 했어요
DayClose(1)하고 DayClose[1] 하고 같나요 하루전치 종가잖아요.. 한봉전은 대괄호 쓴다고 하셨던 같아서요
if date != date[1] then 이 수식표현은 무슨 의미가 있나요,, 오늘과 어제가 다르다는 것인가요 날짜가 바뀌었다..여기서는 대괄호네요.
if date != date[1] then{
Condition1 = false;
Condition2 = false;
}
if stime < 93000 Then{
var1 = dayhigh;
var2 = daylow;
#종가가 상단대비 1/3이상 내려간적이 있으면 true
If C < var1-(var1-var2)*(1/3) Then
Condition1 = true;
#종가가 g하단대비 1/3이상 올라간적이 있으면 true
If C > var2+(var1-var2)*(1/3) Then
Condition2 = true;
}
if stime == 090300 and Condition1 == false and
dayopen >= DayClose(1)+PriceScale*10 and
dayopen <= DayClose(1)+PriceScale*20 and
C > dayopen then
buy("b");
if stime == 090300 and Condition2 == false and
dayopen <= DayClose(1)-PriceScale*5 and
C < dayopen then
sell("s");