커뮤니티
지표문의
2017-06-14 10:26:57
189
글번호 110399
관리자님...수고하시고...감사합니다.^^
지표문의 질문번호 53636 에 이어서 다시 한번 부탁 드립니다.
1.먼저 도움주신부분(53636)에 대해 감사드리며, 주석을 달아 주셨으면 감사하겠습니다.
2.그리고 다른 인디게이트를 53636 번과 같이 하려고 할때 어느부분을 수정해야 하는지도
주석으로 설명해 주시면 감사하겠습니다.
3.시간문의 : 해외선물을 24시간 거래하려고 합니다
해외선물을 거래할때 오늘부터 계속해 다음날까지 계속 거래하려고합니다.
이때 시간이 너무 짧아 원하는 데로 인디게이트 구현이 안되오니....시간 조정도 부탁드립니다.
샘플로 아래 인디게이트를 삽입하오니....
그것으로도 질문한 부분 주석처리 부탁드립니다.
*인디게이트
var : V_J1(0),V_J2(0),V_J11(0),V_J22(0);
var : sumGap(0), gap(0), GO(0), GH(0), GL(0), GC(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;
V_j1 = wma(GC,20)/(wma(GC,5)/100);
V_j2 = wma(GC,5)/(wma(GC,20)/100);
V_j11 = wma(GC,20)/(wma(GC,5)/100);
V_j22 = wma(GC,5)/(wma(GC,20)/100);
Plot1(wma(GC,20)/(wma(GC,5)/100),"단기-");
Plot2(wma(GC,5)/(wma(GC,20)/100),"단기+");
Plot3(wma(GC,60)/(wma(GC,20)/100),"중기-");
Plot4(wma(GC,20)/(wma(GC,60)/100),"중기+");
Plot5(V_j1,"단기-");
Plot6(V_j2,"단기+");
늘 건강하시고 수고하세요..^^
답변 1
예스스탁 예스스탁 답변
2017-06-14 13:58:05
안녕하세요
예스스탁입니다.
1.
input : Short(5),Mid(10),Long(15);
var : pst(0),EP(0),Tcond(false);
Value1 = ma(c, Short);
Value2 = ma(c, Mid);
Value3 = ma(c, Long);
if Value1 > Value2 and Value2 > value3 Then
begin
var1=( High);
end
else
var2=(1);
input : Short2(5),Mid2(10),Long2(15);
Value4 = ma(c, Short2);
Value5 = ma(c, Mid2);
Value6 = ma(c, Long2);
if Value4 < Value5 and Value5 < Value6 Then
begin
var3=( High);
end
else
var4=(1);
#영업일이 변경되면 각 변수 초기화
if Bdate != Bdate[1] Then{
#Tcond는 true(거래가능시간대를 파악하고자 하는 변수)
Tcond = true;
#pst는 0(지표에서 진입여부를 판단하기위한 변수)
pst = 0;
}
#15시 20분이 되면
if stime == 152000 or (stime > 152000 and stime[1] < 152000) Then{
#Tcond는 false
Tcond = false;
#pst는 0
pst = 0;
}
#if c>=var1 Then
# Buy("매수", atlimit, c-PriceScale*1);
#기존 진입조건이 현재봉 완성시 종가가 var1이상이면
#다음봉에서 현재완성봉 종가보다 1틱이상 낮은 시세가 발생하면 매수하는 내용입니다.
#아래는 위 내용은 지표식에서 구현한것입니다
#지표에서는 시스템과 같이 atstop등을 사용할수 없으므로
#현재봉 완성시 기준으로 조건체크합니다. 매도진입도 같습니다.
#pst가 0 이하이고(무포지션이거나 매도포지션 진행중일때)
#전봉에서난 종가가 var1보다 크거나 같고
#현재봉의 저가가 전봉종가 -1틱 이하이고
#거래가능시간대이면
if pst <= 0 and
c[1] >= var1[1] and
L <= C[1]-PriceScale*1 and
Tcond == true Then{
#pst는 1로 변경(매수진입한것으로 간주)
pst = 1;
#EP에 시가에 따라 진입가 저장
#시가가 전봉종가-1틱 이하에서 시작하면 시가가 진입가
#시가가 전봉종가-1틱 보다 위에서 시작하면 전봉종가-1틱이 진입가
if O <= C[1]-PriceScale*1 Then
EP = O;
Else
EP = C[1]-PriceScale*1;
}
#pst가 0 이하이고(무포지션이거나 매도포지션 진행중일때)
#전봉에서난 종가가 var3보다 작거나 같고
#현재봉의 고가가 전봉종가 +1틱 이상이고
#거래가능시간대이면
if pst >= 0 and
c[1] <= var3[1] and
H >= C[1]+PriceScale*1 and
Tcond == true Then{
#pst는 -1로 변경(매도진입한것으로 간주)
pst = -1;
#EP에 시가에 따라 진입가 저장
#시가가 전봉종가+1틱 이상에서 시작하면 시가가 진입가
#시가가 전봉종가+1틱 보다 아래에서 시작하면 전봉종가+1틱이 진입가
if O >= C[1]+PriceScale*1 Then
EP = O;
Else
EP = C[1]+PriceScale*1;
}
#pst가 1이고(매수에 들어가고)
#저가가 EP-0.6이하이면 손절한것으로 간주하고
#pst는 0
if pst == 1 and L <= EP-0.6 Then
pst = 0;
#pst가 -1이고(매도에 들어가고)
#고가가 EP+0.6이하이면 손절한것으로 간주하고
#pst는 0
if pst == -1 and H >= EP+0.6 Then
pst = 0;
#아래는 단순 지표값을 상황에 따라 역전하기 위한 내용입니다.
#pst가 1이면(매수구간이면)
if pst == 1 then{
plot1(99999999999,"지표1");
plot2(0,"지표2");
}
#pst가 -1이면(매도구간이면)
if pst == -1 then{
plot1(0,"지표1");
plot2(99999999999,"지표2");
}
#무포지션 구간이면
if pst == 0 then{
plot1(0,"지표1");
plot2(0,"지표2");
}
2
지표 채우기는 단순 2개의 지표값을 비교해서만 가능합니다.
올리신 지표는 6개의 지표를 가지는데
어떤 값을 비교해서 처리해 드려야 할지 모르겠습니다.
2개의 값만 비교해서 하시면다면 아래와 같습니다.
설정방법은 이전문의에 답변드린 내용과 같습니다.
따로 주석으로 처리해 드릴만한 부분이 없습니다.
단순히 수식에서 계산되는 값 2개를 비교해서 아래와 같은 구조의
문장을 추가하시면 됩니다.
if 값1 > 값2 then{
plot1(99999999999,"지표1");
plot2(0,"지표2");
}
else
{
plot1(0,"지표1");
plot2(99999999999,"지표2");
}
아래식은 기분 plot5와 plo6으로 출력되는 값을 비교해서
수정한 식입니다.
var : V_J1(0),V_J2(0),V_J11(0),V_J22(0);
var : sumGap(0), gap(0), GO(0), GH(0), GL(0), GC(0);
if bdate != bdate[1] then {
gap = Open-Close[1];
sumGap = sumGap+gap;
}
GO = O - sumGap;
GH = H - sumGap;
GL = L - sumGap;
GC = C - sumGap;
V_j1 = wma(GC,20)/(wma(GC,5)/100);
V_j2 = wma(GC,5)/(wma(GC,20)/100);
V_j11 = wma(GC,20)/(wma(GC,5)/100);
V_j22 = wma(GC,5)/(wma(GC,20)/100);
var1 = wma(GC,20)/(wma(GC,5)/100);
var2 = wma(GC,5)/(wma(GC,20)/100);
var3 = wma(GC,60)/(wma(GC,20)/100);
var4 = wma(GC,20)/(wma(GC,60)/100);
var5 = V_j1;
var6 = V_j2;
if var5 > var6 then{
plot1(99999999999,"지표1");
plot2(0,"지표2");
}
else
{
plot1(0,"지표1");
plot2(99999999999,"지표2");
}
3
3번 문의 내용만으로는 어떻게 답변드려야 할지 알수 없습니다.
수식마다 처리가 다르므로 샘플로 답변드리기 어렵습니다.
즐거운 하루되세요
> song1212 님이 쓴 글입니다.
> 제목 : 지표문의
> 관리자님...수고하시고...감사합니다.^^
지표문의 질문번호 53636 에 이어서 다시 한번 부탁 드립니다.
1.먼저 도움주신부분(53636)에 대해 감사드리며, 주석을 달아 주셨으면 감사하겠습니다.
2.그리고 다른 인디게이트를 53636 번과 같이 하려고 할때 어느부분을 수정해야 하는지도
주석으로 설명해 주시면 감사하겠습니다.
3.시간문의 : 해외선물을 24시간 거래하려고 합니다
해외선물을 거래할때 오늘부터 계속해 다음날까지 계속 거래하려고합니다.
이때 시간이 너무 짧아 원하는 데로 인디게이트 구현이 안되오니....시간 조정도 부탁드립니다.
샘플로 아래 인디게이트를 삽입하오니....
그것으로도 질문한 부분 주석처리 부탁드립니다.
*인디게이트
var : V_J1(0),V_J2(0),V_J11(0),V_J22(0);
var : sumGap(0), gap(0), GO(0), GH(0), GL(0), GC(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;
V_j1 = wma(GC,20)/(wma(GC,5)/100);
V_j2 = wma(GC,5)/(wma(GC,20)/100);
V_j11 = wma(GC,20)/(wma(GC,5)/100);
V_j22 = wma(GC,5)/(wma(GC,20)/100);
Plot1(wma(GC,20)/(wma(GC,5)/100),"단기-");
Plot2(wma(GC,5)/(wma(GC,20)/100),"단기+");
Plot3(wma(GC,60)/(wma(GC,20)/100),"중기-");
Plot4(wma(GC,20)/(wma(GC,60)/100),"중기+");
Plot5(V_j1,"단기-");
Plot6(V_j2,"단기+");
늘 건강하시고 수고하세요..^^