커뮤니티

지표 수정 의뢰드려요

프로필 이미지
qha71
2018-11-22 17:12:55
346
글번호 123750
답변완료
안녕하세요! 수식 확인좀 해주세요! 첨부된 그림1 은 아래 수식으로 만든 겁니다 그런데 첨부된 그림처럼 제 화면에선 15분챠트에서 저렇게 표현이 되질 않는군요! 무엇이 문제인지 잘 모르겠습니다. 확인 좀 부탁드립니다! 그리고 5분 챠트에서는 첨부 그림 처럼 표현 될 수 없는건가요? Input:Period(2000),Percent(20); Var:j(0),k(0),행번호(0),cnt(0),총거래량(0),추가행(0),추정거래량(0); Array:가격대[1000](0),거래량[1000](0),구간[11](0),부분합[10](0),비율[10](0); If Index == 0 then { #----------------------------------------------------------------------------------# # 가격대를 배열변수에 세팅한다. # 첫번째 봉에서 한번만 수행하고 이후는 추가행으로 처리 #----------------------------------------------------------------------------------# 가격대[0] = (Int(Round(H/PriceScale/100,9))+3) * PriceScale * 100; //200틱 이상 둠 for 행번호 = 0 to 998 { 가격대[행번호+1] = 가격대[행번호] - PriceScale; //가격대 배열에 가격 대입둠 } } #----------------------------------------------------------------------------------# # 가격대를 위로 벗어날 경우 행을 추가한다. #----------------------------------------------------------------------------------# if 가격대[0] <= H + PriceScale * 100 then //고가가 가격대 배열 이상이 되면 { for 행번호 = 899 downto 0 { 가격대[행번호+100] = 가격대[행번호]; //추가행만큼 뒤로 옮긴다 거래량[행번호+100] = 거래량[행번호]; } 가격대[0] = 가격대[0] + PriceScale * 100; //추가된 행에 가격 재설정 for 행번호 = 0 to 99 { 가격대[행번호+1] = 가격대[행번호] - PriceScale; } for 행번호 = 0 to 100 //추가된 행의 나머지 항목은 { 거래량[행번호] = 0; //0값으로 초기화 } } #----------------------------------------------------------------------------------# # 반대로 가격이 하락세라면 상단의 빈가격대 행을 삭제한다. #----------------------------------------------------------------------------------# if 가격대[0] > highest(H,Period) + PriceScale * 300 then //가격 하락 추세일 경우 { for 행번호 = 0 to 899 { 가격대[행번호] = 가격대[행번호+100]; //100행만큼 앞으로 옮긴다 거래량[행번호] = 거래량[행번호+100]; } for 행번호 = 899 to 998 { 가격대[행번호+1] = 가격대[행번호] - PriceScale; } for 행번호 = 900 to 999 //추가된 행의 나머지 항목은 { 거래량[행번호] = 0; //0값으로 초기화 } } #----------------------------------------------------------------------------------# # 현재 봉의 거래량을 걸쳐있는 가격대에 분배 #----------------------------------------------------------------------------------# cnt = 0; for 행번호 = 0 to 999 { if L <= 가격대[행번호] and 가격대[행번호] <= H then //현재 봉 가격대가 몇가격대 cnt = cnt + 1; //걸쳐져 있는지 계산 } 추정거래량 = OI/cnt; //가격대별 배분할 거래량 //두번 연산하는 셈인데 위에서는 몇가격대에 걸쳐 있는지 판단하기 위함이고 //아래는 가격대에 해당 거래량을 누적하는 것임 for 행번호 = 0 to 999 { if L <= 가격대[행번호] and 가격대[행번호] <= H then { 거래량[행번호] = 거래량[행번호] + 추정거래량; } } #----------------------------------------------------------------------------------# # 이전 봉의 거래량을 걸쳐있는 가격대에 차감 #----------------------------------------------------------------------------------# If Index >= Period Then { cnt = 0; for 행번호 = 0 to 999 { if L[Period] <= 가격대[행번호] and 가격대[행번호] <= H[Period] then cnt = cnt + 1; } 추정거래량 = OI[Period]/cnt; for 행번호 = 0 to 999 { if L[Period] <= 가격대[행번호] and 가격대[행번호] <= H[Period] then { 거래량[행번호] = 거래량[행번호] - 추정거래량; } } } #----------------------------------------------------------------------------------# # 10개 구간의 구간별 거래량 비율 계산 #----------------------------------------------------------------------------------# 총거래량 = 총거래량 + OI - Iff(Index>=Period,OI[Period],0); For j = 0 To 9 { 구간[j] = 가격대[j*100]; 부분합[j] = 0; } 구간[10] = 가격대[999]-PriceScale; k = 0; For j = 0 To 999 { If 구간[k] >= 가격대[j] && 구간[k+1] < 가격대[j] Then 부분합[k] = 부분합[k] + 거래량[j]; Else k = k + 1; } For j = 0 To 9 { 비율[j] = 부분합[j] * 100 / 총거래량; } if 비율[0] >= percent then plot1(구간[0],"상단1",iff(비율[0]>=40,RGB(130,130,130),iff(비율[0]>=30,RGB(155,155,155),iff(비율[0]>=20,RGB(180,180,180),iff(비율[0]>=10,RGB(205,205,205),RGB(230,230,230)))))); if 비율[0] >= percent then Plot2(구간[1],"하단1",RGB(255,255,255)); if 비율[1] >= percent then Plot3(구간[1],"상단2",iff(비율[1]>=40,RGB(130,130,130),iff(비율[1]>=30,RGB(155,155,155),iff(비율[1]>=20,RGB(180,180,180),iff(비율[1]>=10,RGB(205,205,205),RGB(230,230,230)))))); if 비율[1] >= percent then plot4(구간[2],"하단2",RGB(255,255,255)); if 비율[2] >= percent then Plot5(구간[2],"상단3",iff(비율[2]>=40,RGB(130,130,130),iff(비율[2]>=30,RGB(155,155,155),iff(비율[2]>=20,RGB(180,180,180),iff(비율[2]>=10,RGB(205,205,205),RGB(230,230,230)))))); if 비율[2] >= percent then plot6(구간[3],"하단3",RGB(255,255,255)); if 비율[3] >= percent then Plot7(구간[3],"상단4",iff(비율[3]>=40,RGB(130,130,130),iff(비율[3]>=30,RGB(155,155,155),iff(비율[3]>=20,RGB(180,180,180),iff(비율[3]>=10,RGB(205,205,205),RGB(230,230,230)))))); if 비율[3] >= percent then plot8(구간[4],"하단4",RGB(255,255,255)); if 비율[4] >= percent then Plot9(구간[4],"상단5",iff(비율[4]>=40,RGB(130,130,130),iff(비율[4]>=30,RGB(155,155,155),iff(비율[4]>=20,RGB(180,180,180),iff(비율[4]>=10,RGB(205,205,205),RGB(230,230,230)))))); if 비율[4] >= percent then plot10(구간[5],"하단5",RGB(255,255,255)); if 비율[5] >= percent then Plot11(구간[5],"상단6",iff(비율[5]>=40,RGB(130,130,130),iff(비율[5]>=30,RGB(155,155,155),iff(비율[5]>=20,RGB(180,180,180),iff(비율[5]>=10,RGB(205,205,205),RGB(230,230,230)))))); if 비율[5] >= percent then plot12(구간[6],"하단6",RGB(255,255,255)); if 비율[6] >= percent then plot13(구간[6],"상단7",iff(비율[6]>=40,RGB(130,130,130),iff(비율[6]>=30,RGB(155,155,155),iff(비율[6]>=20,RGB(180,180,180),iff(비율[6]>=10,RGB(205,205,205),RGB(230,230,230)))))); if 비율[6] >= percent then Plot14(구간[7],"하단7",RGB(255,255,255)); if 비율[7] >= percent then Plot15(구간[7],"상단8",iff(비율[7]>=40,RGB(130,130,130),iff(비율[7]>=30,RGB(155,155,155),iff(비율[7]>=20,RGB(180,180,180),iff(비율[7]>=10,RGB(205,205,205),RGB(230,230,230)))))); if 비율[7] >= percent then plot16(구간[8],"하단8",RGB(255,255,255)); if 비율[8] >= percent then Plot17(구간[8],"상단9",iff(비율[8]>=40,RGB(130,130,130),iff(비율[8]>=30,RGB(155,155,155),iff(비율[8]>=20,RGB(180,180,180),iff(비율[8]>=10,RGB(205,205,205),RGB(230,230,230)))))); if 비율[8] >= percent then plot18(구간[9],"하단9",RGB(255,255,255)); if 비율[9] >= percent then Plot19(구간[9],"상단10",iff(비율[9]>=40,RGB(130,130,130),iff(비율[9]>=30,RGB(155,155,155),iff(비율[9]>=20,RGB(180,180,180),iff(비율[9]>=10,RGB(205,205,205),RGB(230,230,230)))))); if 비율[9] >= percent then plot20(구간[10],"하단10",RGB(255,255,255)); ------------------------------------------------------------------------- 볼린저밴드 상단선과 하단선의 색상 변경을 부탁드립니다. 첨부된 그림2 처럼 볼린저밴드 상단과 하단선이 주가가 상승하면 빨강색, 하락시엔 파랑색으로 바뀌도록 수식을 부탁드립니다. 나중에 색변경을 할 수있도록 부탁드려요! -------------------------------------------------------------------------- 그림3은 키움의 챠트 입니다! 첨부그림3 처럼 선물이나 옵션에서 호가의 잔량차이를 0선을 기준으로 위 아래로 색상을 달리 표현을 할 수 있을까요? 방법을 알려주시길 부탁드려요!
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2018-11-22 11:06:23

안녕하세요? 예스스탁입니다. 문의하신 내용 답변드립니다. 1. 지표를 더블클릭하여 지표속성창의 차트표시탭에서 지표를 모두를 '막대그래프' 굵기는 '자동'으로 선택해서 적용하시면 됩니다. 5분봉 차트도 15분 차트와 마찬가지 형태로 그려집니다. 2. Input : Period(20), MultiD(2); var : MAv(0),BBup(0),BBdn(0); MAv = ma(C,Period); BBup = BollBandUp(Period,MultiD); BBdn = BollBandDown(Period,MultiD); if MAv > MAv[1] then Plot1(MAv, "이평", Red); Else Plot1(MAv, "이평", blue); if BBup > BBup[1] then Plot2(BBup, "상단밴드", Red); Else Plot2(BBup, "상단밴드", Blue); if BBdn > BBdn[1] Then Plot3(BBdn, "하단밴드", Red); Else Plot3(BBdn, "하단밴드", Blue); 3. //지표속성은 막대그래프로 설정 var1 = bids-asks; if var1 > 0 Then plot1(var1, "호가잔량차이", red); Else plot1(var1,"호가잔량차이", blue); 감사합니다.