커뮤니티
문의 드립니다.
2011-12-26 09:55:37
604
글번호 46024
매번 감사드립니다.
- 1. 지표.zip (0.35 MB)
답변 1
예스스탁 예스스탁 답변
2011-12-27 10:33:51
안녕하세요
예스스탁입니다.
1.
색상예약어 외의 색을 지정하실때는 RGB함수를 이용하셔야 합니다.
아래 링크를 참고하시기 바랍니다.
https://www.yesstock.com/YesTrader/YesLanguage/YesLanguage_help/3_7_5_11_rgb.htm
RGB코드는 게시판에서 제목+내용으로 RGB코드로 검색하시면 나오는 글에서
엑셀파일을 다운받아보시면 됩니다.
2.
해당식은 계산상 -값이나 +로 높은 값이 나올수 밖에 없습니다.
선물의 경우는 현재봉 포함 일정기간동안의 최고가와 최저가 사이에서
현재가의 위치를 찾는 식이므로 0~1사이의 값이 나오지만
참조데이터의 경우는 선물의 일정기간 최고가와 최저가가 나온봉에서의
각 값을 기준으로 하므로 현재가가 그보다 높거나 낮게 되면 -로 낮은수나 +로 높은수가 발생합니다.
예를 들어 현재 else if C < 0.5 * (HH + LL) Then 상태가 만족하고
현재콜값은 10인데 선물최고점에서 콜고가는 9이고 선물최저점에서 콜저가는 7이라면
y = (HHC - data2(C))/(HHC - LLC);
위 계산상 (10-9)/(9-7)해서 -0.5가 발생합니다. 만약 x값이 0.1이라면
-0.5/0.1로 -5라는 값이 도출됩니다.
HHC,LLC,data2(c)
혹은
HHP,LLC,data3(c)
를 지표로 그려보시면 고가값과 저가값 영역 밖에 현재가가 위치한
봉들을 많이 보실 수 있습니다.
이런 봉들에서는 의도한신 값보다 더 높은 값이나 낮은값이 나올수 밖에 없습니다,
따로 처리할 방법이 없으므로 계산식을 다른게 구상해 보셔야 할 것 같습니다
또한 주종목의 특정시점의 참조데이터의 값을 이전값참조로 가져와야 하므로
수식을 아래와 같이 변수처리해서 참조데이터를 이용하셔야 합니다.
각 변수에 참조데이터의 값을 저장하되 이전값의 참조는 주종목의 봉수로 하게 만드셔야 합니다.
input: n(100);
var : HH(0,data1), LL(0,data1), HHC(0,data1), LLC(0,data1), HHP(0,data1), LLP(0,data1), x(0,data1), y(0,data1), z(0,data1);
var : D2H(0,data1),D2L(0,data1),D3H(0,data1),D3L(0,data1),va1(0,data1),va2(0,data1);
va1 = data1(NthHighestBar(1, H, n));
va2 = data1(NthLowestBar(1, L, n));
HH = H[va1];
LL = L[va2];
D2H = data2(H);
D2L = data2(L);
D3H = data3(H);
D3L = data3(L);
if C >= 0.5 * (HH + LL) then
{
x = (C - LL)/(HH - LL);
HHC = d2H[va1];
LLC = d2L[va2];
y = (data2(C) - LLC)/(HHC - LLC);
HHP = d3H[va2];
LLP = d3L[va1];
z = (HHP - data3(C))/(HHP - LLP);
Plot1(y/x, "콜", Red, def, 0);
Plot2(x/z, "풋", Blue, def, 0);
}
else if C < 0.5 * (HH + LL) Then
{
x = (HH - C)/(HH - LL);
HHC = d2H[va1];
LLC = d2L[va2];
y = (HHC - data2(C))/(HHC - LLC);
HHP = d3H[va2];
LLP = d3L[va1];
z = (data3(C) - LLP)/(HHP - LLP);
Plot1(x/y, "콜", Yellow, def, 2);
Plot2(z/x, "풋", Black, def, 2);
}
Plotbaseline1(1, "기준", Green, def, 0);
3.
input: n(100);
var : HH(0,data1), LL(0,data1), HHC(0,data1), LLC(0,data1), HHP(0,data1), LLP(0,data1), x(0,data1), y(0,data1), z(0,data1);
var : D2H(0,data1),D2L(0,data1),D3H(0,data1),D3L(0,data1),va1(0,data1),va2(0,data1);
var : daycnt(0,data1),dcnt(0,data1),dcnt1(0,data1),dcnt2(0,data1);
if data1(date != date[1]) Then{
daycnt = daycnt+1;
dcnt = dcnt+1;
dcnt1 = dcnt[1];#전일봉수
dcnt2 = dcnt1[1];#전전일 봉수
}
#당일봉수
dcnt = dcnt+1;
if daycnt >= 3 Then{
va1 = data1(NthHighestBar(1, H, Dcnt+dcnt1+dcnt2));
va2 = data1(NthLowestBar(1, L, n));
HH = H[va1];
LL = L[va2];
D2H = data2(H);
D2L = data2(L);
D3H = data3(H);
D3L = data3(L);
if C >= 0.5 * (HH + LL) then
{
x = (C - LL)/(HH - LL);
HHC = d2H[va1];
LLC = d2L[va2];
y = (data2(C) - LLC)/(HHC - LLC);
HHP = d3H[va2];
LLP = d3L[va1];
z = (HHP - data3(C))/(HHP - LLP);
Plot1(y/x, "콜", Red, def, 0);
Plot2(x/z, "풋", Blue, def, 0);
}
else if C < 0.5 * (HH + LL) Then
{
x = (HH - C)/(HH - LL);
HHC = d2H[va1];
LLC = d2L[va2];
y = (HHC - data2(C))/(HHC - LLC);
HHP = d3H[va2];
LLP = d3L[va1];
z = (data3(C) - LLP)/(HHP - LLP);
Plot1(x/y, "콜", Yellow, def, 2);
Plot2(z/x, "풋", Black, def, 2);
}
Plotbaseline1(1, "기준", Green, def, 0);
}
4.
아래와 같이 풀어서 작성하셔야 합니다.
이전값 참조는 각 변수의 뒤에 [2]와 같이 붙이셔서 사용하시면 됩니다.
input : Short(12),Long(26),Sig(9);
input : Sto1(10),Sto2(5),Sto3(5);
input : BBperiod(20),Dv(2);
var : D2CMACDv(0,data2),D2CMACDS(0,data2);
var : D2CFstK(0,data2),D2CStoK(0,data2),D2CStoD(0,data2);
var : D2CBBup(0,data2),D2CBBdn(0,data2);
var : D2HMACDv(0,data2),D2HMACDS(0,data2);
var : D2HFstK(0,data2),D2HStoK(0,data2),D2HStoD(0,data2);
var : D2HBBup(0,data2),D2HBBdn(0,data2);
#data2(c)
D2CMACDV = data2(ema(C,Short)-ema(C,Long));
D2CMACDS = data2(ema(D2CMACDV,sig));
D2CFstK = data2((Close - Lowest(C,Sto1)) / (highest(C,Sto1) - Lowest(C,Sto1)) * 100);
D2CStoK = data2(ema(D2CFstK,Sto2));
D2CStoD = data2(ema(D2CFstK,Sto3));
D2CBBup = data2(ma(c,BBPeriod)+STD(C,BBPeriod)*dv);
D2CBBdn = data2(ma(c,BBPeriod)-STD(C,BBPeriod)*dv);
#data2(H)
D2HMACDV = data2(ema(H,Short)-ema(H,Long));
D2HMACDS = data2(ema(D2CMACDV,sig));
D2HFstK = data2((H - Lowest(H,Sto1)) / (highest(H,Sto1) - Lowest(H,Sto1)) * 100);
D2HStoK = data2(ema(D2CFstK,Sto2));
D2HStoD = data2(ema(D2CFstK,Sto3));
D2HBBup = data2(ma(H,BBPeriod)+STD(H,BBPeriod)*dv);
D2HBBdn = data2(ma(H,BBPeriod)-STD(H,BBPeriod)*dv);
즐거운 하루되세요
> 에구머니 님이 쓴 글입니다.
> 제목 : 문의 드립니다.
> 매번 감사드립니다.
다음글