커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

일봉전략을 5분봉전략으로의 변환 코드 검토 부탁 드립니다. (수정)

얼마 전 올렸던 질문(글번호: 194570) 관련 추가질문입니다.아래와 같이 코드를 변경했는데, 이게 맞나 싶네요... 결과가 너무 달라요.그리고, 날짜변경시 Daily~로 시작되는 변수들을 업데이트 하도록 했는데,한국투자증권 나스닥 선물 시간상 한국자정에 날짜가 바뀌는 거 같은데미국시장 기준으로 바꾸도록 하려면 어떻게 하나요?검토 좀 부탁 드립니다.늘 감사 드립니다.============= 원본코드 =============// --- 원본 전략 로직 시작 (문법 수정 적용) ---PcntChange = Close / DayClose(PChng) * 100;If PcntChange < 100 - OverRange then Begin OS = TRUE; HighBand = Highest( High , Bands ); End;If PcntChange > 100 + OverRange then Begin OB = TRUE; LowBand = Lowest( Low, Bands); End;if EntriesToday(sDate) < 1 and NoContract > 0 and TradeAllowed then { If OS and MarketPosition <> 1 Then Buy("B", AtStop, HighBand, NoContract); If OB and MarketPosition <> -1 then Sell("S", AtStop, LowBand, NoContract);}If marketposition == 1 and C > entryprice + profit then ExitLong("LX_Profit", AtMarket);if marketposition == -1 and C < entryprice - profit then ExitShort("SX_Profit", AtMarket);if MRO( OS == false, MRO_Length, MRO_Threshold ) == -1 then OS = false;if MRO( OB == false, MRO_Length, MRO_Threshold ) == -1 then OB = false;ExitLong("EL_Trail", AtStop, lowest(low,exitperiod));ExitShort("ES_Trail", AtStop, highest(high,exitperiod));SetStopLoss(stopPer, PercentStop);// --- 원본 전략 로직 종료 ---============= 수정코드 =============Array: DailyReturns[100](0), DailyOpenArray[100](0), DailyHighArray[100](0), DailyLowArray[100](0), DailyCloseArray[100](0);// ================== 로직 시작 ==================// 1. 5분봉을 일봉으로 집계CurrentDate = sDate;if Index == 0 then begin PrevDate = CurrentDate; DailyOpen = Open; DailyHigh = High; DailyLow = Low; DailyBarCount = 0;end// 날짜가 바뀌었을 때 (새로운 거래일 시작)if CurrentDate != PrevDate then begin // 전일 일봉 데이터를 배열에 저장 For Value1 = 99 DownTo 1 begin DailyOpenArray[Value1] = DailyOpenArray[Value1-1]; DailyHighArray[Value1] = DailyHighArray[Value1-1]; DailyLowArray[Value1] = DailyLowArray[Value1-1]; DailyCloseArray[Value1] = DailyCloseArray[Value1-1]; end; DailyOpenArray[0] = PrevDailyOpen; DailyHighArray[0] = PrevDailyHigh; DailyLowArray[0] = PrevDailyLow; DailyCloseArray[0] = PrevDailyClose; // 새로운 일봉 시작 DailyOpen = Open; DailyHigh = High; DailyLow = Low; DailyBarCount = DailyBarCount + 1; PrevDate = CurrentDate;end// 같은 날 내에서 고가/저가 업데이트if High > DailyHigh then DailyHigh = High;if Low < DailyLow then DailyLow = Low;DailyClose = Close;// 이전 일봉 데이터 저장PrevDailyOpen = DailyOpen;PrevDailyHigh = DailyHigh;PrevDailyLow = DailyLow;PrevDailyClose = DailyClose;.......... 생략 ..........if CurrentDate != PrevDate and DailyBarCount > 1 then begin if DailyOpenArray[1] > 0 then DailyReturn = (DailyOpenArray[0] - DailyOpenArray[1]) / DailyOpenArray[1] else DailyReturn = 0; For Value1 = VaR_Period - 1 DownTo 1 begin DailyReturns[Value1] = DailyReturns[Value1-1]; end; DailyReturns[0] = DailyReturn;end.......... 생략 ..........// 5. 원본 전략 로직 (일봉 기준 계산)if DailyBarCount >= Pchng and DailyCloseArray[Pchng-1] > 0 then PcntChange = DailyClose / DailyCloseArray[Pchng-1] * 100else PcntChange = 100;If PcntChange < 100 - OverRange then begin OS = true; // 최근 Bands개 일봉의 최고가 HighBand = DailyHighArray[0]; For Value1 = 1 to Bands-1 begin if DailyHighArray[Value1] > HighBand then HighBand = DailyHighArray[Value1]; end;endelse OS = false;If PcntChange > 100 + OverRange then begin OB = true; // 최근 Bands개 일봉의 최저가 LowBand = DailyLowArray[0]; For Value1 = 1 to Bands-1 begin if DailyLowArray[Value1] < LowBand then LowBand = DailyLowArray[Value1]; end;endelse OB = false;// 6. 주문 실행 (5분봉에서 즉시 실행)if EntriesToday(sDate) < 1 and NoContract > 0 and TradeAllowed then begin If OS and MarketPosition <> 1 then Buy("B", AtStop, HighBand, NoContract); If OB and MarketPosition <> -1 then Sell("S", AtStop, LowBand, NoContract);endIf MarketPosition == 1 and C > EntryPrice + profit then ExitLong("LX_Profit", AtMarket);if MarketPosition == -1 and C < EntryPrice - profit then ExitShort("SX_Profit", AtMarket);if MRO(OS == false, MRO_Length, MRO_Threshold) == -1 then OS = false;if MRO(OB == false, MRO_Length, MRO_Threshold) == -1 then OB = false;// exitperiod도 일봉 기준으로 계산Var: ExitLowBand(99999), ExitHighBand(0);ExitLowBand = DailyLowArray[0];ExitHighBand = DailyHighArray[0];For Value1 = 1 to exitperiod-1 begin if DailyLowArray[Value1] < ExitLowBand then ExitLowBand = DailyLowArray[Value1]; if DailyHighArray[Value1] > ExitHighBand then ExitHighBand = DailyHighArray[Value1];end;ExitLong("EL_Trail", AtStop, ExitLowBand);ExitShort("ES_Trail", AtStop, ExitHighBand);SetStopLoss(stopPer, PercentStop);
프로필 이미지
zapster
2025-10-16
2261
글번호 226942
시스템
답변완료

