커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

식수정

var : B(0),S(0); if MarketPosition <= 0 and CrossUp(C,DayOpen) Then Buy("b"); if MarketPosition == 1 Then { if CurrentContracts > CurrentContracts[1] Then B = LatestEntryPrice(0); if CurrentContracts < CurrentContracts[1] Then B = LatestExitPrice(0); ExitLong("bx",AtStop,B+PriceScale*50); if MaxEntries < 7 Then Buy("bb",AtLimit,B-PriceScale*50); } if MarketPosition >= 0 and CrossDown(C,DayOpen) Then Sell("s"); if MarketPosition == 1 Then { if CurrentContracts > CurrentContracts[1] Then S = LatestEntryPrice(0); if CurrentContracts < CurrentContracts[1] Then S = LatestExitPrice(0); ExitShort("sx",AtStop,S-PriceScale*50); if MaxEntries < 7 Then Sell("ss",AtLimit,S+PriceScale*50); } 수정 안녕하세요 위식에서 1차 매수.매도 조건을 당일 일봉상 시작가로 해주세요 시가에서 상승시 매수 시가에서 하락시 매도
프로필 이미지
아트정
2022-11-01
1053
글번호 163439
시스템

아트정 님에 의해서 삭제되었습니다.

프로필 이미지
아트정
2022-11-01
0
글번호 163438
시스템
답변완료

문의 드립니다!

