커뮤니티
식 부탁.
2011-06-22 17:19:04
602
글번호 40054
if sTime==100000 Then{
Var1=H;
Var2=data3(H);
}
if sTime==103000 Then{
Var3=H;
Var4=data3(H);
}
If Data3(c)>var2 and Data3(c)>var4 and stime>103000 Then{
var5=BarIndex;
Var6=sDate;
}
If Data3(sDate!=sDate[1]) Then
cond3=False;
If data3(sTime>103000 and sTime<=120000 and c<2.0 and BarIndex>=Var5) and sDate==Var6 Then
cond3=True;
If MarketPosition() == 0 and count<1 and stime>103000 and stime<=120000 Then {
If c>1.5 and c<=2.0 and c>Var1 and c>Var3 and c>o Then {
If c<data2(c) and c<data3(c) and cond3==False Then
buy("매수",onclose,DEF,2);
}
}
---------------------------------------------------------------------------------
위 식에서 data3(c)가 20만원을 상회한 적이 없었는데도 매수진입이 발생하는데 무엇
이 잘못된 것인지 답글 부탁드립니다.
답변 1
예스스탁 예스스탁 답변
2011-06-23 14:18:04
안녕하세요
예스스탁입니다.
var5와 var6이 특별한 제어가 없어 해당시간이후에
조건만 만족하면 값이 갱신되므로
최초 한번만 저장하도록 하고 수식에 사용되는
내부변수를 각 주기를 쫒아가도록 변경했습니다.
주석을 참고하시기 바랍니다.
var : cond3(false,data3),cond4(false,data3);
var : D1H1(0,data1),D1H2(0,data1),D3H1(0,data3),D3H2(0,data3);
#data3의 첫봉에 각변수 false로 초기화
If Data3(sDate!=sDate[1]) Then{
cond3 = False;
cond4 = False;
}
#data1기준 10시 10시30분 고가 저장
if data1(sTime==100000) Then
D1H1=data1(H);
if data1(sTime==103000) Then
D1H2=data1(H);
#data3기준 10시 10시30분 고가 저장
if data3(sTime==100000) Then
D3H1 =data3(H);
if data3(sTime==103000) Then
D3H2 = data3(H);
#data3-10시 30분이후 종가가 10시와 10시 30분 고가보다 큰봉 나오면 cond4 true
If Data3(c > D3H1 and c > D3H2 and stime>103000) and Cond4 == false Then
Cond4 = true;
# cond4가 ture이고 12시이전에 종가가 2.0보다 큰봉이 나오면 cond3은 true
if Cond4 == true and data3(stime <= 120000 and C >= 2.0) Then
cond3 = true;
If MarketPosition == 0 and count<1 and data1(stime>103000 and stime<=120000) Then {
If data1(c>1.5 and c<=2.0 and c>D1H1 and c > D1H2 and c > o) Then {
If c<data2(c) and c<data3(c) and cond3==true Then #cond3 true일때 다른조건 만족하면 진입
buy("매수",onclose,DEF,2);
}
}
즐거운 하루되세요
> 송사범 님이 쓴 글입니다.
> 제목 : 식 부탁.
> if sTime==100000 Then{
Var1=H;
Var2=data3(H);
}
if sTime==103000 Then{
Var3=H;
Var4=data3(H);
}
If Data3(c)>var2 and Data3(c)>var4 and stime>103000 Then{
var5=BarIndex;
Var6=sDate;
}
If Data3(sDate!=sDate[1]) Then
cond3=False;
If data3(sTime>103000 and sTime<=120000 and c<2.0 and BarIndex>=Var5) and sDate==Var6 Then
cond3=True;
If MarketPosition() == 0 and count<1 and stime>103000 and stime<=120000 Then {
If c>1.5 and c<=2.0 and c>Var1 and c>Var3 and c>o Then {
If c<data2(c) and c<data3(c) and cond3==False Then
buy("매수",onclose,DEF,2);
}
}
---------------------------------------------------------------------------------
위 식에서 data3(c)가 20만원을 상회한 적이 없었는데도 매수진입이 발생하는데 무엇
이 잘못된 것인지 답글 부탁드립니다.
다음글
이전글