답변완료
문의드립니다.
아래지그재그 상단꼭지점(파란색) 돌파 종목검색식 요청합니다.
Input:length(12);
Var:j(0),lastHiVal(0),lastLoVal(0),sBar(0),eBar(0),TL1(0),TL2(0),TL3(0),
Text1(0),처리구분(""),T(0),TL21(0),TL31(0),TL4(0),TL41(0),TL5(0),TL51(0);
Array:고점[10,2](0),저점[10,2](0);//가격,위치
처리구분 = "";
If Highest(H,length) == H and lastHiVal <> H and
Lowest(L,length) == L and lastLoVal <> L Then
{
If 저점[1,1] > L Then 처리구분 = "저점처리";
If 고점[1,1] < H Then 처리구분 = "고점처리";
}
Else If Highest(H,length) == H and lastHiVal <> H Then
처리구분 = "고점처리";
Else If Lowest(L,length) == L and lastLoVal <> L Then
처리구분 = "저점처리";
If 처리구분 == "고점처리" Then
{
T = 1;
lastHiVal = H;
If 고점[1,2] < 저점[1,2] Then
{
For j = 10 DownTo 2
{
고점[j,1] = 고점[j-1,1];
고점[j,2] = 고점[j-1,2];
}
}
If 고점[1,2] < 저점[1,2] or 고점[1,1] < H Then
{
고점[1,1] = H;
고점[1,2] = Index;
sBar = Index - 저점[1,2];
eBar = 0;
If TL_GetBeginDate(TL1) == sDate[sBar] and
TL_GetBeginTime(TL1) == sTime[sBar] Then
{
TL_Delete(TL1);
TL_Delete(TL2);
TL_Delete(TL21);
Text_Delete(Text1);
}
TL1 = TL_New(sDate[sBar],sTime[sBar],저점[1,1],sDate[eBar],sTime[eBar],고점[1,1]);
TL_SetColor(TL1,RED);
TL2 = TL_New(sDate[sBar],sTime[sBar],저점[1,1],sDate[eBar],sTime[eBar],저점[1,1]);
//TL21 = TL_New(sDate[sBar],sTime[sBar],저점[1,1]+PriceScale*10,sDate[eBar],sTime[eBar],저점[1,1]+PriceScale*10);
Text1 = Text_New(sDate[eBar],sTime[eBar],고점[1,1], NumToStr(고점[1,1],2));
Text_SetStyle(Text1, 2, 1);
TL_SetSize(TL2,3);
TL_SetColor(TL2,REd); //저점
TL_SetSize(TL21,1);
TL_SetColor(TL21,YELLOw); //저점
}
}
If 처리구분 == "저점처리" Then
{
T = -1;
lastLoVal = L;
If 저점[1,2] < 고점[1,2] then
{
For j = 10 DownTo 2
{
저점[j,1] = 저점[j-1,1];
저점[j,2] = 저점[j-1,2];
}
}
If 저점[1,2] < 고점[1,2] or 저점[1,1] > L then
{
저점[1,1] = L;
저점[1,2] = Index;
sBar = Index - 고점[1,2];
eBar = 0;
If TL_GetBeginDate(TL1) == sDate[sBar] and
TL_GetBeginTime(TL1) == sTime[sBar] Then
{
TL_Delete(TL1);
TL_Delete(TL3);
TL_Delete(TL31);
Text_Delete(Text1);
}
TL1 = TL_New(sDate[sBar],sTime[sBar],고점[1,1],sDate[eBar],sTime[eBar],저점[1,1]);
TL_SetColor(TL1,BLUE);
TL3 = TL_New(sDate[sBar],sTime[sBar],고점[1,1],sDate[eBar],sTime[eBar],고점[1,1]);
//TL31 = TL_New(sDate[sBar],sTime[sBar],고점[1,1]-PriceScale*10,sDate[eBar],sTime[eBar],고점[1,1]-PriceScale*10);
Text1 = Text_New(sDate[eBar],sTime[eBar],저점[1,1],NumToStr(저점[1,1],1));
Text_SetStyle(Text1, 2, 10);
TL_SetSize(TL3,3);
TL_SetColor(TL3,BLUe);
TL_SetSize(TL31,1);
TL_SetColor(TL31,YELLOw);
}
}
TL_SetSize(TL1,1);
TL_Delete(TL4);
TL_Delete(TL41);
TL_Delete(TL5);
TL_Delete(TL51);
if T == 1 then
{
TL_SetExtRight(TL5,False);
TL4 = TL_New(sDate[index-고점[1,2]],sTime[index-고점[1,2]],고점[1,1],sDate,sTime,고점[1,1]);
// TL41 = TL_New(sDate[index-고점[1,2]],sTime[index-고점[1,2]],고점[1,1]-PriceScale*10,sDate,sTime,고점[1,1]-PriceScale*10);
TL_SetColor(TL4,BLUE);
TL_SetSize(TL4,3);
TL_SetExtRight(TL4,true);
TL_SetColor(TL41,YELLOw);
TL_SetSize(TL41,1);
TL_SetExtRight(TL41,true);
}
if T == -1 then
{
TL_SetExtRight(TL4,False);
TL5 = TL_New(sDate[index-저점[1,2]],sTime[index-저점[1,2]],저점[1,1],sDate,sTime,저점[1,1]);
//TL51 = TL_New(sDate[index-저점[1,2]],sTime[index-저점[1,2]],저점[1,1]+PriceScale*10,sDate,sTime,저점[1,1]+PriceScale*10);
TL_SetColor(TL5,REd);//저점
TL_SetSize(TL5,3);
TL_SetExtRight(TL5,true);
TL_SetColor(TL51,YELLOw);//저점
TL_SetSize(TL51,1);
TL_SetExtRight(TL51,true);
}
2023-04-04
1345
글번호 167901
종목검색
답변완료
종목검색 문의
아래 지표를 사용중인데요
아래 수식에서 마지막 3번 지표의 Plot22 막대돌파되는 종목검색식 부탁드려요(__)
#======================================================#
# 조건 설정
#======================================================#
input : 비율1(20), 비율2(3), 기간(60), 횟수(10);
장대양봉조건=C>O and H>O*(1+비율1/100) and 거래량>ma(V,기간)[1] ;
중심가격= (C+O)/2 ;
IF 장대양봉조건 Then {
상단가=H*(1+비율2/100) ;
하단가=(C+O)/3*2
}
검색식1
1) 장대양봉 출현
2) 이후 봉들이 단 한 번의 이탈없이
3) 중심가격이 상단가와 하단가 사이에 존재하는 봉들이 10회 이상 출현하고 있는 종목
검색식2
1) 2) 3) 조건은 위와 동일
4) 장대양봉을 제외한 횡보봉들 중의 최고가 돌파와 상단가 돌파가 동시에 이루이지는 종목
*/
#======================================================#
# 채널_상하단가_횡보후돌파 : 지표
#======================================================#
input : 비율1(20), 비율2(3), 기간_V(60), 횟수(10) ;
input : 검색단계(1) ; // 1(횡보), 2(돌파)
var : 기준봉조건(False), 중심가조건(False), 횡보조건(False), 돌파조건(False),
ma_V(0), 상단채널(0), 하단채널(0), 중심가(0),
중심가조건갯수(0), 이탈_flag(0), 기준봉_경과봉수(0) ; // 이탈_flag : 상/하단가 이탈 유무 0(이탈 Y), 1(이탈 N)
중심가 = (C+O)/2 ;
ma_V = ma(V, 기간_V) ;
기준봉조건 = C>O and H > O*(1 + 비율1/100) and V > ma_V[1] ; // 거래량 전일 기준(장 중)
#기준봉조건 = C>O and H > O*(1 + 비율1/100) and V > ma_V[0] ; // 거래량 당일 기준(장종료)
횡보조건 = 중심가조건 == True and 이탈_flag == 1 and 중심가조건갯수 >= 횟수 ; //검색식1
돌파조건 = 중심가조건갯수 >= 횟수 and 상단채널[0] < C and Highest(H, 중심가조건갯수)[1] < C ; //검색식2
if 기준봉조건 == True Then {
이탈_flag = 1 ;
중심가조건갯수 = -1 ;
기준봉_경과봉수 = -1 ;
상단채널 = H * (1 + 비율2/100) ; // 고가*1.03
# 하단채널 = (C+O)/3*2 ; // 현재 하단가는 하단가 > 상단가 이므로 수정필요
하단채널 = L * (1 - 비율2/100) ; // 저가*0.97
}
/* 하단가 정의 : 큰 하단값부터 작은 하단값 순
# 하단가 = O - (C-O)/3*2 ;
# 하단가 = L * (1 - 비율2/100) ;
# 하단가 = O - (C-O)/2*3 ;
# 하단가 = (C+O)/5*2 ;
# 하단가 = L - (C-O)/3*2 ;
# 하단가 = L - (C-O)/2*3 ;
*/
기준봉_경과봉수 = 기준봉_경과봉수 + 1 ;
중심가조건 = 하단채널 < 중심가 and 중심가 < 상단채널 ; // 중심가격이 상단가와 하단가 사이에 존재
if 중심가조건 == True
and 이탈_flag == 1 // <<== 주석처리 필요 : 신호 발생이 너무 적다
Then {
중심가조건갯수 = 중심가조건갯수 + 1 ;
}
Else {
중심가조건갯수 = 0 ;
이탈_flag = 0 ; // 검색식1 2) 이후 봉들이 상/하단가 이탈
}
#======================================================#
# 1번 <지표속성> Y축 표시 탭: 가격
#======================================================#
Plot1(상단채널, "점_상단가",RED,def,2); // 점 그래프
Plot2(하단채널, "점_하단가",Blue,def,2); // 점 그래프
if 중심가조건 == True Then {
Plot3(하단채널*0.95, "막대_중심가조건",Black,def,0); // 막대 그래프
}
plot4(중심가, "선_중심가",Black,def,1); // 선 그래프
#======================================================#
# 2번 <지표속성> Y축 표시 탭: 화면
#======================================================#
Plot11(기준봉_경과봉수, "선_경과봉갯수",blue,def,0); // 선 그래프
#======================================================#
# 3번 <지표속성> Y축 표시 탭: 화면
#======================================================#
PlotBaseLine1(횟수, "기준선_횟수", Black, DEf, 0);
Plot21(중심가조건갯수, "선_중심가조건갯수",Magenta,def,0); // 선 그래프
#------------------------------------------------------#
# 조건 만족 : 횡보고가봉 돌파, 상단채널 돌파
# 검색식 2 만족
#------------------------------------------------------#
if 돌파조건 == True Then
Plot22(중심가조건갯수[1], "막대_돌파",Red,def,2); // 막대 그래프
2023-04-04
1271
글번호 167880
종목검색