안녕하세요! 아래 수식은 일전(79325번)의 질문에 답변해주신 수식인데요 아주 유용하게 잘 사용하고있습니다 아래와같이 한번더 수정 부탁드립니다 1, 이 수식에 세로선이 발생토록 추가 * 세로선은 1)N틱전 발생으로 사용자지정이 가능토록 하여주시고 2)두께와 3)색상도 역시 사용자지정이 가능토록 부탁드립니다 * 세로선 발생대상은 Plot11부터 Plot18까지의 선이 캔들과 N틱전 만날 경우가 되겠습니다 2, 기존수식에 음성신호 발생부분이 있으나 이것이 미발생되는 경우가 더 많은것같습니다 따라서 이 기존부분은 삭제하고 위 1에서 수정된 수식에의거 새롭게 음성신호가 발생되도록 수정이 가능할런지요? 수식을 검증하는 단계에서 자꾸 새로운 기능이 필요하게되어 이렇게 매번 번거롭게 해드리게되네요 항상 상세한 설명과함께 성의껏 도와주심에 진심으로 감사드립니다!!! --------------------------------------------------------------------------------------- data5에 대한 내용을 추가하셔야 합니다. input : 굵기1(5),굵기2(5),굵기3(5),굵기4(5); var : cond11(false,data1),cond21(false,data1); var : cond12(false,data1),cond22(false,data1); var : TL1(0,Data1),TL2(0,Data1),TL3(0,Data1),TL4(0,Data1); var : v1(0,Data1),v2(0,Data1),v3(0,Data1),v4(0,Data1); v1 = data1(highD(0)); v2 = data1(LowD(0)); v3 = data5(highD(0)); v4 = data5(LowD(0)); plot1(v1,"data1고가"); plot2(v2,"data1저가"); plot3(v3,"data5고가"); plot4(v4,"data5저가"); cond11 = data5(highD(0)) >= data1(highD(0)-PriceScale*2); cond21 = data1(lowD(0)) <= data5(lowD(0)+PriceScale*2); if Cond11 == true and cond11[1] == false Then { PlaySound("C:₩예스트레이더₩data₩Sound₩꼬끼오.wav"); TL1 = TL_New(sDate,stime,0,sDate,sTime,99999999); TL_SetColor(TL1,White); TL_SetSize(TL1,굵기1); } if Cond21 == true and cond21[1] == false then { PlaySound("C:₩예스트레이더₩data₩Sound₩꼬끼오.wav"); TL2 = TL_New(sDate,stime,0,sDate,sTime,99999999); TL_SetColor(TL2,Yellow); TL_SetSize(TL2,굵기2); } cond12 = data1(LowD(0)) <= data5(lowD(0)+PriceScale*2); cond22 = data5(highD(0)) >= data1(highD(0)-PriceScale*2); if Cond12 == true and cond12[1] == false Then { PlaySound("C:₩예스트레이더₩data₩Sound₩꼬끼오.wav"); TL3 = TL_New(sDate,stime,0,sDate,sTime,99999999); TL_SetColor(TL3,White); TL_SetSize(TL3,굵기3); } if Cond22 == true and cond22[1] == false then { PlaySound("C:₩예스트레이더₩data₩Sound₩꼬끼오.wav"); TL4 = TL_New(sDate,stime,0,sDate,sTime,99999999); TL_SetColor(TL4,Yellow); TL_SetSize(TL4,굵기4); } var : d1month(0,Data1),d1nday(0,Data1),d1week(0,Data1),d1cond(False,Data1); var : d1EX(false,Data1),d1HH(0,Data1),d1LL(0,Data1),d1OO(0,Data1),d1CC(0,Data1); var : d1DD(0,Data1),d1HH1(0,Data1),d1LL1(0,Data1),d1OO1(0,Data1); var : d1var5(0,Data1),d1var6(0,Data1); d1month = data1(int(date/100)-int(date/10000)*100); d1nday = data1(date - int(date/100)*100); d1week = data1(DayOfWeek(date)); #선물만기 #if d1Month%3 == 0 and d1nday >= 8 and d1nday <= 14 and d1week == 4 then if d1nday >= 8 and d1nday <= 14 and d1week == 4 then#옵션만기 d1EX = true; Else d1EX = false; if d1EX == false and d1EX[1] == true Then { d1cond = true; d1DD = data1(sDate); d1HH = data1(H); d1LL = data1(L); d1OO = data1(O); d1CC = data1(C); d1HH1 = d1HH[1]; d1LL1 = d1LL[1]; d1OO1 = d1OO[1]; } if d1Cond == true then { if data1(H) > d1HH Then d1HH = data1(H); if data1(L) < d1LL Then d1LL = data2(L); d1Var5 = d1LL+(d1HH-d1LL)*0.00; d1Var6 = d1LL+(d1HH-d1LL)*1.00; plot5(d1Var5); plot6(d1Var6); } var : d5month(0,Data5),d5nday(0,Data5),d5week(0,Data5),d5cond(False,Data5); var : d5EX(false,Data5),d5HH(0,Data5),d5LL(0,Data5),d5OO(0,Data5),d5CC(0,Data5); var : d5DD(0,Data5),d5HH1(0,Data2),d5LL1(0,Data5),d5OO1(0,Data5); var : d5var5(0,Data5),d5var6(0,Data5); d5month = data5(int(date/100)-int(date/10000)*100); d5nday = data5(date - int(date/100)*100); d5week = data5(DayOfWeek(date)); #선물만기 #if d5Month%3 == 0 and d5nday >= 8 and d5nday <= 14 and d5week == 4 then if d5nday >= 8 and d5nday <= 14 and d5week == 4 then#옵션만기 d5EX = true; Else d5EX = false; if d5EX == false and d5EX[1] == true Then { d5cond = true; d5DD = data5(sDate); d5HH = data5(H); d5LL = data5(L); d5OO = data5(O); d5CC = data5(C); d5HH1 = d5HH[1]; d5LL1 = d5LL[1]; d5OO1 = d5OO[1]; } if d5Cond == true then { if data5(H) > d5HH Then d5HH = data5(H); if data5(L) < d5LL Then d5LL = data5(L); d5Var5 = d5LL+(d5HH-d5LL)*0.00; d5Var6 = d5LL+(d5HH-d5LL)*1.00; plot7(d5Var5); plot8(d5Var6); } if v1 == d1Var5 Then value1 = v1; if v2 == d1Var5 Then value2 = v2; if v3 == d5Var5 Then value3 = v3; if v4 == d5Var5 Then value4 = v4; if v1 == d1Var6 Then value5 = v1; if v2 == d1Var6 Then value6 = v2; if v3 == d5Var6 Then value7 = v3; if v4 == d5Var6 Then value8 = v4; if value1 > 0 Then Plot11(value1); if value2 > 0 Then Plot12(value2); if value3 > 0 Then Plot13(value3); if value4 > 0 Then Plot14(value4); if value5 > 0 Then Plot15(value5); if value6 > 0 Then Plot16(value6); if value7 > 0 Then Plot17(value7); if value8 > 0 Then Plot18(value8);
프로필 이미지
유로파54
2022-11-01
697
글번호 163436
지표

러블리 님에 의해서 삭제되었습니다.

프로필 이미지
러블리
2022-11-01
1
글번호 163435
지표

러블리 님에 의해서 삭제되었습니다.

프로필 이미지
러블리
2022-11-01
32
글번호 163434
지표
답변완료

atstop으로 매수 매도시

1.백테스트상 분봉과 틱봉에 차이가 나는 이유가 있나요? 특정가격 도달시 매수라면 분봉 일봉 틱봉 관계 없이 같아야 하는게 맞는 것 같아서요. 2. before=Weekhigh(1)-Weeklow(1); eok=100*(Weekclose(1)-Weeklow(1))/before; 주봉상 IBS를 구하는 수식인데 eok<25로 하면 신호가 뜨지 않는데 혹시 수식에 잘못된 곳이 있는가요? week관련 사용자 함수는 등록 되어있고 잘 사용되어지고 있습니다. 항상 감사합니다.
프로필 이미지
마녀58
2022-11-01
1007
글번호 163433
시스템
답변완료

수식요청

