커뮤니티
지표 수정 의뢰드려요
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);
감사합니다.
다음글
이전글