답변완료
수정체결강도 문의
체결강도 수식을 좀 변경해서 사용하고 싶습니다.
예를 들어 아침에 체결강도가 상방 혹은 하방으로 크게 나온경우, 그후 체결강도 방향의 변이가 반대로 바뀌게 된 경우에도, 그래프는 아침의 영향을 받은 방향으로 계속 그래프로 나타내 주게 됩니다.
그래서 그러한 영향을 제거하고자 체결강도 수식을 좀 변경해 보았습니다.
장시작후 처음에는 당일의 체결강도 누적이 영향을 미치게 만들고, 지정시간 이후에는 특정기간 (예를들어 체결강도 60 이평) 이 영향을 미치게 만들고 싶었슴니다.
만들어본 수식은 다음과 같습니다.
input : 지정시간(100000),기간(60);
var : a(0),b(0);
var1 = accumn(upvol,dayindex+1);
var2 = accumn(DownVol,dayindex+1);
var3 = var1/var2*100-100; --> -100 은 기준선을 100 에서 0으로 변경하기 위함.
a=ma(Var3,기간);
if sTime > 지정시간 Then
b = A ;
Else b = Var3 ;
plot3(b,"수정체결강도",IFf(b-b[1]>0,Red,Blue));
결과는 다음과 같습니다.
1분봉 기준 차트에서는 지정시간 9시45분 이후부터 맞아 들어가고, 2분봉 차트의 경우 10시 45분 부터 맞아 들어 가는듯.. (그림1. 참고)
다시 예를들어 2분봉 그래프에서 지정시간을 10시로 맞추어 놓으면, 10시부터 10시 45분 까지는 잘못된 챠트를 그리게 됩니다.
a = ma (var3, 기간);
--> 이 식에서 문제가 발생.
이평 수식을 사용하다 보니 금일 시초가 부터 지정된 수량 60개에 미달할 경우, 60개에서 부족한 수량 만큼을 전일의 체결강도 봉수를 가져오게 되어 오차 발생.
어떠케 하면 이 문제를 해결할수 이쓸까요 ???
(1분봉 2분봉만 사용한다면, 그럭저럭 쓸수도 있겠지만, 3분, 5분, 10분 이런거 볼때 문제가 생김...)
2024-06-05
1238
글번호 180350
지표
답변완료
전환추세 크기 둘
Input : 전환(0.2);
Var:j(0),jj(0),HH(0),LL(0),hiBar(0),loBar(0),최종꼭지점(""),처리구분(""), TL(0),TX(0),TX2(0);
Array:고[10,4](0),저[10,4](0);
HH = H;
LL = L;
If Index == 0 Then
{
고[1,1] = HH;
고[1,2] = 0;
고[1,3] = sDate;
고[1,4] = sTime;
저[1,1] = LL;
저[1,2] = 0;
저[1,3] = sDate;
저[1,4] = sTime;
}
If Index > 0 Then
{
hiBar = hiBar + 1;
loBar = loBar + 1;
}
If HH[hiBar] < HH Then hiBar = 0;
If LL[loBar] > LL Then loBar = 0;
Condition1 = 저[1,1]+전환 <= HH and hiBar == 0;
Condition2 = 고[1,1]-전환 >= LL and loBar == 0;
처리구분 = "";
If Condition1 and Condition2 Then
{
If 최종꼭지점 == "저점" Then
{
If 저[1,1] > LL Then 처리구분 = "저점처리";
Else 처리구분 = "고점처리";
}
Else If 최종꼭지점 == "고점" Then
{
If 고[1,1] < HH Then 처리구분 = "고점처리";
Else 처리구분 = "저점처리";
}
}
Else If Condition1 Then 처리구분 = "고점처리";
Else If Condition2 Then 처리구분 = "저점처리";
If 처리구분 == "고점처리" Then
{
If 최종꼭지점 == "저점" Then
{
For j = 10 DownTo 2
{
For jj = 1 To 4
{
고[j,jj] = 고[j-1,jj];
}
}
고[1,1] = HH[hiBar];
고[1,2] = Index - hiBar;
고[1,3] = sDate[hiBar];
고[1,4] = sTime[hiBar];
hiBar = -1;
loBar = -1;
TL = TL_New(저[1,3],저[1,4],저[1,1],고[1,3],고[1,4],고[1,1]);
TL_SetSize(TL,1);
TL_SetColor(TL,RED);
}
Else If 고[1,1] < HH[hiBar] Then
{
고[1,1] = HH[hiBar];
고[1,2] = Index - hiBar;
고[1,3] = sDate[hiBar];
고[1,4] = sTime[hiBar];
hiBar = -1;
loBar = -1;
TL_SetEnd(TL,고[1,3],고[1,4],고[1,1]);
}
최종꼭지점 = "고점";
Plot1(고[1,1]);
NoPlot(2);
}
If 처리구분 == "저점처리" Then
{
If 최종꼭지점 == "고점" Then
{
For j = 10 DownTo 2
{
For jj = 1 To 4
{
저[j,jj] = 저[j-1,jj];
}
}
저[1,1] = LL[loBar];
저[1,2] = Index - loBar;
저[1,3] = sDate[loBar];
저[1,4] = sTime[loBar];
hiBar = -1;
loBar = -1;
TL = TL_New(고[1,3],고[1,4],고[1,1],저[1,3],저[1,4],저[1,1]);
TL_SetSize(TL,1);
TL_SetColor(TL,BLUE);
Condition99 = False;
}
Else If 저[1,1] > LL[loBar] Then
{
저[1,1] = LL[loBar];
저[1,2] = Index - loBar;
저[1,3] = sDate[loBar];
저[1,4] = sTime[loBar];
hiBar = -1;
loBar = -1;
TL_SetEnd(TL,저[1,3],저[1,4],저[1,1]);
}
최종꼭지점 = "저점";
if Condition99 == False and 저[1,1] <= 고[1,1]-0.45 and 저[2,1] <= 고[2,1]-0.45 Then
{
Condition99 = true;
TL_New(sDate,sTime,0,sDate,sTime,999);
}
Plot2(저[1,1]);
NoPlot(1);
}
하락추세선의 크기가 연속해서 0.45 이상일 때 세로선에서,
두번째 0.45 이상에서 양전환시 매수, 다음봉에 매수청산.
추가. 직전(첫번째) 하락추세선의 크기가 0.9 이상일 때, 다음(두번째,크기 무관) 하락추세선이 양전환시 매수, 다음봉에 매수청산. 감사합니다.
2024-06-05
1327
글번호 180349
시스템