커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
6064
글번호 230811
답변완료
종목검색 부탁합니다2
if Bdate != Bdate[1] Then
Condition1 = true;
if asks > Bids Then
Condition1 = False;
Plot1((asks/Bids)*100);
위 수식의 값이 300이상인 종목을 검색하는 수식 부탁드립니다
2022-11-01
911
글번호 163446
답변완료
종목검색 부탁합니다
Input : p(5),Period1(120),Period2(240);
var : Vpower(0),Upper(0),Lower(0),mav(0);
Vpower = upVol/(upVol+downVol)*100-50;
If Vpower > 0 Then
Upper = Vpower;
Else
Upper = 0;
If Vpower <= 0 Then
lower = Vpower;
Else
lower = 0;
mav = ma(Vpower,p);
if CrossUp(0,mav) Then
var1 = C;
PlotBaseLine1(0,"기준선");
Plot1(C-var1);
위 수식의 값이 0이하 일 때 검색하는 수식 부탁드립니다
그리고 위 수식을 비율로 할 수는 없나요 부탁드립니다
2022-11-02
1183
글번호 163444
답변완료
강세약세 수식 문의드립니다.
안녕하세요..키움 영웅문을 쓰다가 예스를 쓰려니 처음부터 막혀서 문의 드립니다
제가 원하는 수식은요 강세약세 수식인데요
A > B 일때(이때 A,B는 이평선) 1번 색으로 표현(차트 바탕색깔로 표현 원합니다.)
C > D 일때(이때 C,D는 일목 기준선과 전환선) 2번 색으로 구현
A>B 이면서 C>D 인 경우에는 3번 색으로 표현
아직 대략적인 명령어도 다 익히지 못해서 글로만 말씀드렸는데..도움 부탁드립니다.
2022-11-01
1299
글번호 163443
답변완료
식수정
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
1102
글번호 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);
2022-11-01
768
글번호 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관련 사용자 함수는 등록 되어있고
잘 사용되어지고 있습니다.
항상 감사합니다.
2022-11-01
1077
글번호 163433