예스스탁
예스스탁 답변
2025-05-16 11:04:36
안녕하세요
예스스탁입니다.
Inputs:
MA_Length(20), // 이동 평균 길이 (기본 20)
Speed_Factor_1(0.03), // 1,000원 이하 종목의 속도 가중치
Speed_Factor_2(0.025), // 1,000원 ~ 5,000원 종목의 속도 가중치
Speed_Factor_3(0.02), // 5,000원 ~ 10,000원 종목의 속도 가중치
Speed_Factor_4(0.015), // 10,000원 ~ 50,000원 종목의 속도 가중치
Speed_Factor_5(0.01), // 50,000원 이상 종목의 속도 가중치
Lookback_Period_1(30), // 1,000원 이하 종목의 Lookback 기간
Lookback_Period_2(50), // 1,000원 ~ 5,000원 종목의 Lookback 기간
Lookback_Period_3(75), // 5,000원 ~ 10,000원 종목의 Lookback 기간
Lookback_Period_4(100), // 10,000원 ~ 50,000원 종목의 Lookback 기간
Lookback_Period_5(150); // 50,000원 이상 종목의 Lookback 기간
Vars:
i(0),
MA(0),
Speed(0),
Trend_Line(0),
Total_Speed(0),
Speed_Avg(0),
Speed_Factor(0), // 가격대별 선택된 속도 가중치
Lookback_Period(0), // 가격대별 선택된 Lookback 기간
Color_Code(0); // 추세선 색상 (상승 초록, 하락 빨강)
Arrays:
Speed_Array[500](0) ; // 배열 크기 지정 // 최대 500칸 배열로 설정 (Lookback 데이터 저장)
// === 1. 가격대별 변수 설정 ===
If Close < 1000 Then Begin
// 1,000원 이하 종목
Speed_Factor = Speed_Factor_1;
Lookback_Period = Lookback_Period_1;
End
Else If Close < 5000 Then Begin
// 1,000원 ~ 5,000원 종목
Speed_Factor = Speed_Factor_2;
Lookback_Period = Lookback_Period_2;
End
Else If Close < 10000 Then Begin
// 5,000원 ~ 10,000원 종목
Speed_Factor = Speed_Factor_3;
Lookback_Period = Lookback_Period_3;
End
Else If Close < 50000 Then Begin
// 10,000원 ~ 50,000원 종목
Speed_Factor = Speed_Factor_4;
Lookback_Period = Lookback_Period_4;
End
Else Begin
// 50,000원 이상 종목
Speed_Factor = Speed_Factor_5;
Lookback_Period = Lookback_Period_5;
End;
// === 2. 이동 평균 계산 ===
MA = Average(Close, MA_Length); // 지정된 길이로 이동 평균 계산
// === 3. 실시간 가격 속도 계산 ===
For i = 0 to Lookback_Period - 1 Begin
// 각 봉의 가격 속도를 계산하여 배열에 저장
Speed_Array[i] = (Close[i] - MA) * Speed_Factor;
End;
// === 4. 속도 합계 및 평균 계산 ===
Total_Speed = 0;
For i = 0 to Lookback_Period - 1 Begin
// Lookback 기간 동안의 속도를 합산
Total_Speed = Total_Speed + Abs(Speed_Array[i]);
End;
Speed_Avg = Total_Speed / Lookback_Period; // 평균 속도 계산
// === 5. 현재 속도 계산 ===
Speed = (Close - MA) * Speed_Factor; // 현재 봉의 속도 계산
Trend_Line = MA + Speed; // 속도를 더한 다이나믹 추세선
// === 6. 다이나믹 추세선 출력 ===
If CrossUp(Speed,0) Then
Find(1);
즐거운 하루되세요
> 행복만땅 님이 쓴 글입니다.
> 제목 : 검색식 부탁합니다
> 종목검색식 부탁드립니다
조건은 색상이 적색에서 녹색으로 변하는 시점입니다
Inputs:
MA_Length(20), // 이동 평균 길이 (기본 20)
Speed_Factor_1(0.03), // 1,000원 이하 종목의 속도 가중치
Speed_Factor_2(0.025), // 1,000원 ~ 5,000원 종목의 속도 가중치
Speed_Factor_3(0.02), // 5,000원 ~ 10,000원 종목의 속도 가중치
Speed_Factor_4(0.015), // 10,000원 ~ 50,000원 종목의 속도 가중치
Speed_Factor_5(0.01), // 50,000원 이상 종목의 속도 가중치
Lookback_Period_1(30), // 1,000원 이하 종목의 Lookback 기간
Lookback_Period_2(50), // 1,000원 ~ 5,000원 종목의 Lookback 기간
Lookback_Period_3(75), // 5,000원 ~ 10,000원 종목의 Lookback 기간
Lookback_Period_4(100), // 10,000원 ~ 50,000원 종목의 Lookback 기간
Lookback_Period_5(150); // 50,000원 이상 종목의 Lookback 기간
Vars:
i(0),
MA(0),
Speed(0),
Trend_Line(0),
Total_Speed(0),
Speed_Avg(0),
Speed_Factor(0), // 가격대별 선택된 속도 가중치
Lookback_Period(0), // 가격대별 선택된 Lookback 기간
Color_Code(0); // 추세선 색상 (상승 초록, 하락 빨강)
Arrays:
Speed_Array[500](0) ; // 배열 크기 지정 // 최대 500칸 배열로 설정 (Lookback 데이터 저장)
// === 1. 가격대별 변수 설정 ===
If Close < 1000 Then Begin
// 1,000원 이하 종목
Speed_Factor = Speed_Factor_1;
Lookback_Period = Lookback_Period_1;
End
Else If Close < 5000 Then Begin
// 1,000원 ~ 5,000원 종목
Speed_Factor = Speed_Factor_2;
Lookback_Period = Lookback_Period_2;
End
Else If Close < 10000 Then Begin
// 5,000원 ~ 10,000원 종목
Speed_Factor = Speed_Factor_3;
Lookback_Period = Lookback_Period_3;
End
Else If Close < 50000 Then Begin
// 10,000원 ~ 50,000원 종목
Speed_Factor = Speed_Factor_4;
Lookback_Period = Lookback_Period_4;
End
Else Begin
// 50,000원 이상 종목
Speed_Factor = Speed_Factor_5;
Lookback_Period = Lookback_Period_5;
End;
// === 2. 이동 평균 계산 ===
MA = Average(Close, MA_Length); // 지정된 길이로 이동 평균 계산
// === 3. 실시간 가격 속도 계산 ===
For i = 0 to Lookback_Period - 1 Begin
// 각 봉의 가격 속도를 계산하여 배열에 저장
Speed_Array[i] = (Close[i] - MA) * Speed_Factor;
End;
// === 4. 속도 합계 및 평균 계산 ===
Total_Speed = 0;
For i = 0 to Lookback_Period - 1 Begin
// Lookback 기간 동안의 속도를 합산
Total_Speed = Total_Speed + Abs(Speed_Array[i]);
End;
Speed_Avg = Total_Speed / Lookback_Period; // 평균 속도 계산
// === 5. 현재 속도 계산 ===
Speed = (Close - MA) * Speed_Factor; // 현재 봉의 속도 계산
Trend_Line = MA + Speed; // 속도를 더한 다이나믹 추세선
// === 6. 다이나믹 추세선 출력 ===
If Speed > 0 Then Begin
// 상승 추세일 때 초록색 선
Plot1(Trend_Line, "Dynamic_Trend_Line", RGB(0, 200, 0)); // 상승 (초록)
End
Else Begin
// 하락 추세일 때 빨간색 선
Plot1(Trend_Line, "Dynamic_Trend_Line", RGB(200, 0, 0)); // 하락 (빨강)
End;
// === 7. 히스토그램 출력 ===
//Plot2(Speed, "Speed_Histogram", RGB(0, 0, 200)); // 실시간 속도를 히스토그램으로 출력 (파란색)