커뮤니티
수식수정 및 검토부탁드립니다.
2017-12-28 14:47:01
382
글번호 115345
171228 1438 질문
수고에 감사드립니다.
늘 자문과 답변(53825-SORISE)에 감사드립니다.
다른 질문과 답변을 전부 검색해도 유사한 답변도 없어, 이렇게 직접 질문드립니다.
상황1_해외선물통화(영국파운드 6b.1)을 한투에서 15분 차트 중심 거래중입니다
상황2_이 통화선물(17년 12월 28 13:36분 현재 1. 3456포인트)을 다께시부로 매매식(첨부)로 매매하려고 쩔쩔 매고 여러 시도를 했으나 적용이 안됨
(첨부_차트 하단에 지표식명만 있고, 지표표현이 안되고,
시스탬식역시 차트 상단에 시스템명만 표시됨)
부탁사항1. 전환가격을 어떻게 설정하나요
* 다께시부로는 첨부에서처럼 300 이라는 수칙을 적용하고 있으나, 저는 해외통화선물(1.3456포인트_171228현재)의 경우)에 적용하려고 전환가격 수치을 0, 10, 300 적용해도 반응이 없음(보통 해외선물의 변동폭 10틱에서 100틱 변동이 있고, 저는 20틱 변동 또는 일봉 시가을 기준 또는 참고로 하려고 는 개념이 다른가요)
부탁사항2. 다께시브로 지표식이 화면에 표현하려면 수식의 어느 부분을 수정해야 하나요(일봉, 또는 분봉(15분봉, 30분봉, 60분동 등 )적용 하고 싶습니다)
부탁사항3. 다께시브로 시스템의 적용도 안되고 있는데 어느 부분을 수정해야 하나요 (지표식을 그대로 시스탬식으로 수정 사용하고 싶습니다)
늘 빠르고 친절한 답변에 감사드립니다...
#다께사부로 분석지표식 및 시스탬식[0.1].ysg509
#유사예제_지그재그 파동선의 예
#Input:전환틱수(12);
#Var:j(0),상승(100),하락(-100),상승틱수(0),하락틱수(0),기준고(0),기준저(0),
# 기준고Bar(0),기준저Bar(0),추세(0),ZZ(0);
#Array:고[20](0),저[20](0),고Bar[20](0),저Bar[20](0),고Idx[20](0),저Idx[20](0);
#상승틱수 = PriceScale*전환틱수; 하락틱수 = -PriceScale*전환틱수;
#for j = 1 to 19 {
# 고Bar[j] = 고Bar[j] + 1; 저Bar[j] = 저Bar[j] + 1;
# 고Idx[j] = Index - 고Bar[j]; 저Idx[j] = Index - 저Bar[j]; }
#if 기준고 <= C or 기준고 == 0 then { 기준고 = C; 기준고Bar = 0; }
#else 기준고Bar = 기준고Bar + 1;
#if 기준저 >= C or 기준저 == 0 then { 기준저 = C; 기준저Bar = 0; }
#else 기준저Bar = 기준저Bar + 1;
#if 기준고 + 하락틱수 <= C[1] and 기준고 + 하락틱수 > C then
# 추세 = 하락;
#else if 기준저 + 상승틱수 >= C[1] and 기준저 + 상승틱수 < C then
# 추세 = 상승;
#if 추세[1] == 상승 and 추세 == 하락 then {
# for j = 18 downto 1 { 고[j+1] = 고[j];
# 고Bar[j+1] = 고Bar[j]; 고Idx[j+1] = 고Idx[j]; }
## 고[1] = 기준고; 고Bar[1] = 기준고Bar;
# 고Idx[1] = Index - 고Bar[1];
# ZZ = 기준고; 기준고 = C; 기준고Bar = 0; 기준저 = C; 기준저Bar = 0; }
# if 추세[1] == 하락 and 추세 == 상승 then {
# for j = 18 downto 1 { 저[j+1] = 저[j];
# 저Bar[j+1] = 저Bar[j]; 저Idx[j+1] = 저Idx[j]; }
# 저[1] = 기준저; 저Bar[1] = 기준저Bar;
# 저Idx[1] = Index - 저Bar[1]; ZZ = 기준저;
# 기준저 = C; 기준저Bar = 0; 기준고 = C; 기준고Bar = 0; }
#if 추세 == 상승 Then var1 = 기준고;
#if 추세 == 하락 Then var2 = 기준저;
#if 추세 == 상승 and 추세 != 추세[1] Then buy("b");
#if 추세 == 하락 and 추세 != 추세[1] Then sell("s");
#f ZZ[1] != ZZ then Plot1(ZZ,"ZIGZAG"); //선그래프
#다께사브로 지표식 및 시스템식
Input: 전환가격(12); //다께사부로는 예제에서 300이라는 수치 사용
Var: j(0), 꺾은선(0), 기준고(0),기준저(0),방향(0),상승(100),하락(-100), 상승틱수(0),하락틱수(0), //상승틱수, 하락틱스 임의로 추가해봄
색깔(0),파랑(-1),빨강(1),전환(0),확인(0),확인표시(0),전환표시(0),천장(-10),바닥(10),
E(0),UB(0),E표시(0),UB표시(0), 대중소(0), 소중대(0), 대중소색깔(0), 진입(0), 청산(0);
Array : 고[10](0), 저[10](0);
상승틱수 = PriceScale*전환가격; 하락틱수 = -PriceScale*전환가격;
E표시=0; UB표시=0; 전환표시=0; 확인표시=0; 대중소=0; 소중대=0; 진입=0; 청산=0; //14줄
if 기준고 <= C or 기준고 == 0 then 기준고 = C; if 기준저 >= C or 기준저 == 0 then 기준저 = C; //17줄
if 방향 == 하락 and C[1] + 전환가격/3 <= C then E = 상승;
if 방향 == 상승 and C[1] - 전환가격/3 >= C then E = 하락;
if 방향 == 하락 and ma(V,50)/1.5 >= V then UB = 바닥;
if 방향 == 상승 and ma(V,50)*1.5 <= V then UB = 천장; //23L
#if 기준고 + 하락틱수 <= C[1] and 기준고 + 하락틱수 > C then
# 추세 = 하락;
#else if 기준저 + 상승틱수 >= C[1] and 기준저 + 상승틱수 < C then
# 추세 = 상승;
#if 추세[1] == 상승 and 추세 == 하락 then {
# for j = 18 downto 1 { 고[j+1] = 고[j];
# 고Bar[j+1] = 고Bar[j]; 고Idx[j+1] = 고Idx[j]; }
# 고[1] = 기준고; 고Bar[1] = 기준고Bar;
# 고Idx[1] = Index - 고Bar[1];
# ZZ = 기준고; 기준고 = C; 기준고Bar = 0; 기준저 = C; 기준저Bar = 0; }
#전환가격
if 기준저[1] + 전환가격 > C[1] and 기준저[1] + 전환가격 <= C THen 방향 = 상승;
if 기준고[1] - 전환가격 < C[1] and 기준고[1] - 전환가격 >= C THen 방향 = 하락; //26
if 방향[1] == 하락 and 방향 == 상승 then { for j = 8 downto 0 { 저[j+1] = 저[j]; } //31
저[0] = 기준저;
꺾은선 = 기준저; 기준저 = C; 기준고 = C; //35줄
IF E == 상승 then E표시 = 꺾은선 - 전환가격;
if UB == 바닥 then UB표시 = 꺾은선 - 2*전환가격;
E = 0; UB=0; // 40L
if 저[1] > 저[0] then 색깔 = 파랑; //42 L
if 색깔[1] != 색깔 and 고[1] < 고[0] and 저[1] > 저[0] then 확인 = 0;
if 저[1] < 저[0] then { if 저[2] >= 저[1] then 확인 = 바닥;
else 확인 = 0; } // 48 P
if 확인 == 바닥 and 확인[1] < 확인 then 확인표시 = 꺾은선 - 3*전환가격; // 49
if 색깔[1] != 색깔 then 전환 = 0; //51줄
if 저[1] < 저[0] and 고[1] < 고[0] then 전환 = 상승;
if 전환 == 상승 and 전환[1] < 전환 then 전환표시 = 꺾은선 - 4*전환가격; //54
진입 = 1; } //511쪽 55줄 추가분
if 고[1]- 저[1] > 고[0]- 저[1] and 고[0]- 저[1] > 고[0]- 저[0] then {
대중소 = 꺾은선 - 5*전환가격;
대중소색깔 = 빨강; } // 61줄
if 고[1]- 저[1] < 고[0]- 저[1] and 고[0]- 저[1] < 고[0]- 저[0] then {
소중대= 꺾은선 - 5*전환가격 ;
대중소색깔 = 파랑; } //66줄
if 방향[1] == 상승 and 방향 == 하락 then { //68줄
for j = 8 downto 0 { 고[j+1] = 고[j]; } // 511쪽 71줄
고[0] = 기준고; 꺾은선 = 기준고; 기준고 = C; 기준저 = C; //511쪽 75줄
IF E == 하락 then E표시 = 꺾은선 + 전환가격;
if UB == 천장 then UB표시 = 꺾은선+ 2*전환가격;
E = 0; UB=0; // 80L
if 고[1] < 고[0] then 색깔 = 빨강; //82줄
if 색깔[1] != 색깔 and 고[1] < 고[0] and 저[1] > 저[0] then 확인 = 0; //84줄
if 고[1] > 고[0] then { if 고[2] <= 고[1] then 확인 = 천장; else 확인 = 0; } //511p 88줄
if 확인 == 천장 and 확인[1] > 확인 then 확인표시 = 꺾은선 + 3*전환가격; //89
if 색깔[1] != 색깔 then 전환 = 0; if 고[1] > 고[0] and 저[1] > 저[0] then 전환 = 하락;
if 전환 == 하락 and 전환[1] > 전환 then 전환표시 = 꺾은선 + 4*전환가격; }
if 고[1]- 저[1] > 고[0]- 저[1] and 고[0]- 저[1] > 고[0]- 저[0] then {
대중소 = 꺾은선 + 5*전환가격;
대중소색깔 = 파랑 ; //512쪽 97줄
청산 = 1; } // 512쪽 98줄 추가분
if 고[1]- 저[1] < 고[0]- 저[1] and 고[0]- 저[1] < 고[0]- 저[0] then {
소중대= 꺾은선 + 5*전환가격 ;
대중소색깔 = 빨강; } //102줄
#시스템식
#if 고[2]- 저[1] < 고[1]- 저[1] and 고[1]- 저[1] < 고[1]- 저[0] then 청산 = 2;
#if MarketPosition() == 0 then {
#if 진입 == 1 then Buy("눌림목매수"); }
#if MarketPosition()==1 then {
#if 청산 == 1 then ExitLong("대중소");
#if 청산 == 2 then ExitLong("소중대");
#if 저[0] > C then ExitLong("손절매");
#if 고[1]> 고[0] then ExitLong("전고갱신실패"); } //511쪽 116줄. 끝
#지표식
if 꺾은선[1] != 꺾은선 then { //전체 -1수평이동 504 100줄
Plot1(꺾은선,"꺾은선",iff(색깔 == 빨강,RED ,BLUE)); //선그래프
if 확인표시 != 0 then Plot2(확인표시,"확인",BLACK); //점그래프 최대굵기,
if 전환표시 != 0 then Plot3(전환표시, "전환",BLACK); //점그래프 최대굵기,
if 전환표시 != 0 then Plot4(전환표시, "전환속",WHITE); //점그래프 중간굵기, } //504쪽104줄
if 대중소 + 소중대 != 0 then
Plot5(대중소 + 소중대 ,"대중소", iff(대중소색깔 == 빨강,RED,BLUE)); //최대굵기
if 소중대 != 0 then Plot6(소중대,"소중대",WHITE); } //점그래프 중간굵기 108줄
if E표시 != 0 then Plot7(E표시,"E표시",PINK); //점그래프,중간굵기
IF UB표시!=0 Then Plot8(UB표시,"U,B표시", MAGENTA); //점그래프,중간굵기 504쪽 111줄.End
답변을 기다립니다,, 예 감사합니다.
- 1. 다께사부로질문.gif (0.03 MB)
답변 1
예스스탁 예스스탁 답변
2018-01-02 13:53:30
안녕하세요
예스스탁입니다.
1,2
기존수식에서 전환가격은 가격변동을 체크할 가격폭입니다.
300원, 5포이트,0.005포인트 등으로 지정합니다.
해외선물통화(영국파운드)같은 경우 가격이 소숫점 단위이므로
해당 종목에 맞게 지정하셔야 합니다.
아래와 같이 지정하시면 가격전환폭을 틱수로 지정할수 있습니다
Input: 가격전환틱수(5); //다께사부로는 예제에서 300이라는 수치 사용
Var: 전환가격(0),j(0), 꺾은선(0), 기준고(0),기준저(0),방향(0),상승(100),하락(-100), 상승틱수(0),하락틱수(0), //상승틱수, 하락틱스 임의로 추가해봄
색깔(0),파랑(-1),빨강(1),전환(0),확인(0),확인표시(0),전환표시(0),천장(-10),바닥(10),
E(0),UB(0),E표시(0),UB표시(0), 대중소(0), 소중대(0), 대중소색깔(0), 진입(0), 청산(0);
Array : 고[10](0), 저[10](0);
#상승틱수 = PriceScale*전환가격; 하락틱수 = -PriceScale*전환가격;
전환가격 = PriceScale*가격전환틱수;
E표시=0; UB표시=0; 전환표시=0; 확인표시=0; 대중소=0; 소중대=0; 진입=0; 청산=0; //14줄
if 기준고 <= C or 기준고 == 0 then 기준고 = C;
if 기준저 >= C or 기준저 == 0 then 기준저 = C; //17줄
if 방향 == 하락 and C[1] + 전환가격/3 <= C then E = 상승;
if 방향 == 상승 and C[1] - 전환가격/3 >= C then E = 하락;
if 방향 == 하락 and ma(V,50)/1.5 >= V then UB = 바닥;
if 방향 == 상승 and ma(V,50)*1.5 <= V then UB = 천장; //23L
#if 기준고 + 하락틱수 <= C[1] and 기준고 + 하락틱수 > C then
# 추세 = 하락;
#else if 기준저 + 상승틱수 >= C[1] and 기준저 + 상승틱수 < C then
# 추세 = 상승;
#if 추세[1] == 상승 and 추세 == 하락 then {
# for j = 18 downto 1 { 고[j+1] = 고[j];
# 고Bar[j+1] = 고Bar[j]; 고Idx[j+1] = 고Idx[j]; }
# 고[1] = 기준고; 고Bar[1] = 기준고Bar;
# 고Idx[1] = Index - 고Bar[1];
# ZZ = 기준고; 기준고 = C; 기준고Bar = 0; 기준저 = C; 기준저Bar = 0; }
#전환가격
if 기준저[1] + 전환가격 > C[1] and 기준저[1] + 전환가격 <= C THen 방향 = 상승;
if 기준고[1] - 전환가격 < C[1] and 기준고[1] - 전환가격 >= C THen 방향 = 하락; //26
if 방향[1] == 하락 and 방향 == 상승 then { for j = 8 downto 0 { 저[j+1] = 저[j]; } //31
저[0] = 기준저;
꺾은선 = 기준저; 기준저 = C; 기준고 = C; //35줄
IF E == 상승 then E표시 = 꺾은선 - 전환가격;
if UB == 바닥 then UB표시 = 꺾은선 - 2*전환가격;
E = 0; UB=0; // 40L
if 저[1] > 저[0] then 색깔 = 파랑; //42 L
if 색깔[1] != 색깔 and 고[1] < 고[0] and 저[1] > 저[0] then 확인 = 0;
if 저[1] < 저[0] then { if 저[2] >= 저[1] then 확인 = 바닥;
else 확인 = 0; } // 48 P
if 확인 == 바닥 and 확인[1] < 확인 then 확인표시 = 꺾은선 - 3*전환가격; // 49
if 색깔[1] != 색깔 then 전환 = 0; //51줄
if 저[1] < 저[0] and 고[1] < 고[0] then 전환 = 상승;
if 전환 == 상승 and 전환[1] < 전환 then 전환표시 = 꺾은선 - 4*전환가격; //54
진입 = 1; } //511쪽 55줄 추가분
if 고[1]- 저[1] > 고[0]- 저[1] and 고[0]- 저[1] > 고[0]- 저[0] then {
대중소 = 꺾은선 - 5*전환가격;
대중소색깔 = 빨강; } // 61줄
if 고[1]- 저[1] < 고[0]- 저[1] and 고[0]- 저[1] < 고[0]- 저[0] then {
소중대= 꺾은선 - 5*전환가격 ;
대중소색깔 = 파랑; } //66줄
if 방향[1] == 상승 and 방향 == 하락 then { //68줄
for j = 8 downto 0 { 고[j+1] = 고[j]; } // 511쪽 71줄
고[0] = 기준고; 꺾은선 = 기준고; 기준고 = C; 기준저 = C; //511쪽 75줄
IF E == 하락 then E표시 = 꺾은선 + 전환가격;
if UB == 천장 then UB표시 = 꺾은선+ 2*전환가격;
E = 0; UB=0; // 80L
if 고[1] < 고[0] then 색깔 = 빨강; //82줄
if 색깔[1] != 색깔 and 고[1] < 고[0] and 저[1] > 저[0] then 확인 = 0; //84줄
if 고[1] > 고[0] then { if 고[2] <= 고[1] then 확인 = 천장; else 확인 = 0; } //511p 88줄
if 확인 == 천장 and 확인[1] > 확인 then 확인표시 = 꺾은선 + 3*전환가격; //89
if 색깔[1] != 색깔 then 전환 = 0; if 고[1] > 고[0] and 저[1] > 저[0] then 전환 = 하락;
if 전환 == 하락 and 전환[1] > 전환 then 전환표시 = 꺾은선 + 4*전환가격; }
if 고[1]- 저[1] > 고[0]- 저[1] and 고[0]- 저[1] > 고[0]- 저[0] then {
대중소 = 꺾은선 + 5*전환가격;
대중소색깔 = 파랑 ; //512쪽 97줄
청산 = 1; } // 512쪽 98줄 추가분
if 고[1]- 저[1] < 고[0]- 저[1] and 고[0]- 저[1] < 고[0]- 저[0] then {
소중대= 꺾은선 + 5*전환가격 ;
대중소색깔 = 빨강; } //102줄
#시스템식
#if 고[2]- 저[1] < 고[1]- 저[1] and 고[1]- 저[1] < 고[1]- 저[0] then 청산 = 2;
#if MarketPosition() == 0 then {
#if 진입 == 1 then Buy("눌림목매수"); }
#if MarketPosition()==1 then {
#if 청산 == 1 then ExitLong("대중소");
#if 청산 == 2 then ExitLong("소중대");
#if 저[0] > C then ExitLong("손절매");
#if 고[1]> 고[0] then ExitLong("전고갱신실패"); } //511쪽 116줄. 끝
#지표식
if 꺾은선[1] != 꺾은선 then { //전체 -1수평이동 504 100줄
Plot1(꺾은선,"꺾은선",iff(색깔 == 빨강,RED ,BLUE)); //선그래프
if 확인표시 != 0 then Plot2(확인표시,"확인",BLACK); //점그래프 최대굵기,
if 전환표시 != 0 then Plot3(전환표시, "전환",BLACK); //점그래프 최대굵기,
if 전환표시 != 0 then Plot4(전환표시, "전환속",WHITE); //점그래프 중간굵기, } //504쪽104줄
if 대중소 + 소중대 != 0 then
Plot5(대중소 + 소중대 ,"대중소", iff(대중소색깔 == 빨강,RED,BLUE)); //최대굵기
if 소중대 != 0 then Plot6(소중대,"소중대",WHITE); } //점그래프 중간굵기 108줄
if E표시 != 0 then Plot7(E표시,"E표시",PINK); //점그래프,중간굵기
IF UB표시!=0 Then Plot8(UB표시,"U,B표시", MAGENTA); //점그래프,중간굵기 504쪽 111줄.End
3
시스템식은 주석풀고 적용해 보았는데
정상적으로 신호가 발생하고 있습니다.
Input:전환틱수(12);
Var:j(0),상승(100),하락(-100),상승틱수(0),하락틱수(0),기준고(0),기준저(0),
기준고Bar(0),기준저Bar(0),추세(0),ZZ(0);
Array:고[20](0),저[20](0),고Bar[20](0),저Bar[20](0),고Idx[20](0),저Idx[20](0);
상승틱수 = PriceScale*전환틱수; 하락틱수 = -PriceScale*전환틱수;
for j = 1 to 19 {
고Bar[j] = 고Bar[j] + 1; 저Bar[j] = 저Bar[j] + 1;
고Idx[j] = Index - 고Bar[j]; 저Idx[j] = Index - 저Bar[j]; }
if 기준고 <= C or 기준고 == 0 then { 기준고 = C; 기준고Bar = 0; }
else 기준고Bar = 기준고Bar + 1;
if 기준저 >= C or 기준저 == 0 then { 기준저 = C; 기준저Bar = 0; }
else 기준저Bar = 기준저Bar + 1;
if 기준고 + 하락틱수 <= C[1] and 기준고 + 하락틱수 > C then
추세 = 하락;
else if 기준저 + 상승틱수 >= C[1] and 기준저 + 상승틱수 < C then
추세 = 상승;
if 추세[1] == 상승 and 추세 == 하락 then {
for j = 18 downto 1 { 고[j+1] = 고[j];
고Bar[j+1] = 고Bar[j]; 고Idx[j+1] = 고Idx[j]; }
고[1] = 기준고; 고Bar[1] = 기준고Bar;
고Idx[1] = Index - 고Bar[1];
ZZ = 기준고; 기준고 = C; 기준고Bar = 0; 기준저 = C; 기준저Bar = 0; }
if 추세[1] == 하락 and 추세 == 상승 then {
for j = 18 downto 1 { 저[j+1] = 저[j];
저Bar[j+1] = 저Bar[j]; 저Idx[j+1] = 저Idx[j]; }
저[1] = 기준저; 저Bar[1] = 기준저Bar;
저Idx[1] = Index - 저Bar[1]; ZZ = 기준저;
기준저 = C; 기준저Bar = 0; 기준고 = C; 기준고Bar = 0; }
if 추세 == 상승 Then var1 = 기준고;
if 추세 == 하락 Then var2 = 기준저;
if 추세 == 상승 and 추세 != 추세[1] Then buy("b");
if 추세 == 하락 and 추세 != 추세[1] Then sell("s");
새해 복 많이 받으세요
> sorise 님이 쓴 글입니다.
> 제목 : 수식수정 및 검토부탁드립니다.
>
171228 1438 질문
수고에 감사드립니다.
늘 자문과 답변(53825-SORISE)에 감사드립니다.
다른 질문과 답변을 전부 검색해도 유사한 답변도 없어, 이렇게 직접 질문드립니다.
상황1_해외선물통화(영국파운드 6b.1)을 한투에서 15분 차트 중심 거래중입니다
상황2_이 통화선물(17년 12월 28 13:36분 현재 1. 3456포인트)을 다께시부로 매매식(첨부)로 매매하려고 쩔쩔 매고 여러 시도를 했으나 적용이 안됨
(첨부_차트 하단에 지표식명만 있고, 지표표현이 안되고,
시스탬식역시 차트 상단에 시스템명만 표시됨)
부탁사항1. 전환가격을 어떻게 설정하나요
* 다께시부로는 첨부에서처럼 300 이라는 수칙을 적용하고 있으나, 저는 해외통화선물(1.3456포인트_171228현재)의 경우)에 적용하려고 전환가격 수치을 0, 10, 300 적용해도 반응이 없음(보통 해외선물의 변동폭 10틱에서 100틱 변동이 있고, 저는 20틱 변동 또는 일봉 시가을 기준 또는 참고로 하려고 는 개념이 다른가요)
부탁사항2. 다께시브로 지표식이 화면에 표현하려면 수식의 어느 부분을 수정해야 하나요(일봉, 또는 분봉(15분봉, 30분봉, 60분동 등 )적용 하고 싶습니다)
부탁사항3. 다께시브로 시스템의 적용도 안되고 있는데 어느 부분을 수정해야 하나요 (지표식을 그대로 시스탬식으로 수정 사용하고 싶습니다)
늘 빠르고 친절한 답변에 감사드립니다...
#다께사부로 분석지표식 및 시스탬식[0.1].ysg509
#유사예제_지그재그 파동선의 예
#Input:전환틱수(12);
#Var:j(0),상승(100),하락(-100),상승틱수(0),하락틱수(0),기준고(0),기준저(0),
# 기준고Bar(0),기준저Bar(0),추세(0),ZZ(0);
#Array:고[20](0),저[20](0),고Bar[20](0),저Bar[20](0),고Idx[20](0),저Idx[20](0);
#상승틱수 = PriceScale*전환틱수; 하락틱수 = -PriceScale*전환틱수;
#for j = 1 to 19 {
# 고Bar[j] = 고Bar[j] + 1; 저Bar[j] = 저Bar[j] + 1;
# 고Idx[j] = Index - 고Bar[j]; 저Idx[j] = Index - 저Bar[j]; }
#if 기준고 <= C or 기준고 == 0 then { 기준고 = C; 기준고Bar = 0; }
#else 기준고Bar = 기준고Bar + 1;
#if 기준저 >= C or 기준저 == 0 then { 기준저 = C; 기준저Bar = 0; }
#else 기준저Bar = 기준저Bar + 1;
#if 기준고 + 하락틱수 <= C[1] and 기준고 + 하락틱수 > C then
# 추세 = 하락;
#else if 기준저 + 상승틱수 >= C[1] and 기준저 + 상승틱수 < C then
# 추세 = 상승;
#if 추세[1] == 상승 and 추세 == 하락 then {
# for j = 18 downto 1 { 고[j+1] = 고[j];
# 고Bar[j+1] = 고Bar[j]; 고Idx[j+1] = 고Idx[j]; }
## 고[1] = 기준고; 고Bar[1] = 기준고Bar;
# 고Idx[1] = Index - 고Bar[1];
# ZZ = 기준고; 기준고 = C; 기준고Bar = 0; 기준저 = C; 기준저Bar = 0; }
# if 추세[1] == 하락 and 추세 == 상승 then {
# for j = 18 downto 1 { 저[j+1] = 저[j];
# 저Bar[j+1] = 저Bar[j]; 저Idx[j+1] = 저Idx[j]; }
# 저[1] = 기준저; 저Bar[1] = 기준저Bar;
# 저Idx[1] = Index - 저Bar[1]; ZZ = 기준저;
# 기준저 = C; 기준저Bar = 0; 기준고 = C; 기준고Bar = 0; }
#if 추세 == 상승 Then var1 = 기준고;
#if 추세 == 하락 Then var2 = 기준저;
#if 추세 == 상승 and 추세 != 추세[1] Then buy("b");
#if 추세 == 하락 and 추세 != 추세[1] Then sell("s");
#f ZZ[1] != ZZ then Plot1(ZZ,"ZIGZAG"); //선그래프
#다께사브로 지표식 및 시스템식
Input: 전환가격(12); //다께사부로는 예제에서 300이라는 수치 사용
Var: j(0), 꺾은선(0), 기준고(0),기준저(0),방향(0),상승(100),하락(-100), 상승틱수(0),하락틱수(0), //상승틱수, 하락틱스 임의로 추가해봄
색깔(0),파랑(-1),빨강(1),전환(0),확인(0),확인표시(0),전환표시(0),천장(-10),바닥(10),
E(0),UB(0),E표시(0),UB표시(0), 대중소(0), 소중대(0), 대중소색깔(0), 진입(0), 청산(0);
Array : 고[10](0), 저[10](0);
상승틱수 = PriceScale*전환가격; 하락틱수 = -PriceScale*전환가격;
E표시=0; UB표시=0; 전환표시=0; 확인표시=0; 대중소=0; 소중대=0; 진입=0; 청산=0; //14줄
if 기준고 <= C or 기준고 == 0 then 기준고 = C; if 기준저 >= C or 기준저 == 0 then 기준저 = C; //17줄
if 방향 == 하락 and C[1] + 전환가격/3 <= C then E = 상승;
if 방향 == 상승 and C[1] - 전환가격/3 >= C then E = 하락;
if 방향 == 하락 and ma(V,50)/1.5 >= V then UB = 바닥;
if 방향 == 상승 and ma(V,50)*1.5 <= V then UB = 천장; //23L
#if 기준고 + 하락틱수 <= C[1] and 기준고 + 하락틱수 > C then
# 추세 = 하락;
#else if 기준저 + 상승틱수 >= C[1] and 기준저 + 상승틱수 < C then
# 추세 = 상승;
#if 추세[1] == 상승 and 추세 == 하락 then {
# for j = 18 downto 1 { 고[j+1] = 고[j];
# 고Bar[j+1] = 고Bar[j]; 고Idx[j+1] = 고Idx[j]; }
# 고[1] = 기준고; 고Bar[1] = 기준고Bar;
# 고Idx[1] = Index - 고Bar[1];
# ZZ = 기준고; 기준고 = C; 기준고Bar = 0; 기준저 = C; 기준저Bar = 0; }
#전환가격
if 기준저[1] + 전환가격 > C[1] and 기준저[1] + 전환가격 <= C THen 방향 = 상승;
if 기준고[1] - 전환가격 < C[1] and 기준고[1] - 전환가격 >= C THen 방향 = 하락; //26
if 방향[1] == 하락 and 방향 == 상승 then { for j = 8 downto 0 { 저[j+1] = 저[j]; } //31
저[0] = 기준저;
꺾은선 = 기준저; 기준저 = C; 기준고 = C; //35줄
IF E == 상승 then E표시 = 꺾은선 - 전환가격;
if UB == 바닥 then UB표시 = 꺾은선 - 2*전환가격;
E = 0; UB=0; // 40L
if 저[1] > 저[0] then 색깔 = 파랑; //42 L
if 색깔[1] != 색깔 and 고[1] < 고[0] and 저[1] > 저[0] then 확인 = 0;
if 저[1] < 저[0] then { if 저[2] >= 저[1] then 확인 = 바닥;
else 확인 = 0; } // 48 P
if 확인 == 바닥 and 확인[1] < 확인 then 확인표시 = 꺾은선 - 3*전환가격; // 49
if 색깔[1] != 색깔 then 전환 = 0; //51줄
if 저[1] < 저[0] and 고[1] < 고[0] then 전환 = 상승;
if 전환 == 상승 and 전환[1] < 전환 then 전환표시 = 꺾은선 - 4*전환가격; //54
진입 = 1; } //511쪽 55줄 추가분
if 고[1]- 저[1] > 고[0]- 저[1] and 고[0]- 저[1] > 고[0]- 저[0] then {
대중소 = 꺾은선 - 5*전환가격;
대중소색깔 = 빨강; } // 61줄
if 고[1]- 저[1] < 고[0]- 저[1] and 고[0]- 저[1] < 고[0]- 저[0] then {
소중대= 꺾은선 - 5*전환가격 ;
대중소색깔 = 파랑; } //66줄
if 방향[1] == 상승 and 방향 == 하락 then { //68줄
for j = 8 downto 0 { 고[j+1] = 고[j]; } // 511쪽 71줄
고[0] = 기준고; 꺾은선 = 기준고; 기준고 = C; 기준저 = C; //511쪽 75줄
IF E == 하락 then E표시 = 꺾은선 + 전환가격;
if UB == 천장 then UB표시 = 꺾은선+ 2*전환가격;
E = 0; UB=0; // 80L
if 고[1] < 고[0] then 색깔 = 빨강; //82줄
if 색깔[1] != 색깔 and 고[1] < 고[0] and 저[1] > 저[0] then 확인 = 0; //84줄
if 고[1] > 고[0] then { if 고[2] <= 고[1] then 확인 = 천장; else 확인 = 0; } //511p 88줄
if 확인 == 천장 and 확인[1] > 확인 then 확인표시 = 꺾은선 + 3*전환가격; //89
if 색깔[1] != 색깔 then 전환 = 0; if 고[1] > 고[0] and 저[1] > 저[0] then 전환 = 하락;
if 전환 == 하락 and 전환[1] > 전환 then 전환표시 = 꺾은선 + 4*전환가격; }
if 고[1]- 저[1] > 고[0]- 저[1] and 고[0]- 저[1] > 고[0]- 저[0] then {
대중소 = 꺾은선 + 5*전환가격;
대중소색깔 = 파랑 ; //512쪽 97줄
청산 = 1; } // 512쪽 98줄 추가분
if 고[1]- 저[1] < 고[0]- 저[1] and 고[0]- 저[1] < 고[0]- 저[0] then {
소중대= 꺾은선 + 5*전환가격 ;
대중소색깔 = 빨강; } //102줄
#시스템식
#if 고[2]- 저[1] < 고[1]- 저[1] and 고[1]- 저[1] < 고[1]- 저[0] then 청산 = 2;
#if MarketPosition() == 0 then {
#if 진입 == 1 then Buy("눌림목매수"); }
#if MarketPosition()==1 then {
#if 청산 == 1 then ExitLong("대중소");
#if 청산 == 2 then ExitLong("소중대");
#if 저[0] > C then ExitLong("손절매");
#if 고[1]> 고[0] then ExitLong("전고갱신실패"); } //511쪽 116줄. 끝
#지표식
if 꺾은선[1] != 꺾은선 then { //전체 -1수평이동 504 100줄
Plot1(꺾은선,"꺾은선",iff(색깔 == 빨강,RED ,BLUE)); //선그래프
if 확인표시 != 0 then Plot2(확인표시,"확인",BLACK); //점그래프 최대굵기,
if 전환표시 != 0 then Plot3(전환표시, "전환",BLACK); //점그래프 최대굵기,
if 전환표시 != 0 then Plot4(전환표시, "전환속",WHITE); //점그래프 중간굵기, } //504쪽104줄
if 대중소 + 소중대 != 0 then
Plot5(대중소 + 소중대 ,"대중소", iff(대중소색깔 == 빨강,RED,BLUE)); //최대굵기
if 소중대 != 0 then Plot6(소중대,"소중대",WHITE); } //점그래프 중간굵기 108줄
if E표시 != 0 then Plot7(E표시,"E표시",PINK); //점그래프,중간굵기
IF UB표시!=0 Then Plot8(UB표시,"U,B표시", MAGENTA); //점그래프,중간굵기 504쪽 111줄.End
답변을 기다립니다,, 예 감사합니다.