예스스탁
예스스탁 답변
2024-10-31 14:28:52
안녕하세요
예스스탁입니다.
input : 표시위치(1);
var : WeekOC(0),WeekOL(0),MonthOC(0);
Array : WeekO[20](0),WeekC[20](0),WeekL[20](0);
Array : MonthO[20](0),MonthC[20](0);
Array : YearO[20](0),YearC[20](0);
Array : VV[20](0),TX[20](0);
var : cnt(0), sum1(0),mav1(0),LL(0),sum2(0),mav2(0);
if DayOfWeek(Bdate) < DayOfWeek(Bdate[1]) Then
{
WeekO[0] = O; #주봉시작일의 시가
For cnt = 1 to 19
{
WeekO[cnt] = WeekO[cnt-1][1];
WeekC[cnt] = WeekC[cnt-1][1];
WeekL[cnt] = WeekL[cnt-1][1];
}
WeekOC = C ; #주봉시작(변경)일의 캔들종가
WeekOL = L ; #주봉시작(변경)일의 캔들저가
WeeKL[0] = L;
For cnt = 19 DownTo 1
{
vv[cnt] = vv[cnt-1]+1;
tx[cnt] = tx[cnt-1];
Text_SetString(Tx[cnt],NumToStr(VV[cnt],0));
}
vv[0] = 0;
tx[0] = Text_New(sDate,sTime,L-표시위치,NumToStr(vv[0],0));
Text_SetStyle(tx[0],2,0);
}
if WeeKL[0] > 0 and L < WeekL[0] Then
WeekL[0] = L;
WeekC[0] = C; #주봉의 종가
if Bdate > Bdate[1]+30 Then
{
MonthO[0] = O; #월봉시작일의 캔들시가
For cnt = 1 to 19
{
MonthO[cnt] = MonthO[cnt-1][1];
MonthC[cnt] = MonthC[cnt-1][1];
}
MonthOC = C ; #월봉시작일의 캔들종가
}
MonthC[0] = C;
if Bdate > Bdate[1]+1000 Then
{
YearO[0] = O; #연봉시작일의 캔들시가
For cnt = 1 to 19
{
YearO[cnt] = YearO[cnt-1][1];
YearC[cnt] = YearC[cnt-1][1];
}
}
YearC[0] = C;
if WeeKC[19] > 0 Then
{
sum1 = 0;
LL = 0;
For cnt = 0 to 19
{
sum1 = sum1 + weekC[cnt];
if LL==0 or (LL > 0 and WeekL[cnt] < LL) Then
LL = WeekL[cnt];
}
mav1 = sum1/20;
}
if WeeKC[4] > 0 Then
{
sum2 = 0;
For cnt = 0 to 4
{
sum2 = sum2 + weekC[cnt];
}
mav2 = sum2/5;
}
if NextBarbdate > Bdate[1]+30 Then
{
if (C > WeeKO[0] and WeekO[0] < mav1 and mav1 > 0 and L == LL) or
(C > WeeKO[0] and WeekO[0] > mav1 and mav1 > 0 and C > MonthO and C < mav2 and mav2 > 0) Then
{
Buy("b");
}
}
즐거운 하루되세요
> 해피오 님이 쓴 글입니다.
> 제목 : 수식문의입니다
> Array : WeekO[20](0),WeekC[20](0);
Array : MonthO[20](0),MonthC[20](0);
Array : YearO[20](0),YearC[20](0);
if DayOfWeek(Bdate) < DayOfWeek(Bdate[1]) Then
{
WeekO[0] = O; #주봉시작일의 시가
For cnt = 1 to 19
{
WeekO[cnt] = WeekO[cnt-1][1];
WeekC[cnt] = WeekC[cnt-1][1];
}
WeekOC = C ; #주봉시작(변경)일의 캔들종가
WeekOL = L ; #주봉시작(변경)일의 캔들저가
}
WeekC[0] = C; #주봉의 종가
if Bdate > Bdate[1]+30 Then
{
MonthO[0] = O; #월봉시작일의 캔들시가
For cnt = 1 to 19
{
MonthO[cnt] = MonthO[cnt-1][1];
MonthC[cnt] = MonthC[cnt-1][1];
}
MonthOC = C ; #월봉시작일의 캔들종가
}
MonthC[0] = C;
if Bdate > Bdate[1]+1000 Then
{
YearO[0] = O; #연봉시작일의 캔들시가
For cnt = 1 to 19
{
YearO[cnt] = YearO[cnt-1][1];
YearC[cnt] = YearC[cnt-1][1];
}
}
YearC[0] = C;
1. 신호수식>>
위의 수식을 활용하여 주봉차트상에서 매월 마지막주의 주봉캔들이 양봉인 경우의 매수신호 수식을 요청드리는 것으로, 다만 마지막주의 주봉캔들 시가가 이평 20주선보다 낮은 경우에는 추가조건으로서 이 캔들의 저가는 20주중 최저가이어야 하고, 20주선보다 시가가 높은 경우에는 양봉이면서 주봉캔들 종가는 해당월의 월시가와 5주선보다 높아야 합니다.
2. 지표수식>>
위 주봉의 시가선(WeekO[0])은 일봉차트상에서 계단식으로 라인이 표시되는데요, 이 라인이 변동될때마다(한주가 변동될때마다) 현재의 주 시작일 봉 저가-표시위치를 입력변수로 설정되게 요망-에 0, 이전주에는 1, 그 이전주는 2....이런씩으로 현재에서 과거로 20개정도 표시되게 할 수 있는 수식을 요청드립니다.