종목검색식 부탁드립니다

일목균형표 수치 2종 (A , B)--->선행스팬 수치 다름.(주의) A종 7 19 38 B종 9 26 52 (일반적 수치) 에서, 1. 일목균형표 A종의 선행스팬1 이, B종의 선행스팬2 를 돌파하는 종목검색식 부탁드려요. 2. 일목균형표 A종의 선행스팬2 가, B종의 선행스팬2 를 돌파하는 종목검색식 부탁드립니다.
프로필 이미지
일지매7
2025-10-16
206
글번호 194678
종목검색
답변완료

부틱드립니다

수고하십니다 아래수식을 오류 없게 수정부탁드립니다 //{ Chaikin Money Flow (CMF) Indicator } Inputs: Period(20); // CMF 계산 기간 Vars: MFMultiplier(0), MFVolume(0), SumMFVolume(0), SumVolume(0), CMF(0), Counter(0); // Money Flow Multiplier 계산 If (High - Low) <> 0 Then MFMultiplier = ((Close - Low) - (High - Close)) / (High - Low) Else MFMultiplier = 0; // Money Flow Volume 계산 MFVolume = MFMultiplier * Volume; // Period 동안의 합계 계산 SumMFVolume = 0; SumVolume = 0; For Counter = 0 To Period - 1 Begin SumMFVolume = SumMFVolume + (MFMultiplier[Counter] * Volume[Counter]); SumVolume = SumVolume + Volume[Counter]; End; // CMF 계산 If SumVolume <> 0 Then CMF = SumMFVolume / SumVolume Else CMF = 0; // 플롯 Plot1(CMF, "CMF"); Plot2(0, "ZeroLine"); Plot3(0.25, "UpperLevel"); Plot4(-0.25, "LowerLevel"); // 색상 조건부 설정 If CMF > 0 Then SetPlotColor(1, Green) Else If CMF < 0 Then SetPlotColor(1, Red);
프로필 이미지
파생돌이
2025-10-15
214
글번호 194677
지표
답변완료

수식 문의드립니다.

안녕하세요. 나스닥 선물 매수거래시 사용할 수식 부탁드립니다. 진입신호 발생조건 3개(매수1, 매수2, 매수3)와 청산신호 발생조건 1개(청산1)가 있다는 것을 전제로 각 진입신호를 활용해서 피라미딩 매수진입하고, 청산은 "청산신호 발생" 또는 "익일 오전 1시도달" 또는 "이익이 100만원일 경우" 또는 "손실이 100만원일 경우"에 전량 청산이 이루어지도록 하는 수식을 부탁드립니다. 만약 금액기준 청산이 어려울 경우 매수평균 대비 이익과 손실이 각 5%, -5%에 도달하면 청산이 이루어지도록 부탁드립니다. 그리고 피라미딩 탭에 보면 주문 수량 칸과 진입 횟수 칸이 있는데 여기에는 어떻게 넣어야 하는지도 알려주시면 감사하겠습니다. 항상 감사드립니다.
프로필 이미지
트레이더365
2025-10-15
168
글번호 194676
시스템
답변완료

