커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내

안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
프로필 이미지
예스스탁
2026-02-27
8106
글번호 230811
지표
답변완료

수식 문의드립니다.

안녕하세요 아래와 같이... 추가 진입시 수식 문의드립니다. 1. 포지션 없을때, 스토캐스틱 12이하일때 진입합니다. If MarketPosition == 0 Then { If and StoK < 12 Then Buy("1",AtMarket); } 2. 하락시 추가 진입합니다. If MarketPosition == 1 Then { If MaxEntries == 1 Then Buy("2",Atlimit,EntryPrice-PriceScale*6); If MaxEntries == 2 Then Buy("3",Atlimit,EntryPrice-PriceScale*12); If MaxEntries == 3 Then Buy("4",Atlimit,EntryPrice-PriceScale*18); } 3. 아래와 같이 청산이 발생합니다. If StoK > 90 Then { SetStopProfittarget(10,PercentStop) ; } else { SetStopProfittarget(0); } 4. 일부 SetStopProfittarget이 발생해서 청산되면... 그 이후에 추가로 또 진입합니다. 아래부터 잘 안되는것 같은데... SetStopProfittarget 신호가 발생된 이후에 위의 2번에서 추가로 진입한.. 마지막 가격에서 5틱 높은 가격 이하에서... mav2 이동평균선을 상향돌파할때 진입이 됐으면 합니다. If MarketPosition == 1 Then { If EntryPrice + 5 > LatestEntryPrice and CrossUp(C,MAV2) Then Buy("111",Atlimit,EntryPrice-PriceScale*2); } 5. 그리고 4번의 진입이 이루어지면... 아래와 같이 추가로 진입하고 싶습니다. If MarketPosition == 1 Then { If MaxEntries == 2 Then Buy("111-2",Atlimit,EntryPrice-PriceScale*3); If MaxEntries == 3 Then Buy("111-3",Atlimit,EntryPrice-PriceScale*5); If MaxEntries == 4 Then Buy("111-4",Atlimit,EntryPrice-PriceScale*7); } 4번부터 5번까지가 생각한대로 수식이 안되는것 같습니다. 목표는... 1번과 같이 진입하고 2번으로 추가진입되고... 3번으로 일부 혹은 전체 청산. 그리고 일부 보유물량이 있다면, 4번 조건에서 추가 진입하고... 4번 진입가격 기준으로 5번의 추가 진입이 이루어졌으면 합니다. 피라미딩 제한은 총 7로 설정하였습니다. 좋은 주말 보내세요~
프로필 이미지
이엘성투
2018-04-21
212
글번호 118378
시스템
답변완료

수정부탁드립니다

###,아래수식을 로그값으로 변환 적용한 수식으로 수정 부탁드립니다ㅡ input : Per1(11.8),Per2(23.6),per3(38.2),per4(50),per5(61.8),per6(76.4); Var : pivot(0),S1(0),S2(1),S3(1),S4(1); S1 = (dayhigh(0)+daylow(0))/2; S2 = (dayhigh(1)+daylow(1))/2; S3 = dayhigh(1); S4 = daylow(1); plot1(dayopen); plot2(dayopen()+abs(S3-S4)*(Per1/100)); plot3(dayopen()-abs(S3-S4)*(Per1/100)); plot4(dayopen()+abs(S3-S4)*(Per2/100)); plot5(dayopen()-abs(S3-S4)*(Per2/100)); plot6(dayopen()+abs(S3-S4)*(Per3/100)); plot7(dayopen()-abs(S3-S4)*(Per3/100)); plot8(dayopen()+abs(S3-S4)*(Per4/100)); plot9(dayopen()-abs(S3-S4)*(Per4/100)); plot10(dayopen()+abs(S3-S4)*(Per5/100)); plot11(dayopen()-abs(S3-S4)*(Per5/100)); plot12(dayopen()+abs(S3-S4)*(Per6/100)); plot13(dayopen()-abs(S3-S4)*(Per6/100)); $$$,언제나 늘 고맙습니다.
프로필 이미지
회원
2018-04-21
198
글번호 118377
지표
답변완료

지표식 문의드립니다~

