첨부 이미지
그림1
// 지표 설정
Var: Period(20); // 거래량 평균 계산 기간
Var: VolDecreaseRatio(0.7); // 조정 시 거래량 감소 비율
Var: VolIncreaseRatio(1.5); // 변곡점 양봉 시 거래량 증가 비율
Var: AdjustDays(5); // 최소 조정 일수
Var: RangeThreshold(0.02); // 횡보 판단 기준
Var: CandleSizeRatio(2.0); // 장대 양봉 기준
Var: MASupportRange(0.02); // 이평선 지지 범위
Var: D(0); // 루프 변수
Var: Condition1(false); // 횡보 후 장대 양봉 조건
Var: Condition2(false); // 조정 기간 조건
Var: Condition3(false); // 거래량 바닥 조건
Var: Condition4(false); // 변곡점 양봉 조건
Var: Condition5(false); // 이평선 지지 조건
// 이동평균선
Var: MA5(0);
Var: MA10(0);
MA5 = Average(Close, 5);
MA10 = Average(Close, 10);
// 평균 캔들 길이
Var: AvgCandleSize(0);
AvgCandleSize = Average(High - Low, 20);
// 1. 횡보 후 장대 양봉
Var: High10(0);
Var: Low10(0);
High10 = Highest(High, 10)[5];
Low10 = Lowest(Low, 10)[5];
Condition1 = false;
If High10 - Low10 <= Close[5] * RangeThreshold Then
If Close[4] > Open[4] And (High[4] - Low[4]) >= AvgCandleSize * CandleSizeRatio Then
Condition1 = true;
End;
End;
// 2. 조정 기간: 5일 이상 하락 및 거래량 감소
Condition2 = true;
For D = 1 To AdjustDays
If Close[D] >= Close[D-1] or Volume[D] >= Average(Volume, Period) * VolDecreaseRatio Then
Condition2 = false;
Break;
End;
End;
// 3. 거래량 바닥
Var: MinVolume(0);
MinVolume = Lowest(Volume, AdjustDays);
Condition3 = MinVolume <= Average(Volume, Period) * VolDecreaseRatio;
// 4. 변곡점 양봉
Condition4 = Close > Open And Volume >= Average(Volume, Period) * VolIncreaseRatio;
// 5. 이평선 지지
Condition5 = Low >= MA5 * (1 - MASupportRange) And Low <= MA5 * (1 + MASupportRange) Or
Low >= MA10 * (1 - MASupportRange) And Low <= MA10 * (1 + MASupportRange);
// 매수 신호
If Condition1 And Condition2 And Condition3 And Condition4 And Condition5 Then
BuyMarket(100);
End;
첨부한 이미지 파일처럼 오류 나오는데 수정좀 해주실수 있나요?
답변 1
예스스탁
예스스탁 답변
2025-06-12 13:00:53
안녕하세요
예스스탁입니다.
1
문법에 맞게 변경만 해드립니다.
매수신호 발생이 없으면 각 조건 살펴보시기 바랍니다.
2
// 지표 설정
Var: Period(20); // 거래량 평균 계산 기간
Var: VolDecreaseRatio(0.7); // 조정 시 거래량 감소 비율
Var: VolIncreaseRatio(1.5); // 변곡점 양봉 시 거래량 증가 비율
Var: AdjustDays(5); // 최소 조정 일수
Var: RangeThreshold(0.02); // 횡보 판단 기준
Var: CandleSizeRatio(2.0); // 장대 양봉 기준
Var: MASupportRange(0.02); // 이평선 지지 범위
Var: D(0); // 루프 변수
Var: Condition1(false); // 횡보 후 장대 양봉 조건
Var: Condition2(false); // 조정 기간 조건
Var: Condition3(false); // 거래량 바닥 조건
Var: Condition4(false); // 변곡점 양봉 조건
Var: Condition5(false); // 이평선 지지 조건
// 이동평균선
Var: MA5(0);
Var: MA10(0);
MA5 = ma(Close, 5);
MA10 = ma(Close, 10);
// 평균 캔들 길이
Var: AvgCandleSize(0);
AvgCandleSize = ma(High - Low, 20);
// 1. 횡보 후 장대 양봉
Var: High10(0);
Var: Low10(0);
High10 = Highest(High, 10)[5];
Low10 = Lowest(Low, 10)[5];
Condition1 = false;
If High10 - Low10 <= Close[5] * RangeThreshold Then
Begin
If Close[4] > Open[4] And (High[4] - Low[4]) >= AvgCandleSize * CandleSizeRatio Then
Begin
Condition1 = true;
End
End;
// 2. 조정 기간: 5일 이상 하락 및 거래량 감소
Condition2 = true;
var2 = ma(Volume, Period);
For D = 1 To AdjustDays
Begin
If Close[D] >= Close[D-1] or Volume[D] >= var2* VolDecreaseRatio Then
Begin
Condition2 = false;
D = AdjustDays+1;
End
End;
// 3. 거래량 바닥
Var: MinVolume(0);
MinVolume = Lowest(Volume, AdjustDays);
Condition3 = MinVolume <= ma(Volume, Period) * VolDecreaseRatio;
// 4. 변곡점 양봉
Condition4 = Close > Open And Volume >= ma(Volume, Period) * VolIncreaseRatio;
// 5. 이평선 지지
Condition5 = Low >= MA5 * (1 - MASupportRange) And Low <= MA5 * (1 + MASupportRange) Or
Low >= MA10 * (1 - MASupportRange) And Low <= MA10 * (1 + MASupportRange);
// 매수 신호
If Condition1 And Condition2 And Condition3 And Condition4 And Condition5 Then
Begin
buy("b",OnClose,Def,100);
End;
즐거운 하루되세요
> 재규어 님이 쓴 글입니다.
> 제목 : 시스템 코드 오류 해결방안 수정 가능한가요?
> // 지표 설정
Var: Period(20); // 거래량 평균 계산 기간
Var: VolDecreaseRatio(0.7); // 조정 시 거래량 감소 비율
Var: VolIncreaseRatio(1.5); // 변곡점 양봉 시 거래량 증가 비율
Var: AdjustDays(5); // 최소 조정 일수
Var: RangeThreshold(0.02); // 횡보 판단 기준
Var: CandleSizeRatio(2.0); // 장대 양봉 기준
Var: MASupportRange(0.02); // 이평선 지지 범위
Var: D(0); // 루프 변수
Var: Condition1(false); // 횡보 후 장대 양봉 조건
Var: Condition2(false); // 조정 기간 조건
Var: Condition3(false); // 거래량 바닥 조건
Var: Condition4(false); // 변곡점 양봉 조건
Var: Condition5(false); // 이평선 지지 조건
// 이동평균선
Var: MA5(0);
Var: MA10(0);
MA5 = Average(Close, 5);
MA10 = Average(Close, 10);
// 평균 캔들 길이
Var: AvgCandleSize(0);
AvgCandleSize = Average(High - Low, 20);
// 1. 횡보 후 장대 양봉
Var: High10(0);
Var: Low10(0);
High10 = Highest(High, 10)[5];
Low10 = Lowest(Low, 10)[5];
Condition1 = false;
If High10 - Low10 <= Close[5] * RangeThreshold Then
If Close[4] > Open[4] And (High[4] - Low[4]) >= AvgCandleSize * CandleSizeRatio Then
Condition1 = true;
End;
End;
// 2. 조정 기간: 5일 이상 하락 및 거래량 감소
Condition2 = true;
For D = 1 To AdjustDays
If Close[D] >= Close[D-1] or Volume[D] >= Average(Volume, Period) * VolDecreaseRatio Then
Condition2 = false;
Break;
End;
End;
// 3. 거래량 바닥
Var: MinVolume(0);
MinVolume = Lowest(Volume, AdjustDays);
Condition3 = MinVolume <= Average(Volume, Period) * VolDecreaseRatio;
// 4. 변곡점 양봉
Condition4 = Close > Open And Volume >= Average(Volume, Period) * VolIncreaseRatio;
// 5. 이평선 지지
Condition5 = Low >= MA5 * (1 - MASupportRange) And Low <= MA5 * (1 + MASupportRange) Or
Low >= MA10 * (1 - MASupportRange) And Low <= MA10 * (1 + MASupportRange);
// 매수 신호
If Condition1 And Condition2 And Condition3 And Condition4 And Condition5 Then
BuyMarket(100);
End;
첨부한 이미지 파일처럼 오류 나오는데 수정좀 해주실수 있나요?