예스스탁
예스스탁 답변
2025-05-16 14:38:00
안녕하세요
예스스탁입니다.
첨부된 그림과 같이 지표가 표시되고 있습니다.
추가로 수정해 드릴 부분이 없습니다.
2번식은 한글과 영문이 붙어 있는 부분이 있어 수정해 드립니다.
Input: 기준배율(1.8), 익절비율(1.02), 손절비율(0.98);
Var: 기준거래량(0), 진입가(0), 익절가(0), 손절가(0),
진입중(false), 매도완료(false), 승수(0), 총수(0), 승률(0);
// --- 거래 조건 ---
기준거래량 = Average(volume, 20);
If 진입중 == false and 매도완료 == false Then
Begin
If volume > 기준거래량 and
Close > BollBandUp(20, 2) and
Close > Open and
(Close - Open) > (High - Low) * 0.6 Then
Begin
진입가 = Close;
익절가 = 진입가 * 익절비율;
손절가 = 진입가 * 손절비율;
진입중 = true;
총수 = 총수+1;
Text_New(date, time, Close, "BUY");
End;
End;
// --- 청산 조건 ---
If 진입중 == true and 매도완료 == false Then
Begin
If Close >= 익절가 or Close <= 손절가 Then
Begin
If Close >= 익절가 Then
승수 = 승수+ 1;
Text_New(date, time, Close, "SELL");
매도완료 = true;
End;
End;
// --- 상태 초기화 ---
If 매도완료 == true and (Close > 익절가 or Close < 손절가) Then
Begin
진입중 = false;
매도완료 = false;
End;
// --- 승률 계산 ---
If 총수 > 0 Then
승률 = 승수 / 총수 * 100.0;
Plot1(승률, "승률");
즐거운 하루되세요
> 윤호석 님이 쓴 글입니다.
> 제목 : 오류
> 작성해주신 코드2개 전부다 차트에 적용이 되질않습니다
1.
input: 기준배율(1.8), 익절비율(1.01), 손절비율(0.995),
진입선색(cyan), 익절선색(green), 손절선색(red);
var:
기준거래량(0), 중심선(0), 제곱합(0), 분산(0), 표준편차(0), BB상단(0),
ma5(0), ma20(0),
진입가(0), 익절선(0), 손절선(0),
신호발생(false), 매도출력(false),
ID_진입선(0), ID_익절선(0), ID_손절선(0), ID_txt(0);
// === 기준 계산 ===
기준거래량 = ma(volume, 20);
중심선 = ma(Close, 20);
제곱합 = ma(Close * Close, 20);
분산 = 제곱합 - 중심선 * 중심선;
표준편차 = SquareRoot(분산);
BB상단 = 중심선 + 표준편차 * 2;
ma5 = ma(Close, 5);
ma20 = ma(Close, 20);
// === 매수 신호 ===
if (신호발생 == false) and
(volume > 기준거래량 * 기준배율) and
(Close > BB상단) and
(Close > Open) and
((Close - Open) > (High - Low) * 0.6) and
(ma5 > ma20) then
begin
// 기존 선 삭제
TL_Delete(ID_진입선);
TL_Delete(ID_익절선);
TL_Delete(ID_손절선);
진입가 = Close;
익절선 = 진입가 * 익절비율;
손절선 = 진입가 * 손절비율;
// 진입선
ID_진입선 = TL_New(sdate, stime, 진입가,NextBarSdate,NextBarStime,진입가);
TL_SetColor(ID_진입선, 진입선색);
TL_SetSize(ID_진입선, 2);
// 익절선
ID_익절선 = TL_New(sdate, stime, 익절선, NextBarSdate, NextBarStime, 익절선);
TL_SetColor(ID_익절선, 익절선색);
TL_SetSize(ID_익절선, 2);
// 손절선
ID_손절선 = TL_New(sdate, stime, 손절선, NextBarSdate, NextBarStime, 손절선);
TL_SetColor(ID_손절선, 손절선색);
TL_SetSize(ID_손절선, 2);
신호발생 = true;
매도출력 = false;
end;
// === 매도 신호 ===
if (신호발생 == true) and (매도출력 == false) then
begin
if (Close >= 익절선) or (Close <= 손절선) then
begin
ID_txt = Text_New(date, time, High, "SELL");
Text_SetColor(ID_txt, red);
매도출력 = true;
end;
TL_SetEnd(ID_진입선,sDate,sTime,진입가);
TL_SetEnd(ID_익절선,sDate,sTime,익절선);
TL_SetEnd(ID_손절선,sDate,sTime,손절선);
end;
// === 상태 초기화 ===
if (매도출력 == true) and
((Close > 익절선) or (Close < 손절선)) then
begin
신호발생 = false;
매도출력 = false;
end;
2.
Input: 기준배율(1.8), 익절비율(1.02), 손절비율(0.98);
Var: 기준거래량(0), 진입가(0), 익절가(0), 손절가(0),
진입중(false), 매도완료(false), 승수(0), 총수(0), 승률(0);
// --- 거래 조건 ---
기준거래량 = Average(volume, 20);
If 진입중 == false and 매도완료 == false Then
Begin
If volume > 기준거래량 and
Close > BollBandUp(20, 2) and
Close > Open and
(Close - Open) > (High - Low) * 0.6 Then
Begin
진입가 = Close;
익절가 = 진입가 * 익절비율;
손절가 = 진입가 * 손절비율;
진입중 = true;
총수 = 총수+1;
Text_New(date, time, Close, "BUY");
End;
End;
// --- 청산 조건 ---
If 진입중 == true and 매도완료 == false Then
Begin
If Close >= 익절가 or Close <= 손절가 Then
Begin
If Close >= 익절가 Then
승수 = 승수+ 1;
Text_New(date, time, Close, "SELL");
매도완료 = true;
End;
End;
// --- 상태 초기화 ---
If 매도완료 == true and (Close > 익절가or Close < 손절가) Then
Begin
진입중 = false;
매도완료 = false;
End;
// --- 승률 계산 ---
If 총수 > 0 Then
승률 = 승수 / 총수 * 100.0;
Plot1(승률, "승률");