커뮤니티

보완해주세요

프로필 이미지
윤호석
2025-05-10 20:09:49
261
글번호 190712
답변완료
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); // === 기준 계산 === 기준거래량 = average(volume, 20); 중심선 = average(Close, 20); 제곱합 = average(Close * Close, 20); 분산 = 제곱합 - 중심선 * 중심선; 표준편차 = SquareRoot(분산); BB상단 = 중심선 + 표준편차 * 2; ma5 = average(Close, 5); ma20 = average(Close, 20); // === 매수 신호 === if (신호발생 = false) and (volume > 기준거래량 * 기준배율) and (Close > BB상단) and (Close > Open) and ((Close - Open) > (High - Low) * 0.6) and (ma5 > ma20) then begin // 기존 선 삭제 if ID_진입선 <> 0 then TL_Delete(ID_진입선); if ID_익절선 <> 0 then TL_Delete(ID_익절선); if ID_손절선 <> 0 then TL_Delete(ID_손절선); 진입가 = Close; 익절선 = 진입가 * 익절비율; 손절선 = 진입가 * 손절비율; // 진입선 ID_진입선 = TL_New(date, time, 진입가, date, time + 1, 진입가); TL_SetColor(ID_진입선, 진입선색); TL_SetSize(ID_진입선, 2); // 익절선 ID_익절선 = TL_New(date, time, 익절선, date, time + 1, 익절선); TL_SetColor(ID_익절선, 익절선색); TL_SetSize(ID_익절선, 2); // 손절선 ID_손절선 = TL_New(date, time, 손절선, date, time + 1, 손절선); 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; end; // === 상태 초기화 === if (매도출력 = true) and ((Close > 진입가 * 1.2) or (Close < 진입가 * 0.9)) then begin 신호발생 = false; 매도출력 = false; end; 적용이안됩니다 이유가뭘까요 예스트레이더에 적용되게 부탁드립니다
지표
답변 2
프로필 이미지

예스스탁 예스스탁 답변

2025-05-12 13:05:37

안녕하세요 예스스탁입니다. 예스랭귀지에서 같다라는 표현은 == 입니다. 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_New(sDate,sTime,0,sDate,sTime,99999999); // 기존 선 삭제 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; end; // === 상태 초기화 === if (매도출력 == true) and ((Close > 진입가 * 1.2) or (Close < 진입가 * 0.9)) then begin 신호발생 = false; 매도출력 = false; end; 즐거운 하루되세요 > 윤호석 님이 쓴 글입니다. > 제목 : 보완해주세요 > 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); // === 기준 계산 === 기준거래량 = average(volume, 20); 중심선 = average(Close, 20); 제곱합 = average(Close * Close, 20); 분산 = 제곱합 - 중심선 * 중심선; 표준편차 = SquareRoot(분산); BB상단 = 중심선 + 표준편차 * 2; ma5 = average(Close, 5); ma20 = average(Close, 20); // === 매수 신호 === if (신호발생 = false) and (volume > 기준거래량 * 기준배율) and (Close > BB상단) and (Close > Open) and ((Close - Open) > (High - Low) * 0.6) and (ma5 > ma20) then begin // 기존 선 삭제 if ID_진입선 <> 0 then TL_Delete(ID_진입선); if ID_익절선 <> 0 then TL_Delete(ID_익절선); if ID_손절선 <> 0 then TL_Delete(ID_손절선); 진입가 = Close; 익절선 = 진입가 * 익절비율; 손절선 = 진입가 * 손절비율; // 진입선 ID_진입선 = TL_New(date, time, 진입가, date, time + 1, 진입가); TL_SetColor(ID_진입선, 진입선색); TL_SetSize(ID_진입선, 2); // 익절선 ID_익절선 = TL_New(date, time, 익절선, date, time + 1, 익절선); TL_SetColor(ID_익절선, 익절선색); TL_SetSize(ID_익절선, 2); // 손절선 ID_손절선 = TL_New(date, time, 손절선, date, time + 1, 손절선); 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; end; // === 상태 초기화 === if (매도출력 = true) and ((Close > 진입가 * 1.2) or (Close < 진입가 * 0.9)) then begin 신호발생 = false; 매도출력 = false; end; 적용이안됩니다 이유가뭘까요 예스트레이더에 적용되게 부탁드립니다
프로필 이미지

윤호석

2025-05-12 15:28:45

검증은되는데 차트상에 아무것도 표시가 안되요 ㅠㅠ > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 보완해주세요 > 안녕하세요 예스스탁입니다. 예스랭귀지에서 같다라는 표현은 == 입니다. 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_New(sDate,sTime,0,sDate,sTime,99999999); // 기존 선 삭제 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; end; // === 상태 초기화 === if (매도출력 == true) and ((Close > 진입가 * 1.2) or (Close < 진입가 * 0.9)) then begin 신호발생 = false; 매도출력 = false; end; 즐거운 하루되세요 > 윤호석 님이 쓴 글입니다. > 제목 : 보완해주세요 > 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); // === 기준 계산 === 기준거래량 = average(volume, 20); 중심선 = average(Close, 20); 제곱합 = average(Close * Close, 20); 분산 = 제곱합 - 중심선 * 중심선; 표준편차 = SquareRoot(분산); BB상단 = 중심선 + 표준편차 * 2; ma5 = average(Close, 5); ma20 = average(Close, 20); // === 매수 신호 === if (신호발생 = false) and (volume > 기준거래량 * 기준배율) and (Close > BB상단) and (Close > Open) and ((Close - Open) > (High - Low) * 0.6) and (ma5 > ma20) then begin // 기존 선 삭제 if ID_진입선 <> 0 then TL_Delete(ID_진입선); if ID_익절선 <> 0 then TL_Delete(ID_익절선); if ID_손절선 <> 0 then TL_Delete(ID_손절선); 진입가 = Close; 익절선 = 진입가 * 익절비율; 손절선 = 진입가 * 손절비율; // 진입선 ID_진입선 = TL_New(date, time, 진입가, date, time + 1, 진입가); TL_SetColor(ID_진입선, 진입선색); TL_SetSize(ID_진입선, 2); // 익절선 ID_익절선 = TL_New(date, time, 익절선, date, time + 1, 익절선); TL_SetColor(ID_익절선, 익절선색); TL_SetSize(ID_익절선, 2); // 손절선 ID_손절선 = TL_New(date, time, 손절선, date, time + 1, 손절선); 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; end; // === 상태 초기화 === if (매도출력 = true) and ((Close > 진입가 * 1.2) or (Close < 진입가 * 0.9)) then begin 신호발생 = false; 매도출력 = false; end; 적용이안됩니다 이유가뭘까요 예스트레이더에 적용되게 부탁드립니다