안녕하세요~~ 매번 빠른 답변 감사드립니다. 아래는 수식지왕님의 자동추세선 수식입니다 날짜와는 상관없이 고점 저점이 변경될 때 마다 하락추세선은 고점과 직전고점을 연결하고 상승추세선은 저점과 직전저점을 연결하고 있습니다 이것을 당일에 한하여 추세선을 연결하여 나타내고 하락추세선은 고점과 당일고점을 연결하고 상승추세선은 저점과 당일저점을 연결되게 수정 부탁드립니다. --- 아 래 --- #==========================================# # 지 표 명 : 자동추세선 # 작 성 자 : 수식지왕 # 블 로 그 : http://yahoosir.blog.me #==========================================# Input:n(5),단기(True),미완성사용(True); Var:j(0),q(0),k(0),상단(200),하단(100),고점표시(0),저점표시(0),Exit(100), 고점갱신(False),저점갱신(False), 단기상단기울기(0),단기상단Bar(0),단기상단절편(0),단기하단기울기(0), 단기하단Bar(0),단기하단절편(0), 단기상단채널(0),단기하단채널(0); Array:고[50](0),저[50](0),고Bar[50](0),저Bar[50](0); #==========================================# # 초기처리 (Initialize Routine) #==========================================# for j = 1 to 19 { 고Bar[j] = 고Bar[j] + 1; 저Bar[j] = 저Bar[j] + 1; } for j = 20 to 49 { 고Bar[j] = 고Bar[j] + 1; 저Bar[j] = 저Bar[j] + 1; } 단기상단Bar = 단기상단Bar + 1; 단기하단Bar = 단기하단Bar + 1; 고점표시=(O[n]+C[n])/2; 저점표시=(O[n]+C[n])/2; #==========================================# # 단기 파동선 계산 #==========================================# # 전고점(Peak) 계산 #------------------------------------------# //Highest(H,2)[3] <= H[2] and H[2] > Highest(H,2) if Highest(H,n)[n+1] <= H[n] and H[n] > Highest(H,n) then { if 미완성사용 == True then { for j = 48 downto 1 { 고[j+1] = 고[j]; 고Bar[j+1] = 고Bar[j]; } 고[1] = H[n]; 고Bar[1] = n; 고점갱신 = True; 고점표시 = 고[1]; if 저Bar[1] > 고Bar[2] then { for j = 48 downto 1 { 저[j+1] = 저[j]; 저Bar[j+1] = 저Bar[j]; } k = n + 1; for j = n + 2 to 고Bar[2]-1 { if L[k] > L[j] then k = j; } 저[1] = L[k]; 저Bar[1] = k; } } if 미완성사용 == False then { if 고Bar[1] > 저Bar[1] then { for j = 48 downto 1 { 고[j+1] = 고[j]; 고Bar[j+1] = 고Bar[j]; } } if 고Bar[1] > 저Bar[1] or 고[1] <= H[n] then { 고[1] = H[n]; 고Bar[1] = n; 고점갱신 = True; 고점표시 = 고[1]; } } } #------------------------------------------# # 전저점(Trough) 계산 #------------------------------------------# //Lowest(L,2)[3] >= L[2] and L[2] < Lowest(L,2) if Lowest(L,n)[n+1] >= L[n] and L[n] < Lowest(L,n) then { if 미완성사용 == True then { for j = 48 downto 1 { 저[j+1] = 저[j]; 저Bar[j+1] = 저Bar[j]; } 저[1] = L[n]; 저Bar[1] = n; 저점갱신 = True; 저점표시 = 저[1]; if 고Bar[1] > 저Bar[2] then { for j = 48 downto 1 { 고[j+1] = 고[j]; 고Bar[j+1] = 고Bar[j]; } k = n + 1; for j = n + 2 to 저Bar[2]-1 { if H[k] < H[j] then k = j; } 고[1] = H[k]; 고Bar[1] = k; } } if 미완성사용 == False then { if 저Bar[1] > 고Bar[1] then { for j = 48 downto 1 { 저[j+1] = 저[j]; 저Bar[j+1] = 저Bar[j]; } } if 저Bar[1] > 고Bar[1] or 저[1] >= L[n] then { 저[1] = L[n]; 저Bar[1] = n; 저점갱신 = True; 저점표시 = 저[1]; } } } #==========================================# # 자동추세선 계산 #==========================================# if 고Bar[1] == n then { 단기상단채널 = 0; 단기상단기울기 = 0; for j = 2 to 49 { if 고[1] < 고[j] and 단기상단기울기 == 0 then { 단기상단기울기 =((고[1]-고[j])/(고Bar[j]-고Bar[1])); 단기상단Bar = 고Bar[j]; 단기상단절편 = 고[j]; j = Exit; } else if 고[j] <= 0 then j = Exit; } } if 저Bar[1] == n then { 단기하단채널 = 0; 단기하단기울기 = 0; for j = 2 to 49 { if 저[1] > 저[j] and 단기하단기울기 == 0 then { 단기하단기울기 = ((저[1]-저[j])/(저Bar[j]-저Bar[1])); 단기하단Bar = 저Bar[j]; 단기하단절편 = 저[j]; j = Exit; } else if 저[j] <= 0 then j = Exit; } } if 단기상단기울기 < 0 then 단기상단채널 = 단기상단기울기 * 단기상단Bar + 단기상단절편; if 단기하단기울기 > 0 then 단기하단채널 = 단기하단기울기 * 단기하단Bar + 단기하단절편; #=================================# # 지표식 #=================================# if 고점표시 == H[n] then Plot1(고점표시,"전고점",YELLOW); //점그래프,수평이동 if 저점표시 == L[n] then Plot2(저점표시,"전저점",GREEN); //점그래프,수평이동 #------------------------------------------# # 채널 표시 #------------------------------------------# if 단기 == True then { if 단기상단채널 > 0 then Plot3(단기상단채널,"단기상단채널",YELLOW); //점그래프 if 단기하단채널 > 0 then Plot4(단기하단채널,"단기하단채널",GREEN); //점그래프 }
프로필 이미지
선자
2018-04-21
335
글번호 118376
지표
답변완료

