답변완료
수식 수정 의뢰드립니다!
안녕하세요!
어제 만들어 주신 수식을 적용해보니 전일 저점이나 전일 고점과 당일 첫 고점이나
첫 저점과 파동이 연결되서 수치가 나오네요!
전일파동과 연결되지 않고 당일 장이 열리면 첫파동의 고점과 저점이 연결되도록
다시 한번 수정을 주탁드립니다!
감사합니다!
Input:length(10),종가사용여부(0),파동선두께(2),수치표시(1);
Var:j(0),jj(0),HH(0),LL(0),최종고가(0),최종저가(0),최종꼭지점(""),처리구분(""),
TL1(0),Text1(0),text2(0),TL2(0);
Array:고[10,4](0),저[10,4](0); // 1:가격,2:Index,3:sDate,4:sTime
#==========================================#
HH = IFF(종가사용여부==1,C,H);
LL = IFF(종가사용여부==1,C,L);
If Index == 0 Then
{
고[1,1] = HH;
저[1,1] = LL;
}
Condition1 = Highest(HH,length) == HH and 최종고가 <> HH;
Condition2 = Lowest (LL,length) == LL and 최종저가 <> LL;
처리구분 = "";
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
{
최종고가 = HH; // 신규고점을 체크하기 위해 저장
If 최종꼭지점 == "저점" Then
{
For j = 10 DownTo 2
{
For jj = 1 To 4
{
고[j,jj] = 고[j-1,jj];
}
}
고[1,1] = HH;
고[1,2] = Index;
고[1,3] = sDate;
고[1,4] = sTime;
// TL1 = TL_New(저[1,3],저[1,4],저[1,1],고[1,3],고[1,4],고[1,1]);
var1 = 고[2,1]-저[1,1];
// TL2 = TL_New(저[1,3],저[1,4],저[1,1]-var1,sDate,sTime,저[1,1]-var1);
If 수치표시 == 1 Then
{
Text1 = Text_New(고[1,3],고[1,4],고[1,1],NumToStr(고[1,1],2));
Text_SetStyle(Text1, 2, 1);
Text2 = Text_New(고[1,3],고[1,4],고[1,1],NumToStr(고[1,1]-저[1,1],2)+NewLine);
Text_SetStyle(Text2, 2, 1);
Text_SetColor(text2,RED);
}
TL_SetSize(TL1,파동선두께);
TL_SetColor(TL1,GREEN);
TL_SetSize(TL2,파동선두께);
TL_SetColor(TL2,BLUE);
}
Else If 고[1,1] < HH Then // 1번 고점보다 높은 고가 출현
{
고[1,1] = HH;
고[1,2] = Index;
고[1,3] = sDate;
고[1,4] = sTime;
TL_SetEnd(TL1,고[1,3],고[1,4],고[1,1]);
TL_SetEnd(TL2,고[1,3],고[1,4],저[1,1]-var1);
// 시작점은 변동없고 끝점의 위치가 현재 봉으로 연장된 것임
If 수치표시 == 1 Then
{
Text_SetLocation(Text1,고[1,3],고[1,4],고[1,1]);
Text_SetString(Text1,NumToStr(고[1,1],2));
Text_SetLocation(Text2,고[1,3],고[1,4],고[1,1]);
Text_SetString(Text2,NumToStr(고[1,1]-저[1,1],2)+NewLine);
}
}
최종꼭지점 = "고점";
}
#==========================================#
If 처리구분 == "저점처리" Then
{
최종저가 = LL;
If 최종꼭지점 == "고점" then
{
For j = 10 DownTo 2
{
For jj = 1 To 4
{
저[j,jj] = 저[j-1,jj];
}
}
저[1,1] = LL;
저[1,2] = Index;
저[1,3] = sDate;
저[1,4] = sTime;
// TL1 = TL_New(고[1,3],고[1,4],고[1,1],저[1,3],저[1,4],저[1,1]);
var1 = 고[1,1]-저[2,1];
// TL2 = TL_New(고[1,3],고[1,4],고[1,1]+var1,sDate,sTime,고[1,1]+var1);
If 수치표시 == 1 Then
{
Text1 = Text_New(저[1,3],저[1,4],저[1,1],NumToStr(저[1,1],2));
Text_SetStyle(Text1, 2, 0);
Text2 = Text_New(저[1,3],저[1,4],저[1,1],NewLine+NumToStr(저[1,1]-고[1,1],2));
Text_SetStyle(Text2, 2, 0);
Text_SetColor(text2,RED);
}
TL_SetSize(TL1,파동선두께);
TL_SetColor(TL1,GREEN);
TL_SetSize(TL2,파동선두께);
TL_SetColor(TL2,RED);
}
Else If 저[1,1] > LL then
{
저[1,1] = LL;
저[1,2] = Index;
저[1,3] = sDate;
저[1,4] = sTime;
TL_SetEnd(TL1,저[1,3],저[1,4],저[1,1]);
TL_SetEnd(TL2,저[1,3],저[1,4],고[1,1]+var1);
If 수치표시 == 1 Then
{
Text_SetLocation(Text1,저[1,3],저[1,4],저[1,1]);
Text_SetString(Text1,NumToStr(저[1,1],2));
Text_SetLocation(Text2,저[1,3],저[1,4],저[1,1]);
Text_SetString(Text2,NewLine+NumToStr(저[1,1]-고[1,1],2));
}
}
최종꼭지점 = "저점";
}
---------------------------------------------------------
아래 수식도 지난번에 만들어 주신 수식인데 수정을 부탁드려요!
당일 장이 시작되면 아래와 같이 텍스트표시가 나오도록 첨부 수식 수정을 부탁드립니다!
표시 예)
전일고가 / 415.40
전일저가 / 410.30
전일진폭 / 5.10
진폭1 / 13.35 (5.10 x 2.618 = 8.25) <---가로안 계산식은 표시 x
진폭2 / 8.25 (5.10 x 1.618 = 8.25) <---가로안 계산식은 표시 x
진폭3 / 3.15 (5.10 x 0.618 = 3.15) <---가로안 계산식은 표시 x
진폭4 / 7.05 (5.10 x 1.382 = 7.05) <---가로안 계산식은 표시 x
진폭5 / 1.95 (5.10 x 0.382 = 1.95) <---가로안 계산식은 표시 x
진폭6 / 1.20 (5.10 x 0.236 = 1.20) <---가로안 계산식은 표시 x
진폭7 / 1.20 (5.10 x 0.615 = 3.14) <---가로안 계산식은 표시 x
진폭8 / 1.20 (5.10 x 0.75 = 3.82) <---가로안 계산식은 표시 x
진폭9 / 1.20 (5.10 x 0.85 = 4.33) <---가로안 계산식은 표시 x
진폭10 / 1.20 (5.10 x 1.17 = 5.967) <---가로안 계산식은 표시 x
진폭11 / 1.20 (5.10 x 0.15 = 0.765) <---가로안 계산식은 표시 x
var : str(""),tx(0);
str = "시가 / "+NumToStr(DayOpen(0),2)+NewLine+
"고가 / "+NumToStr(DayHigh(0),2)+NewLine+
"저가 / "+NumToStr(DayLow(0),2)+NewLine+
"종가 / "+NumToStr(DayClose(0),2);
if NextBarSdate != sDate Then
{
Text_Delete(tx);
if C > (DayHigh(0)+daylow(0))/2 Then
{
tx = Text_New(sDate,sTime,C+PriceScale*10,str);
Text_SetStyle(tx,2,1);
}
Else
{
tx = Text_New(sDate,sTime,C-PriceScale*10,str);
Text_SetStyle(tx,2,0);
}
}
------------------------------------------------
아래식대로 당일 장이 시작되면 선으로 나타나게끔 수식을 부탁드립니다!
1. 전일고가와 저가의 진폭만큼 전일 고가와 저가를 기준으로 당일 선으로 표시
2. 전일시가와 당일시가의 진폭만큼 당일시가를 기준으로 위와 아래로 선으로 표시
3. 전일종가와 당일시가의 진폭만큼 당일시가를 기준으로 위와 아래로 선으로 표시
4. 전일진폭(5.2) / 당일진폭(3.85) = 1.35를 당일 고가 - 1.35 만큼 실시간 선으로 표시
= 1.35를 당일 저가 + 1.35 만큼 실시간 선으로 표시
(고가와 저가는 장중에 실시간으로 변경되니 선도 같이 변화됩니다)
5. 전일진폭(5.2) x 0.236 = 1.23을 당일 고가 - 1.23 만큼 실시간 선으로 표시
= 1.23을 당일 저가 + 1.23 만큼 실시간 선으로 표시
(고가와 저가는 장중에 실시간으로 변경되니 선도 같이 변화됩니다)
* 선의 색상과 굵기는 수정 할 수 있게 외부입력으로 만들어 주세요!
항상 노고에 감사합니다!
2021-08-31
1125
글번호 151888
지표