커뮤니티

부탁드립니다 항상 감사합니다

프로필 이미지
윤호석
2025-05-18 16:08:29
224
글번호 190921
답변완료
10// &#9989; 예스트레이더 코인용 최종 안정화 Plot 버전 (Invalid argument(22) 완전 차단) Input: 익절비율(1.02), 손절비율(0.992), 기준거래량배수(2), atrMult(3.0), atrLen(10); Var: 진입가(0), 익절가(0), 손절가(0), 진입중(false), 숏진입중(false), 기준거래량(0); Var: RSI값(0), BB상단(0), BB하단(0), BB중심(0), 손익비(0.0); Var: ATR(0), ST(0), Up(0), Dn(0), PrevST(0); Var: 총거래(0), 승거래(0), 손익률(0.0), 진입상태(0); Var: Plot익절(0), Plot손절(0), Plot승률(0); // SuperTrend 계산 ATR = Average(TrueRange, atrLen); Up = (High + Low)/2 + atrMult * ATR; Dn = (High + Low)/2 - atrMult * ATR; If CurrentBar = 1 Then PrevST = 0; If Close > PrevST Then ST = Dn Else ST = Up; PrevST = ST; // 지표 계산 기준거래량 = Average(Volume, 20); RSI값 = RSI(Close, 14); BB상단 = BollBandUp(Close, 20, 2); BB하단 = BollBandDn(Close, 20, 2); BB중심 = Average(Close, 20); // === 롱 진입 === If 진입중 = false and 숏진입중 = false and Volume > 기준거래량 * 기준거래량배수 and Close > BB상단 and RSI값 < 70 and Close > ST Then Begin 진입가 = Close; 익절가 = 진입가 * 익절비율; 손절가 = 진입가 * 손절비율; If (진입가 > 0 and 손절가 > 0 and 진입가 <> 손절가) Then 손익비 = (익절가 - 진입가) / (진입가 - 손절가); 진입중 = true; End; // === 숏 진입 === If 진입중 = false and 숏진입중 = false and Volume > 기준거래량 * 기준거래량배수 and Close < BB하단 and RSI값 > 30 and Close < ST Then Begin 진입가 = Close; 익절가 = 진입가 * (2 - 익절비율); 손절가 = 진입가 * (2 - 손절비율); If (진입가 > 0 and 손절가 > 0 and 진입가 <> 손절가) Then 손익비 = (진입가 - 익절가) / (손절가 - 진입가); 숏진입중 = true; End; // === 롱 청산 === If 진입중 = true Then Begin If Close >= 익절가 or Close <= 손절가 or RSI값 >= 75 Then Begin If Close >= 익절가 Then 승거래 += 1; 진입중 = false; 총거래 += 1; End; End; // === 숏 청산 === If 숏진입중 = true Then Begin If Close <= 익절가 or Close >= 손절가 or RSI값 <= 25 Then Begin If Close <= 익절가 Then 승거래 += 1; 숏진입중 = false; 총거래 += 1; End; End; // === Plot 시각화 (안정성 강화 버전) === 진입상태 = IFF(진입중 = true or 숏진입중 = true, 1, 0); Plot익절 = IFF(익절가 > 0 and 손절가 > 0, 익절가, 0); Plot손절 = IFF(익절가 > 0 and 손절가 > 0, 손절가, 0); Plot승률 = IFF(총거래 > 0, 100 * 승거래 / 총거래, 0); Plot1(진입상태, "진입여부"); Plot2(Plot익절, "익절가"); Plot3(Plot손절, "손절가"); Plot4(Plot승률, "승률(%)"); 2.// &#9989; E-mini Nasdaq 100 전용 안정화 Plot 버전 (포인트 기반 청산) Input: 익절포인트(30), 손절포인트(12), 기준거래량(10000), atrMult(3.0), atrLen(10); Var: 진입가(0), 익절가(0), 손절가(0), 진입중(false), 숏진입중(false); Var: RSI값(0), BB상단(0), BB하단(0), BB중심(0), 손익비(0.0); Var: ATR(0), ST(0), Up(0), Dn(0), PrevST(0); Var: 총거래(0), 승거래(0), 손익률(0.0), 진입상태(0); Var: Plot익절(0), Plot손절(0), Plot승률(0); // SuperTrend 계산 ATR = Average(TrueRange, atrLen); Up = (High + Low)/2 + atrMult * ATR; Dn = (High + Low)/2 - atrMult * ATR; If CurrentBar = 1 Then PrevST = 0; If Close > PrevST Then ST = Dn Else ST = Up; PrevST = ST; // 지표 계산 RSI값 = RSI(Close, 14); BB상단 = BollBandUp(Close, 20, 2); BB하단 = BollBandDn(Close, 20, 2); BB중심 = Average(Close, 20); // === 롱 진입 === If 진입중 = false and 숏진입중 = false and Volume > 기준거래량 and Close > BB상단 and RSI값 < 70 and Close > ST Then Begin 진입가 = Close; 익절가 = 진입가 + 익절포인트 * MinMove; 손절가 = 진입가 - 손절포인트 * MinMove; If (진입가 > 0 and 손절가 > 0 and 진입가 <> 손절가) Then 손익비 = (익절가 - 진입가) / (진입가 - 손절가); 진입중 = true; End; // === 숏 진입 === If 진입중 = false and 숏진입중 = false and Volume > 기준거래량 and Close < BB하단 and RSI값 > 30 and Close < ST Then Begin 진입가 = Close; 익절가 = 진입가 - 익절포인트 * MinMove; 손절가 = 진입가 + 손절포인트 * MinMove; If (진입가 > 0 and 손절가 > 0 and 진입가 <> 손절가) Then 손익비 = (진입가 - 익절가) / (손절가 - 진입가); 숏진입중 = true; End; // === 롱 청산 === If 진입중 = true Then Begin If Close >= 익절가 or Close <= 손절가 or RSI값 >= 75 Then Begin If Close >= 익절가 Then 승거래 += 1; 진입중 = false; 총거래 += 1; End; End; // === 숏 청산 === If 숏진입중 = true Then Begin If Close <= 익절가 or Close >= 손절가 or RSI값 <= 25 Then Begin If Close <= 익절가 Then 승거래 += 1; 숏진입중 = false; 총거래 += 1; End; End; // === Plot 시각화 (안정성 강화 버전) === 진입상태 = IFF(진입중 = true or 숏진입중 = true, 1, 0); Plot익절 = IFF(익절가 > 0 and 손절가 > 0, 익절가, 0); Plot손절 = IFF(익절가 > 0 and 손절가 > 0, 손절가, 0); Plot승률 = IFF(총거래 > 0, 100 * 승거래 / 총거래, 0); Plot1(진입상태, "진입여부"); Plot2(Plot익절, "익절가"); Plot3(Plot손절, "손절가"); Plot4(Plot승률, "승률(%)"); 3. // ? E-mini Nasdaq 100 전용: 수동 손익비 조절 박스 포함 안정화 버전 (문법 오류 수정 포함) Input: 익절포인트(30), 손절포인트(12), 기준거래량(10000), atrMult(3.0), atrLen(10), 수동진입가(0), 수동익절가(0), 수동손절가(0), 수동모드(false); Var: 진입가(0), 익절가(0), 손절가(0), 진입중(false), 숏진입중(false); Var: RSI값(0), BB상단(0), BB하단(0), BB중심(0), 손익비(0.0); Var: ATR(0), ST(0), Up(0), Dn(0), PrevST(0); Var: 총거래(0), 승거래(0), 손익률(0.0), 진입상태(0); Var: Plot익절(0), Plot손절(0), Plot승률(0); // 외부 함수 정의 필요 External: BollBandUp, BollBandDn; External: MinMove; // SuperTrend 계산 If CurrentBar = 1 Then PrevST = Close; ATR = Average(TrueRange, atrLen); Up = (High + Low)/2 + atrMult * ATR; Dn = (High + Low)/2 - atrMult * ATR; If Close > PrevST Then ST = Dn Else ST = Up; PrevST = ST; // 지표 계산 RSI값 = RSI(Close, 14); BB상단 = BollBandUp(Close, 20, 2); BB하단 = BollBandDn(Close, 20, 2); BB중심 = Average(Close, 20); // === 자동 진입 조건 === If 수동모드 = false and 진입중 = false and 숏진입중 = false and Volume > 기준거래량 and Close > BB상단 and RSI값 < 70 and Close > ST Then Begin 진입가 = Close; 익절가 = 진입가 + 익절포인트 * MinMove; 손절가 = 진입가 - 손절포인트 * MinMove; If (진입가 > 0 and 손절가 > 0 and AbsValue(진입가 - 손절가) > 0.00001) Then 손익비 = (익절가 - 진입가) / (진입가 - 손절가); 진입중 = true; End; If 수동모드 = false and 진입중 = false and 숏진입중 = false and Volume > 기준거래량 and Close < BB하단 and RSI값 > 30 and Close < ST Then Begin 진입가 = Close; 익절가 = 진입가 - 익절포인트 * MinMove; 손절가 = 진입가 + 손절포인트 * MinMove; If (진입가 > 0 and 손절가 > 0 and AbsValue(진입가 - 손절가) > 0.00001) Then 손익비 = (진입가 - 익절가) / (손절가 - 진입가); 숏진입중 = true; End; // === 수동 모드 진입 === If 수동모드 = true and 진입중 = false and 숏진입중 = false and 수동진입가 > 0 and 수동익절가 > 0 and 수동손절가 > 0 and AbsValue(수동진입가 - 수동손절가) > 0.00001 Then Begin 진입가 = 수동진입가; 익절가 = 수동익절가; 손절가 = 수동손절가; 손익비 = (익절가 - 진입가) / (진입가 - 손절가); 진입중 = true; End; // === 롱 청산 === If 진입중 = true Then Begin If 익절가 > 0 and 손절가 > 0 and (Close >= 익절가 or Close <= 손절가 or RSI값 >= 75) Then Begin If Close >= 익절가 Then 승거래 += 1; 진입중 = false; 총거래 += 1; End; End; // === 숏 청산 === If 숏진입중 = true Then Begin If 익절가 > 0 and 손절가 > 0 and (Close <= 익절가 or Close >= 손절가 or RSI값 <= 25) Then Begin If Close <= 익절가 Then 승거래 += 1; 숏진입중 = false; 총거래 += 1; End; End; // === Plot 시각화 === 진입상태 = IFF(진입중 = true or 숏진입중 = true, 1, 0); Plot익절 = IFF(익절가 > 0 and 손절가 > 0, 익절가, 0); Plot손절 = IFF(익절가 > 0 and 손절가 > 0, 손절가, 0); Plot승률 = IFF(총거래 > 0 and 승거래 >= 0, 100 * 승거래 / 총거래, 0); Plot1(진입상태, "진입여부"); Plot2(Plot익절, "익절가"); Plot3(Plot손절, "손절가"); Plot4(Plot승률, "승률(%)"); 둘다 각 차트에 구현되게 부탁드립니다
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2025-05-19 17:51:55