지표 문의드립니다.

수고하십니다. (1) OBV 시그널선의 기간 1달의 평균선을 OBV 지표에 첨가해서 보고 싶습니다. 사용차트는 30봉입니다. 전봉기준으로 수평항 직선 형태도 가능할런지요. 이전의 값은 무시하고 전봉에서 한달 OBV의 평균선을 수평직선으로 표시하고 방법 부탁드립니다. (2)RSI와 아래의 골든바이를 한 지표에 표시하고 싶습니다. Input : period1(10); Var : value1(0), value2(0); value1 = max(c - lowest(c,period1),0);// Golden power buy 최종값은 두 지표 모두 표시되게 할 수 있을런지요?
프로필 이미지
여세우
2018-04-20
212
글번호 118375
지표

wait113 님에 의해서 삭제되었습니다.

프로필 이미지
wait113
2018-04-20
8
글번호 118371
종목검색
답변완료

해외선물 시간참조에서

한국시간기준으로 해외선물의 전일 9시~3시까지의 시,고,저,종가의 데이터를 저장해서 오늘 아침 9시 거래에 참조하고 싶은데 수식을 부탁드립니다.. ex) 전일 9시~3시 고가보다 당일 9시의 시가가 높으면 매수
프로필 이미지
pinsane
2018-04-20
176
글번호 118370
지표
답변완료

지표 수식 질문드립니다.