수식 완성부탁드립니다.

◆매수조건: 15분봉 ◆매수시간: 동시호가 15:30분 마감까지 마지막 30분 봉에서 매수조건 1,2,3 완성 시 장후 시간외 종가 거래에서 매수 ◆매수조건1: 마지막 30분 봉內 ADX 25 이상에서 DI+가 ADX를 상향돌파 ◆매수조건2: 마지막 30분 봉內 Chaikin’s Oscillator 0.00 이상에서 횡보 또는 상승추세 ( Short 3 Long 10) ◆매수조건3: 마지막 30분 봉內 RSI(14) 55 상향돌파 ◆매도조건: 30분봉 마지막 30분 봉內 DI+/ Chaikin’s Oscillator/ RSI 세가지 지표 중 fall_count == 2 하락전환 시 → 50% 시장가 매도, fall_count == 3 하락전환 시→ 50% 시장가 매도 *하락전환: 3분봉 데이터 사용 *하락전환 기준치: RSI: -3%/ DI+: -4%/ CO: -2% 고점대비 하락 시 수고가 많으십니다. 위 문의드린 시스템 수식의 매수조건 1,2,3으로 종목검색도 부탁드립니다. 감사합니다.
프로필 이미지
행복사랑채
2025-10-15
238
글번호 194675
시스템
답변완료

부탁드립니다.

1. 종가가 양봉이면서 최근 20개봉의 최고가일 때 파란색으로, 종가가 음봉이면서 최근 20개봉의 최저가 일 때 빨강색으로 구현해 주세요 2. 종가가 양봉이면서 최근 30개봉 이내 가장 긴 양봉을 갱신할 때 마다 파란색으로, 종가가 음봉이면서 최근 30개봉 이내 가장 긴 음봉을 갱신할 때 마다 빨강색으로 구현해 주세요 고맙습니다.
프로필 이미지
서태공
2025-10-15
162
글번호 194674
강조
답변완료

종목 검색식 부탁드립니다.

MA20=Ma(C,20,단순); MA60=Ma(C,60,단순); 크로스횟수=Sum(If(CrossUp(MA20,MA60) or CrossDown(MA20,MA60),1,0),5); ATR14=Avg((Highest(H,1)-Lowest(L,1)),14); GapRatio=Abs(MA20-MA60)/ATR14; 급락=(Lowest(C,5)/C(5))<0.95; 크로스횟수<=1 && GapRatio>0.3 && !급락 위 수식을 예스랭귀지로 변환부탁드립니다.
프로필 이미지
지구소방대
2025-10-15
189
글번호 194673
종목검색
답변완료

문의 드립니다

수식 작성시 KP종합 또는 KP200선물이 현재 기준 플러스(5포인트) 또는 마이너스(5포인트) 상태를 수식에 표현할 수 있나요. 있다면 수식을 어떻게 표현하나요. 감사합니다.
프로필 이미지
남산
2025-10-15
199
글번호 194672
시스템
답변완료

신호수식을 종목검색식으로 부탁드립니다

Hh= Highest(H, 봉수); ll= Lowest(L, 봉수); 변동률조건= HH/LL*100 -100 <변동률; H_전고점= Highest(H, 봉수),기간; 라인=Valuewhen(1 ,변동률조건 ,HH); crossup(c,라인) && 변동률조건(1) && 라인 < H_전고점 지표변수 봉수 40 변동률 5 기간 10
프로필 이미지
우주최강
2025-10-15
170
글번호 194671
종목검색
답변완료

수식 문의 드립니다

볼린저밴드 20.2 사용 매수 B1 1.직전봉 저가가 하단 밴드 아래에 있고 2.현재봉은 양봉으로 종가가 하단밴드 위에 있으며 3.현재봉의 고가-저가의 값이 직전봉의 고가-저가의 값의 n% 보다 클 경우 매수 매도 S1 1.직전봉 고가가 상단 밴드 위에 있고 2.현재봉은 음봉으로 종가가 상단밴드 아래에 있으며 3.현재봉의 고가-저가의 값이 직전봉의 고가-저가의 값의 n% 보다 클 경우 매도 매수 B2 1.S1 전략으로 매도하였을때 S1 전략에서 활용된 '직전봉' 고가를 상승돌파시 매수 매도 S2 1.B1 전략으로 매수하였을때 S1 전략에서 활용된 '직전봉' 저가를 하락돌파시 매도
프로필 이미지
SaS하이에나
2025-10-15
171
글번호 194654
시스템