안녕하세요 예스스탁입니다. 1 Input: 익절비율(1.02), 손절비율(0.992), 기준거래량배수(2), atrMult(3.0), atrLen(10); Var: 진입가(0), 익절가(0), 손절가(0), 진입중(false), 숏진입중(false), 기준거래량(0); Var: RSI값(0), BB상단(0), BB하단(0), BB중심(0), 손익비(0.0); Var: A(0), ST(0), Up(0), Dn(0), PrevST(0); Var: 총거래(0), 승거래(0), 손익률(0.0), 진입상태(0); Var: Plot익절(0), Plot손절(0), Plot승률(0); // SuperTrend 계산 A = ma(TrueRange, atrLen); Up = (High + Low)/2 + atrMult * A; Dn = (High + Low)/2 - atrMult * A; If CurrentBar == 1 Then PrevST = 0; If Close > PrevST Then ST = Dn; Else ST = Up; PrevST = ST; // 지표 계산 기준거래량 = ma(Volume, 20); RSI값 = RSI(14); BB상단 = BollBandUp(20, 2); BB하단 = BollBandDown(20, 2); BB중심 = ma(Close, 20); // === 롱 진입 === If 진입중 == false and 숏진입중 == false and Volume > 기준거래량 * 기준거래량배수 and Close > BB상단 and RSI값 < 70 and Close > ST Then Begin 진입가 = Close; 익절가 = 진입가 * 익절비율; 손절가 = 진입가 * 손절비율; If (진입가 > 0 and 손절가 > 0 and 진입가 <> 손절가) Then 손익비 = (익절가 - 진입가) / (진입가 - 손절가); 진입중 = true; End; // === 숏 진입 === If 진입중 == false and 숏진입중 == false and Volume > 기준거래량 * 기준거래량배수 and Close < BB하단 and RSI값 > 30 and Close < ST Then Begin 진입가 = Close; 익절가 = 진입가 * (2 - 익절비율); 손절가 = 진입가 * (2 - 손절비율); If (진입가 > 0 and 손절가 > 0 and 진입가 <> 손절가) Then 손익비 = (진입가 - 익절가) / (손절가 - 진입가); 숏진입중 = true; End; // === 롱 청산 === If 진입중 == true Then Begin If Close >= 익절가 or Close <= 손절가 or RSI값 >= 75 Then Begin If Close >= 익절가 Then 승거래 = 승거래+ 1; 진입중 = false; 총거래 = 총거래+1; End; End; // === 숏 청산 === If 숏진입중 == true Then Begin If Close <= 익절가 or Close >= 손절가 or RSI값 <= 25 Then Begin If Close <= 익절가 Then 승거래 = 승거래+1; 숏진입중 = false; 총거래 = 총거래+1; End; End; // === Plot 시각화 (안정성 강화 버전) === 진입상태 = IFF(진입중 == true or 숏진입중 == true, 1, 0); Plot익절 = IFF(익절가 > 0 and 손절가 > 0, 익절가, 0); Plot손절 = IFF(익절가 > 0 and 손절가 > 0, 손절가, 0); Plot승률 = IFF(총거래 > 0, 100 * 승거래 / 총거래, 0); Plot1(진입상태, "진입여부"); Plot2(Plot익절, "익절가"); Plot3(Plot손절, "손절가"); Plot4(Plot승률, "승률(%)"); 2 Input: 익절포인트(30), 손절포인트(12), 기준거래량(10000), atrMult(3.0), atrLen(10); Var: 진입가(0), 익절가(0), 손절가(0), 진입중(false), 숏진입중(false); Var: RSI값(0), BB상단(0), BB하단(0), BB중심(0), 손익비(0.0); Var: A(0), ST(0), Up(0), Dn(0), PrevST(0); Var: 총거래(0), 승거래(0), 손익률(0.0), 진입상태(0); Var: Plot익절(0), Plot손절(0), Plot승률(0); // SuperTrend 계산 A = ma(TrueRange, atrLen); Up = (High + Low)/2 + atrMult * A; Dn = (High + Low)/2 - atrMult * A; If CurrentBar == 1 Then PrevST = 0; If Close > PrevST Then ST = Dn; Else ST = Up; PrevST = ST; // 지표 계산 RSI값 = RSI(14); BB상단 = BollBandUp(20, 2); BB하단 = BollBandDown(20, 2); BB중심 = ma(Close, 20); // === 롱 진입 === If 진입중 == false and 숏진입중 == false and Volume > 기준거래량 and Close > BB상단 and RSI값 < 70 and Close > ST Then Begin 진입가 = Close; 익절가 = 진입가 + 익절포인트 * PriceScale; 손절가 = 진입가 - 손절포인트 * PriceScale; If (진입가 > 0 and 손절가 > 0 and 진입가 <> 손절가) Then 손익비 = (익절가 - 진입가) / (진입가 - 손절가); 진입중 = true; End; // === 숏 진입 === If 진입중 == false and 숏진입중 == false and Volume > 기준거래량 and Close < BB하단 and RSI값 > 30 and Close < ST Then Begin 진입가 = Close; 익절가 = 진입가 - 익절포인트 * PriceScale; 손절가 = 진입가 + 손절포인트 * PriceScale; If (진입가 > 0 and 손절가 > 0 and 진입가 <> 손절가) Then 손익비 = (진입가 - 익절가) / (손절가 - 진입가); 숏진입중 = true; End; // === 롱 청산 === If 진입중 == true Then Begin If Close >= 익절가 or Close <= 손절가 or RSI값 >= 75 Then Begin If Close >= 익절가 Then 승거래 = 승거래+ 1; 진입중 = false; 총거래 = 총거래+ 1; End; End; // === 숏 청산 === If 숏진입중 == true Then Begin If Close <= 익절가 or Close >= 손절가 or RSI값 <= 25 Then Begin If Close <= 익절가 Then 승거래 = 승거래+ 1; 숏진입중 = false; 총거래 = 총거래+1; End; End; // === Plot 시각화 (안정성 강화 버전) === 진입상태 = IFF(진입중 == true or 숏진입중 == true, 1, 0); Plot익절 = IFF(익절가 > 0 and 손절가 > 0, 익절가, 0); Plot손절 = IFF(익절가 > 0 and 손절가 > 0, 손절가, 0); Plot승률 = IFF(총거래 > 0, 100 * 승거래 / 총거래, 0); Plot1(진입상태, "진입여부"); Plot2(Plot익절, "익절가"); Plot3(Plot손절, "손절가"); Plot4(Plot승률, "승률(%)"); 3 Input: 익절포인트(30), 손절포인트(12), 기준거래량(10000), atrMult(3.0), atrLen(10), 수동진입가(0), 수동익절가(0), 수동손절가(0), 수동모드(false); Var: 진입가(0), 익절가(0), 손절가(0), 진입중(false), 숏진입중(false); Var: RSI값(0), BB상단(0), BB하단(0), BB중심(0), 손익비(0.0); Var: A(0), ST(0), Up(0), Dn(0), PrevST(0); Var: 총거래(0), 승거래(0), 손익률(0.0), 진입상태(0); Var: Plot익절(0), Plot손절(0), Plot승률(0); // SuperTrend 계산 If CurrentBar == 1 Then PrevST = Close; A = ma(TrueRange, atrLen); Up = (High + Low)/2 + atrMult * A; Dn = (High + Low)/2 - atrMult * A; If Close > PrevST Then ST = Dn; Else ST = Up; PrevST = ST; // 지표 계산 RSI값 = RSI(14); BB상단 = BollBandUp(20, 2); BB하단 = BollBandDown(20, 2); BB중심 = ma(C,20); // === 자동 진입 조건 === If 수동모드 == false and 진입중 == false and 숏진입중 == false and Volume > 기준거래량 and Close > BB상단 and RSI값 < 70 and Close > ST Then Begin 진입가 = Close; 익절가 = 진입가 + 익절포인트 * PriceScale; 손절가 = 진입가 - 손절포인트 * PriceScale; If (진입가 > 0 and 손절가 > 0 and AbsValue(진입가 - 손절가) > 0.00001) Then 손익비 = (익절가 - 진입가) / (진입가 - 손절가); 진입중 = true; End; If 수동모드 == false and 진입중 == false and 숏진입중 == false and Volume > 기준거래량 and Close < BB하단 and RSI값 > 30 and Close < ST Then Begin 진입가 = Close; 익절가 = 진입가 - 익절포인트 * PriceScale; 손절가 = 진입가 + 손절포인트 * PriceScale; If (진입가 > 0 and 손절가 > 0 and AbsValue(진입가 - 손절가) > 0.00001) Then 손익비 = (진입가 - 익절가) / (손절가 - 진입가); 숏진입중 = true; End; // === 수동 모드 진입 === If 수동모드 == true and 진입중 == false and 숏진입중 == false and 수동진입가 > 0 and 수동익절가 > 0 and 수동손절가 > 0 and AbsValue(수동진입가 - 수동손절가) > 0.00001 Then Begin 진입가 = 수동진입가; 익절가 = 수동익절가; 손절가 = 수동손절가; 손익비 = (익절가 - 진입가) / (진입가 - 손절가); 진입중 = true; End; // === 롱 청산 === If 진입중 == true Then Begin If 익절가 > 0 and 손절가 > 0 and (Close >= 익절가 or Close <= 손절가 or RSI값 >= 75) Then Begin If Close >= 익절가 Then 승거래 = 승거래+1; 진입중 = false; 총거래 = 총거래+1; End; End; // === 숏 청산 === If 숏진입중 = true Then Begin If 익절가 > 0 and 손절가 > 0 and (Close <= 익절가 or Close >= 손절가 or RSI값 <= 25) Then Begin If Close <= 익절가 Then 승거래 = 승거래+1; 숏진입중 = false; 총거래 = 총거래+1; End; End; // === Plot 시각화 === 진입상태 = IFF(진입중 == true or 숏진입중 == true, 1, 0); Plot익절 = IFF(익절가 > 0 and 손절가 > 0, 익절가, 0); Plot손절 = IFF(익절가 > 0 and 손절가 > 0, 손절가, 0); Plot승률 = IFF(총거래 > 0 and 승거래 >= 0, 100 * 승거래 / 총거래, 0); Plot1(진입상태, "진입여부"); Plot2(Plot익절, "익절가"); Plot3(Plot손절, "손절가"); Plot4(Plot승률, "승률(%)"); 즐거운 하루되세요 > 윤호석 님이 쓴 글입니다. > 제목 : 부탁드립니다 항상 감사합니다 > 10// &#9989; 예스트레이더 코인용 최종 안정화 Plot 버전 (Invalid argument(22) 완전 차단) Input: 익절비율(1.02), 손절비율(0.992), 기준거래량배수(2), atrMult(3.0), atrLen(10); Var: 진입가(0), 익절가(0), 손절가(0), 진입중(false), 숏진입중(false), 기준거래량(0); Var: RSI값(0), BB상단(0), BB하단(0), BB중심(0), 손익비(0.0); Var: ATR(0), ST(0), Up(0), Dn(0), PrevST(0); Var: 총거래(0), 승거래(0), 손익률(0.0), 진입상태(0); Var: Plot익절(0), Plot손절(0), Plot승률(0); // SuperTrend 계산 ATR = Average(TrueRange, atrLen); Up = (High + Low)/2 + atrMult * ATR; Dn = (High + Low)/2 - atrMult * ATR; If CurrentBar = 1 Then PrevST = 0; If Close > PrevST Then ST = Dn Else ST = Up; PrevST = ST; // 지표 계산 기준거래량 = Average(Volume, 20); RSI값 = RSI(Close, 14); BB상단 = BollBandUp(Close, 20, 2); BB하단 = BollBandDn(Close, 20, 2); BB중심 = Average(Close, 20); // === 롱 진입 === If 진입중 = false and 숏진입중 = false and Volume > 기준거래량 * 기준거래량배수 and Close > BB상단 and RSI값 < 70 and Close > ST Then Begin 진입가 = Close; 익절가 = 진입가 * 익절비율; 손절가 = 진입가 * 손절비율; If (진입가 > 0 and 손절가 > 0 and 진입가 <> 손절가) Then 손익비 = (익절가 - 진입가) / (진입가 - 손절가); 진입중 = true; End; // === 숏 진입 === If 진입중 = false and 숏진입중 = false and Volume > 기준거래량 * 기준거래량배수 and Close < BB하단 and RSI값 > 30 and Close < ST Then Begin 진입가 = Close; 익절가 = 진입가 * (2 - 익절비율); 손절가 = 진입가 * (2 - 손절비율); If (진입가 > 0 and 손절가 > 0 and 진입가 <> 손절가) Then 손익비 = (진입가 - 익절가) / (손절가 - 진입가); 숏진입중 = true; End; // === 롱 청산 === If 진입중 = true Then Begin If Close >= 익절가 or Close <= 손절가 or RSI값 >= 75 Then Begin If Close >= 익절가 Then 승거래 += 1; 진입중 = false; 총거래 += 1; End; End; // === 숏 청산 === If 숏진입중 = true Then Begin If Close <= 익절가 or Close >= 손절가 or RSI값 <= 25 Then Begin If Close <= 익절가 Then 승거래 += 1; 숏진입중 = false; 총거래 += 1; End; End; // === Plot 시각화 (안정성 강화 버전) === 진입상태 = IFF(진입중 = true or 숏진입중 = true, 1, 0); Plot익절 = IFF(익절가 > 0 and 손절가 > 0, 익절가, 0); Plot손절 = IFF(익절가 > 0 and 손절가 > 0, 손절가, 0); Plot승률 = IFF(총거래 > 0, 100 * 승거래 / 총거래, 0); Plot1(진입상태, "진입여부"); Plot2(Plot익절, "익절가"); Plot3(Plot손절, "손절가"); Plot4(Plot승률, "승률(%)"); 2.// &#9989; E-mini Nasdaq 100 전용 안정화 Plot 버전 (포인트 기반 청산) Input: 익절포인트(30), 손절포인트(12), 기준거래량(10000), atrMult(3.0), atrLen(10); Var: 진입가(0), 익절가(0), 손절가(0), 진입중(false), 숏진입중(false); Var: RSI값(0), BB상단(0), BB하단(0), BB중심(0), 손익비(0.0); Var: ATR(0), ST(0), Up(0), Dn(0), PrevST(0); Var: 총거래(0), 승거래(0), 손익률(0.0), 진입상태(0); Var: Plot익절(0), Plot손절(0), Plot승률(0); // SuperTrend 계산 ATR = Average(TrueRange, atrLen); Up = (High + Low)/2 + atrMult * ATR; Dn = (High + Low)/2 - atrMult * ATR; If CurrentBar = 1 Then PrevST = 0; If Close > PrevST Then ST = Dn Else ST = Up; PrevST = ST; // 지표 계산 RSI값 = RSI(Close, 14); BB상단 = BollBandUp(Close, 20, 2); BB하단 = BollBandDn(Close, 20, 2); BB중심 = Average(Close, 20); // === 롱 진입 === If 진입중 = false and 숏진입중 = false and Volume > 기준거래량 and Close > BB상단 and RSI값 < 70 and Close > ST Then Begin 진입가 = Close; 익절가 = 진입가 + 익절포인트 * MinMove; 손절가 = 진입가 - 손절포인트 * MinMove; If (진입가 > 0 and 손절가 > 0 and 진입가 <> 손절가) Then 손익비 = (익절가 - 진입가) / (진입가 - 손절가); 진입중 = true; End; // === 숏 진입 === If 진입중 = false and 숏진입중 = false and Volume > 기준거래량 and Close < BB하단 and RSI값 > 30 and Close < ST Then Begin 진입가 = Close; 익절가 = 진입가 - 익절포인트 * MinMove; 손절가 = 진입가 + 손절포인트 * MinMove; If (진입가 > 0 and 손절가 > 0 and 진입가 <> 손절가) Then 손익비 = (진입가 - 익절가) / (손절가 - 진입가); 숏진입중 = true; End; // === 롱 청산 === If 진입중 = true Then Begin If Close >= 익절가 or Close <= 손절가 or RSI값 >= 75 Then Begin If Close >= 익절가 Then 승거래 += 1; 진입중 = false; 총거래 += 1; End; End; // === 숏 청산 === If 숏진입중 = true Then Begin If Close <= 익절가 or Close >= 손절가 or RSI값 <= 25 Then Begin If Close <= 익절가 Then 승거래 += 1; 숏진입중 = false; 총거래 += 1; End; End; // === Plot 시각화 (안정성 강화 버전) === 진입상태 = IFF(진입중 = true or 숏진입중 = true, 1, 0); Plot익절 = IFF(익절가 > 0 and 손절가 > 0, 익절가, 0); Plot손절 = IFF(익절가 > 0 and 손절가 > 0, 손절가, 0); Plot승률 = IFF(총거래 > 0, 100 * 승거래 / 총거래, 0); Plot1(진입상태, "진입여부"); Plot2(Plot익절, "익절가"); Plot3(Plot손절, "손절가"); Plot4(Plot승률, "승률(%)"); 3. // ? E-mini Nasdaq 100 전용: 수동 손익비 조절 박스 포함 안정화 버전 (문법 오류 수정 포함) Input: 익절포인트(30), 손절포인트(12), 기준거래량(10000), atrMult(3.0), atrLen(10), 수동진입가(0), 수동익절가(0), 수동손절가(0), 수동모드(false); Var: 진입가(0), 익절가(0), 손절가(0), 진입중(false), 숏진입중(false); Var: RSI값(0), BB상단(0), BB하단(0), BB중심(0), 손익비(0.0); Var: ATR(0), ST(0), Up(0), Dn(0), PrevST(0); Var: 총거래(0), 승거래(0), 손익률(0.0), 진입상태(0); Var: Plot익절(0), Plot손절(0), Plot승률(0); // 외부 함수 정의 필요 External: BollBandUp, BollBandDn; External: MinMove; // SuperTrend 계산 If CurrentBar = 1 Then PrevST = Close; ATR = Average(TrueRange, atrLen); Up = (High + Low)/2 + atrMult * ATR; Dn = (High + Low)/2 - atrMult * ATR; If Close > PrevST Then ST = Dn Else ST = Up; PrevST = ST; // 지표 계산 RSI값 = RSI(Close, 14); BB상단 = BollBandUp(Close, 20, 2); BB하단 = BollBandDn(Close, 20, 2); BB중심 = Average(Close, 20); // === 자동 진입 조건 === If 수동모드 = false and 진입중 = false and 숏진입중 = false and Volume > 기준거래량 and Close > BB상단 and RSI값 < 70 and Close > ST Then Begin 진입가 = Close; 익절가 = 진입가 + 익절포인트 * MinMove; 손절가 = 진입가 - 손절포인트 * MinMove; If (진입가 > 0 and 손절가 > 0 and AbsValue(진입가 - 손절가) > 0.00001) Then 손익비 = (익절가 - 진입가) / (진입가 - 손절가); 진입중 = true; End; If 수동모드 = false and 진입중 = false and 숏진입중 = false and Volume > 기준거래량 and Close < BB하단 and RSI값 > 30 and Close < ST Then Begin 진입가 = Close; 익절가 = 진입가 - 익절포인트 * MinMove; 손절가 = 진입가 + 손절포인트 * MinMove; If (진입가 > 0 and 손절가 > 0 and AbsValue(진입가 - 손절가) > 0.00001) Then 손익비 = (진입가 - 익절가) / (손절가 - 진입가); 숏진입중 = true; End; // === 수동 모드 진입 === If 수동모드 = true and 진입중 = false and 숏진입중 = false and 수동진입가 > 0 and 수동익절가 > 0 and 수동손절가 > 0 and AbsValue(수동진입가 - 수동손절가) > 0.00001 Then Begin 진입가 = 수동진입가; 익절가 = 수동익절가; 손절가 = 수동손절가; 손익비 = (익절가 - 진입가) / (진입가 - 손절가); 진입중 = true; End; // === 롱 청산 === If 진입중 = true Then Begin If 익절가 > 0 and 손절가 > 0 and (Close >= 익절가 or Close <= 손절가 or RSI값 >= 75) Then Begin If Close >= 익절가 Then 승거래 += 1; 진입중 = false; 총거래 += 1; End; End; // === 숏 청산 === If 숏진입중 = true Then Begin If 익절가 > 0 and 손절가 > 0 and (Close <= 익절가 or Close >= 손절가 or RSI값 <= 25) Then Begin If Close <= 익절가 Then 승거래 += 1; 숏진입중 = false; 총거래 += 1; End; End; // === Plot 시각화 === 진입상태 = IFF(진입중 = true or 숏진입중 = true, 1, 0); Plot익절 = IFF(익절가 > 0 and 손절가 > 0, 익절가, 0); Plot손절 = IFF(익절가 > 0 and 손절가 > 0, 손절가, 0); Plot승률 = IFF(총거래 > 0 and 승거래 >= 0, 100 * 승거래 / 총거래, 0); Plot1(진입상태, "진입여부"); Plot2(Plot익절, "익절가"); Plot3(Plot손절, "손절가"); Plot4(Plot승률, "승률(%)"); 둘다 각 차트에 구현되게 부탁드립니다