안녕하세요, 어제 지표수식 관련 질문을 올렸었으나 해당 수식을 만들기 어렵다는 답변을 받았습니다. 질문은 다음과 같습니다. ---------------------------------------------------------------------------------------- 분봉 차트에 현재가에 따라 호가창에 보여지는 매수 10호가와 매도 10호가의 범위를 표현하고 싶습니다. 가령, 현재가가 800원이면 차트에 매도 10호가인 809원과 매수 10호가인 790원을 표현하고 싶습니다. 문제는 호가단위가 변하는 지점인 천원, 5천원, 만원, 5만원, 80만원 등의 지점을 기준으로 하여 전후 10 호가에 대해서는 별도로 수식을 작성해야 한다는 것입니다. 가령, 현재가가 995원인 경우 매도호가를 구할 때 단순 계산으로 995+10이라고 하면 안 되고 995+4와 1000+50으로 나눠서 표시해야 실제 호가창과 같습니다. 반대로 가격이 1020원인 경우, 매수호가를 구할 때 1020-20과 1000-8을 나눠서 표시해야 실제 호가창과 같게 표시됩니다. 이 것을 각 호가단위 변동구간마다 고려해서 호가단위를 표시할 수 있는 식을 구현해주실 수 있나요? ---------------------------------------------------------------------------------------- 답변을 받고 제가 지표수식을 대강 만들어봤는데요, 제가 만든 지표식은 다음과 같습니다. var : maxprice(0), minprice(0), idx(0); if c <= 990 then {maxprice = c+10; minprice = c-10;} if 1050 < c and c <= 4950 then {maxprice = c+50; minprice = c-50;} if 5100 < c and c <= 9900 then {maxprice = c+100; minprice = c-100;} if 10500 < c and c <= 49500 then {maxprice = c+500; minprice = c-500;} if 51000 < c and c <= 99000 then {maxprice = c+1000; minprice = c-1000;} if 105000 < c and c <= 495000 then {maxprice = c+5000; minprice = c-5000;} if 510000 < c then {maxprice = c+10000; minprice = c-10000;} for idx = 1 to 10 {if 990+idx == c then maxprice = 1000+5*(c-990); minprice = c-10;} {if 1000+5*idx == c then maxprice = c+50; minprice = 1000-(10-(c-1000)/5);} {if 4950+5*idx == c then maxprice = 5000+10*(10-(5000-c)/5); minprice = c-50;} {if 5000+10*idx == c then maxprice = c+100; minprice = 5000-5*(10-(c-5000)/10);} {if 9900+10*idx == c then maxprice = 10000+50*(10-(10000-c)/10); minprice = c-100;} {if 10000+50*idx == c then maxprice = c+500; minprice = 10000-10*(10-(c-10000)/50);} {if 49500+50*idx == c then maxprice = 50000+100*(10-(50000-c)/50); minprice = c-500;} {if 50000+100*idx == c then maxprice = c+1000; minprice = 50000-50*(10-(c-50000)/100);} {if 99000+100*idx == c then maxprice = 100000+500*(10-(100000-c)/100); minprice = c-1000;} {if 100000+500*idx == c then maxprice = c+5000; minprice = 100000-100*(10-(c-100000)/500);} {if 495000+500*idx == c then maxprice = 500000+1000*(10-(500000-c)/500); minprice = c-5000;} {if 500000+1000*idx == c Then maxprice = c+10000; minprice = 500000-500*(10-(c-500000)/1000);} plot1(maxprice); plot2(minprice); 그런데 제가 만든 지표를 적용시켜보니 두 가지 문제가 발생합니다. 첫째, 호가단위 변동구간을 전후한 지점에서의 매도 10호가가 실제 호가와 너무나 맞지 않게 표시됩니다(호가단위 변동구간을 제외한 지점에서는 제대로 표시됩니다). 둘째, 매수 10호가는 전체 구간에서 모두 맞지 않게 표시됩니다. 여기서 질문드립니다. 1. 제가 만든 지표에서 무엇이 문제인가요? 2. 만약 어제 답변해주신대로 해당 지표가 기술적으로 구현이 어려운 지표라면 어떤 부분이 구현이 어려운지 알려주실 수 있나요?
프로필 이미지
wl
2018-04-20
319
글번호 118368
지표
답변완료

강조식 부탁드립니다!

안녕하세요! 분봉이나 틱봉의 강조식 또는 검색식을 의뢰드려요! 현재 봉을 시작으로 뒤로 6, 11, 26, 76 번째 봉에 색으로 표시를 하여 눈에 잘띄게 말들고 싶습니다! 그리고 현재봉이 또 새로 생기면 뒤에 표시된 봉이 하나씩 앞으로 이동해서 표시가 계속 진행되길 원합니다! 1. 현재봉 기준에서 뒤로 6번째 봉을 색으로 표시가 나타나게끔 강조식이나 검색식을 부탁드립니다! 2. 현재봉 기준에서 뒤로 11번째 봉을 색으로 표시가 나타나게끔 강조식이나 검색식을 부탁드립니다! 3. 현재봉 기준에서 뒤로 26번째 봉을 색으로 표시가 나타나게끔 강조식이나 검색식을 부탁드립니다! 4. 현재봉 기준에서 뒤로 76번째 봉을 색으로 표시가 나타나게끔 강조식이나 검색식을 부탁드립니다! 부탁드려요! 감사합니다!
프로필 이미지
qha71
2018-04-20
210
글번호 118364
강조
답변완료

스위칭

//매수진입 if 조건식 and marketposition==0 then { buy; } //매수진입2 if data2(bdate!=bdate[1] and 조건식) and marketposition==0 then { buy; } //매수청산 if marketposition==1 and 조건식 then { exitlong; } //매도진입 if 조건식 and marketposition==0 { sell; } //매도진입2 if data3(bdate!=bdate[1] and 조건식) and marketposition==0 then { sell; } //매도청산 if marketposition==-1 and 조건식 then { exitshort } 매수매도 잘 되고 있습니다만 스위칭을 추가하고 싶습니다. 예를 들어 매도포지션 보유중이였는데 매도청산과 매수진입2이 하나의 봉에서 이루어져야 하는데 매도청산만 되고 매수진입2이 안됩니다. 청산시점은 "봉 완성"으로 해놓은 상태구요, "조건만족시 즉시"는 개인적으로 원하지 않습니다.
프로필 이미지
수급돌파
2018-04-20
200
글번호 118358
시스템