안녕하세요 수식 부탁드림니다 매수 볼밴 중심선을 양봉으로 돌파시 첫봉에서 진입 매도 볼밴 중심선을 음봉으로 하향시 첫봉에서 진입
프로필 이미지
아트정
2022-11-01
1050
글번호 163432
시스템
답변완료

data2, data3의 값 저장 수식 좀 부탁드립니다.

분할진입으로 하고 있습니다. 1차 진입: data1 차트에서 매수집입 시 data2, data3 의 가격을 각각 저장. 2차 진입: data1 차트에서 매수집입 시 data2, data3 의 가격을 각각 저장. 3차 진입: data1 차트에서 매수집입 시 data2, data3 의 가격을 각각 저장. 1차,2차,3차 진입시 data2, data3의 값을 덮어서 저장하지 않고 시점마다 각각 저장하는 수식 좀 부탁드리겠습니다.
프로필 이미지
jack112
2022-11-01
1214
글번호 163431
시스템
답변완료

감사합니다

1,,,, X표친 지표가 차트 위에 만 표시되게 부탁 드립니다 Input:length(10); Var:j(0),lastHiVal(0),lastLoVal(0),sBar(0),eBar(0), TL1(0),처리구분(""),T(0),TL2(0),TL3(0); var : hh(0),ll(0),ii(0),diff(0),TL41(0),TL42(0),TL43(0),TL44(0),TL45(0),TL46(0); Array:고점[10,5](0),저점[10,5](0); 처리구분 = ""; If Highest(H,length) == H and lastHiVal <> H and Lowest(L,length) == L and lastLoVal <> L Then { If 저점[1,1] > L Then 처리구분 = "저점처리"; If 고점[1,1] < H Then 처리구분 = "고점처리"; } Else If Highest(H,length) == H and lastHiVal <> H Then 처리구분 = "고점처리"; Else If Lowest(L,length) == L and lastLoVal <> L Then 처리구분 = "저점처리"; If 처리구분 == "고점처리" Then { T = 1; lastHiVal = H; If 고점[1,2] < 저점[1,2] Then { For j = 10 DownTo 2 { 고점[j,1] = 고점[j-1,1]; 고점[j,2] = 고점[j-1,2]; } } If 고점[1,2] < 저점[1,2] or 고점[1,1] < H Then { 고점[1,1] = H; 고점[1,2] = Index; sBar = Index - 저점[1,2]; eBar = 0; If var1 == sDate[sBar] and Var2 == sTime[sBar] Then { TL_Delete(TL1); TL_Delete(TL2); } var1 = sDate[sBar]; var2 = sTime[sBar]; #TL1 = TL_New(sDate[sBar],sTime[sBar],저점[1,1],sDate[eBar],sTime[eBar],고점[1,1]); TL_SetExtRight(TL2,False); TL2 = TL_New(sDate[1],sTime[1],고점[1,1],sdate,sTime,고점[1,1]); TL_SetColor(TL2,BLUE); TL_SetSize(TL2,2); If 고점[3,1] < 고점[2,1] and 고점[2,1] > 고점[1,1] and 저점[2,1] < 저점[1,1] Then { sBar = Index - 저점[2,2]; eBar = Index - 저점[1,2]; } } } If 처리구분 == "저점처리" Then { T = -1; lastLoVal = L; If 저점[1,2] < 고점[1,2] Then { For j = 10 DownTo 2 { 저점[j,1] = 저점[j-1,1]; 저점[j,2] = 저점[j-1,2]; } } If 저점[1,2] < 고점[1,2] or 저점[1,1] > L Then { 저점[1,1] = L; 저점[1,2] = Index; sBar = Index - 고점[1,2]; eBar = 0; If var1 == sDate[sBar] and Var2 == sTime[sBar] Then { TL_Delete(TL1); TL_Delete(TL3); } var1 = sDate[sBar]; var2 = sTime[sBar]; #TL1 = TL_New(sDate[sBar],sTime[sBar],고점[1,1],sDate[eBar],sTime[eBar],저점[1,1]); TL_SetExtRight(TL3,False); TL3 = TL_New(sDate[1],sTime[1],저점[1,1],sdate,sTime,저점[1,1]); TL_SetColor(TL3,RED); TL_SetSize(TL3,2); If 저점[2,1] < 저점[1,1] and 저점[2,1] < 저점[3,1] and 고점[2,1] > 고점[1,1] Then { sBar = Index - 고점[2,2]; eBar = Index - 고점[1,2]; } } } TL_SetSize(TL1,0); TL_SetColor(TL1,Black); TL_SetEnd(TL2,sdate,stime,고점[1,1]); TL_SetEnd(TL3,sdate,stime,저점[1,1]); TL_SetExtRight(TL2,true); TL_SetExtRight(TL3,true); ####### 차트에만 표시되게 부탁드립니다
프로필 이미지
매치다는
2022-10-31
1643
글번호 163430
지표