커뮤니티
간단한 질문.
2011-08-19 10:44:47
743
글번호 42041
1) 질문
if date <> date[1] then{ value3 = 0 ; }
if data2(dayindex) == 0 then var1 = data2(c) -dayopen ;
if data2(dayindex) == 1 then var2 = data2(c) - data2(c[1]) ;
if data2(dayindex) == 2 then var3 = data2(c) - data2(c[1]) ;
if data2(dayindex) == 3 then var4 = data2(c) - data2(c[1]) ;
if data2(dayindex) == 4 then var5 = data2(c) - data2(c[1]) ;
if data2(dayindex) == 5 then var6 = data2(c) - data2(c[1]) ;
value1 = var1+var2+var3+var4+var5+var6 ;
value2 = abs(var1)+abs(var2)+abs(var3)+abs(var4)+abs(var5)+abs(var6);
value3 = value1 / value2 ;
주챠트 1분봉 참조챠트60분봉을 놓은후 위식을 계산하였습니다.
경우1) 당일챠트(8/18일)만을 띄운후 value3의 값과
경우2) 어제챠트(8월17일) 와 당일 챠트(8월18일) 를 띄운후
8월18일자 value3의 값이 다릅니다.
value3 값이 초기화가 안되네요.
value3 값을 날짜가 바뀔때 초기화된후 위 value1,2,3 수식이 계산되게하려면 어떻게해야하는지요....?
8월 18일자 출력값이 다르게 나오는 것을 그림파일로 첨부합니다.
2) 질문
시초 첫봉에서 조건걸면 atstop 주문 넣으면 두번째 봉에서 시세를 감시하다가
주문이 들어 가는데요 .
시초 첫봉에서도 조건이 만족되면 진입하게 하려면 어떻게 해야 하나요?
예를들어
당일 첫봉에서 저가가 시가-1pt 보다 크고 , 시가 대비 0.5pt 상승하는 시점에 atstop주문이 들어가게 하고 싶은 데요.
위 조건을 걸어주고 만족하면 다음봉 시가에 진입 되곤 합니다.
첫봉에서 조건만 만족하고 정한 시세가 안나오면 정상가격에 진입되지만
요지는 첫봉에서 위 기대치를 만족하고 그 이상의시세가 크게 발생할때도 있는데
그럼 다음봉 시가 진입시 기대 진입가와 실체 체결 슬리피지 손실이 크기때문에
첫봉에서도 진입 방법을 여쭈어 봅니다.
3)
파라볼릭 지표는 스토캐스틱 처럼 갭보정이 될수 있나요?
될수 있으면 수식좀 가르쳐 주세요.
그림파일 업로드했는데 왜...x박스가 뜰까요...
답변 1
예스스탁 예스스탁 답변
2011-08-19 14:30:30
안녕하세요
예스스탁입니다.
1.
특정변수에 조건이 만족하여 값을 할당한후
다음에 조건이 충족되어 다시 할당되기 전까지는 계속
그값을 가지고 있습니다.
예를 들어
var3은 data2의 세번째 봉일때 값을 저장하는데
아직 data2에서 당일 3번째 봉이 완성되지 않았다면
var3에는 전일값이 담겨져 있습니다
아래 간단한 식으로 확인할수 있습니다.
if data2(dayindex) == 2 then var3 = data2(c) - data2(c[1]) ;
plot1(var3);
if date <> date[1] then{ value3 = 0 ; }
은 단지 날짜가 변경되면 value3값을 0으로 만드는 것이지
다른 값들을 초기화하는 것은 아닙니다.
var1~var6 값을 날짜가 변경될때 0으로 초기화하셔야 합니다.
if date <> date[1] then{
var1 = 0;
var2 = 0;
var3 = 0;
var4 = 0;
var5 = 0;
var6 = 0;
}
if data2(dayindex) == 0 then var1 = data2(c) -dayopen ;
if data2(dayindex) == 1 then var2 = data2(c) - data2(c[1]) ;
if data2(dayindex) == 2 then var3 = data2(c) - data2(c[1]) ;
if data2(dayindex) == 3 then var4 = data2(c) - data2(c[1]) ;
if data2(dayindex) == 4 then var5 = data2(c) - data2(c[1]) ;
if data2(dayindex) == 5 then var6 = data2(c) - data2(c[1]) ;
value1 = var1+var2+var3+var4+var5+var6 ;
value2 = abs(var1)+abs(var2)+abs(var3)+abs(var4)+abs(var5)+abs(var6);
value3 = value1 / value2 ;
2.
문의하신 내용으로라면 첫봉 미완성시에 신호를 낼 방법이 없습니다.
첫봉의 저가가 시가대비 -1이상보다 크다라는 조건은 if문으로만 작성이되고
봉완성시이기 때문에 작성이 가능하지 않습니다.
단지 위 내용을 제외하고 시가대비 0.5 상승할때 첫봉에서의 신호는
아래와 같이 작성하시면 됩니다.
#첫봉에 신호를 내기위한 식(전일마지막봉에 if를 걸어 다음봉을 감시하고 nextbaropen을 사용)
if stime == 151500 then
buy("b",atstop,nextbaropen+0.5);
#두번째봉부터 신호
if marketposition == 0 then
buy("b",atstop,nextbaropen+0.5);
3.
갭보정 파라볼릭식입니다.
Input : AF(0.02), AFMAX(0.2);
Var : Direction(0), SAR_Value(Close), AF_Value(.02), HighValue(h), LowValue(l), EP(0);
var : gap(0),sumgap(0),GO(0),GH(0),GL(0),GC(0),sarv(0);
if date!=date[1] then { // 날짜가 변경되는 봉에서(분봉에서 첫번째 봉)
gap = Open-Close[1]; // 일간갭
sumGap = sumGap+gap; // 일간갭 누적
}
GO = O - sumGap;// 갭보정 시가
GH = H - sumGap;// 갭보정 고가
GL = L - sumGap;// 갭보정 저가
GC = C - sumGap; // 갭보정 종가
if EP != 0 Then
{
if Direction == 1 then
{
EP = HighValue;
SAR_Value = SAR_Value + AF_Value * (EP - SAR_Value);
if gh > HighValue then
{
HighValue = gh;
AF_Value = AF_Value + AF;
if AF_Value >= AFMAX then AF_Value = AFMAX;
}
if gl < SAR_Value then
{
Direction = -1;
SAR_Value = EP;
AF_Value = 0;
EP = 0;
LowValue = gl;
}
}
else
{
EP = LowValue;
SAR_Value = SAR_Value + AF_Value * (EP - SAR_Value);
if gl < LowValue then
{
LowValue = gl;
AF_Value = AF_Value + Af;
if AF_Value >= AFMAX then AF_Value = AFMAX;
}
if gh > SAR_Value then
{
Direction = 1;
SAR_Value = EP;
AF_Value = 0;
EP = 0;
HighValue = gh;
}
}
Sarv = SAR_Value;
}
else
{
if SAR_Value != 0 && EP == 0 then
{
if Direction == 1 then
{
EP = HighValue;
AF_Value = AF;
SAR_Value = SAR_Value + AF_Value * (EP - SAR_Value);
if gh > HighValue then
{
HighValue = gh;
AF_Value = AF_Value + AF;
if AF_Value >= AFMAX then AF_Value = AFMAX;
}
}
else
{
EP = LowValue;
AF_Value = Af;
SAR_Value = SAR_Value + AF_Value * (EP - SAR_Value);
if gl < LowValue then
{
LowValue = gl;
AF_Value = AF_Value + AF;
if AF_Value >= AFMAX then AF_Value = AFMAX;
}
}
Sarv = SAR_Value;
}
else
{
if Direction == 0 then
{
if gc > gc[1] then Direction = 1;
else
if gc < gc[1] then Direction = -1;
}
else
{
if Direction == 1 then
{
if gc < gc[1] then
{
Direction = -1;
SAR_Value = HighValue;
Sarv = SAR_Value;
}
}
if Direction == -1 then
{
if gc > gc[1] then
{
Direction = 1;
SAR_Value = LowValue;
Sarv = SAR_Value;
}
}
}
LowValue = min(gl, LowValue);
HighValue = max(gh, HighValue);
}
}
plot1(sarv);
4.
그림을 첨부하실때 숫자나 영문으로 이름을 만들어 올려주시기 바랍니다.
한글은 첨부가 잘 안될수 있습니다.
즐거운 하루되세요
> 휴식 님이 쓴 글입니다.
> 제목 : 간단한 질문.
> 1) 질문
if date <> date[1] then{ value3 = 0 ; }
if data2(dayindex) == 0 then var1 = data2(c) -dayopen ;
if data2(dayindex) == 1 then var2 = data2(c) - data2(c[1]) ;
if data2(dayindex) == 2 then var3 = data2(c) - data2(c[1]) ;
if data2(dayindex) == 3 then var4 = data2(c) - data2(c[1]) ;
if data2(dayindex) == 4 then var5 = data2(c) - data2(c[1]) ;
if data2(dayindex) == 5 then var6 = data2(c) - data2(c[1]) ;
value1 = var1+var2+var3+var4+var5+var6 ;
value2 = abs(var1)+abs(var2)+abs(var3)+abs(var4)+abs(var5)+abs(var6);
value3 = value1 / value2 ;
주챠트 1분봉 참조챠트60분봉을 놓은후 위식을 계산하였습니다.
경우1) 당일챠트(8/18일)만을 띄운후 value3의 값과
경우2) 어제챠트(8월17일) 와 당일 챠트(8월18일) 를 띄운후
8월18일자 value3의 값이 다릅니다.
value3 값이 초기화가 안되네요.
value3 값을 날짜가 바뀔때 초기화된후 위 value1,2,3 수식이 계산되게하려면 어떻게해야하는지요....?
8월 18일자 출력값이 다르게 나오는 것을 그림파일로 첨부합니다.
2) 질문
시초 첫봉에서 조건걸면 atstop 주문 넣으면 두번째 봉에서 시세를 감시하다가
주문이 들어 가는데요 .
시초 첫봉에서도 조건이 만족되면 진입하게 하려면 어떻게 해야 하나요?
예를들어
당일 첫봉에서 저가가 시가-1pt 보다 크고 , 시가 대비 0.5pt 상승하는 시점에 atstop주문이 들어가게 하고 싶은 데요.
위 조건을 걸어주고 만족하면 다음봉 시가에 진입 되곤 합니다.
첫봉에서 조건만 만족하고 정한 시세가 안나오면 정상가격에 진입되지만
요지는 첫봉에서 위 기대치를 만족하고 그 이상의시세가 크게 발생할때도 있는데
그럼 다음봉 시가 진입시 기대 진입가와 실체 체결 슬리피지 손실이 크기때문에
첫봉에서도 진입 방법을 여쭈어 봅니다.
3)
파라볼릭 지표는 스토캐스틱 처럼 갭보정이 될수 있나요?
될수 있으면 수식좀 가르쳐 주세요.
그림파일 업로드했는데 왜...x박스가 뜰까요...
다음글