커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
3505
글번호 230811
박두희 님에 의해서 삭제되었습니다.
2023-10-05
0
글번호 172865
답변완료
수식 부탁드립니다.
A=highest(H,60);
B=lowest(L,60);
현재의 주가위치가 위 최고가(A)와 최저가(B)의 어떤 수준이하이어야 한다는
조건을 만들때에 필요한 수식을 만들고자 하는 것입니다
1. 최고가가 먼저 출현하고 최저가가 나중에 만들어진 경우, 즉 주가하향추세의
모습을 하고 있을때는 현재의 주가는 최고가와 최저가의 중심가격이하이어야한다는 수식
2. 1번과 반대로 최저가가 먼저 출현하고 최고가가 나중에 나온, 즉 주가상승추세인 경우에
현재의 주가는 최저가와 최고가의 70%이하이어야한다는 조건 수식
선후관계를 표시하는 수식은 어케 해야하는지 궁금합니다
2023-10-05
619
글번호 172864
답변완료
문의 드립니다
1
input : StartTime(170000),EndTime(50000);
input : 익절틱수(0),손절틱수(30);
var : Tcond(False),entry(0);
Variables: Mom(0);
Var : N1(0),dayPl(0),당일수익(0),당일손실(0),Xcond(false);
IF Endtime > starttime Then
SetStopEndofday(Endtime);
Else
{
if sDate != sDate[1] Then
SetStopEndofday(Endtime);
}
if (sdate != sdate[1] and stime >= StartTime) or
(sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then
{
Tcond = true;
IF Endtime <= starttime Then
{
SetStopEndofday(0);
}
}
if (sdate != sdate[1] and stime >= EndTime) or
(sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then
{
Tcond = False;
}
if Tcond == true Then
{
if L ==lowest(L,2) and highest(H,2) >= lowest(L,2)+PriceScale*1 and C > ma(C,120) Then
{
Buy("b",AtStop,(highest(H,2)+lowest(L,2))/2);
}
if MarketPosition == 1 and BarsSinceEntry == 8 Then
ExitLong();
}
SetStopProfittarget(PriceScale*익절틱수,PointStop);
SetStopLoss(PriceScale*손절틱수,PointStop);
2
input : StartTime(170000),EndTime(50000);
input : 익절틱수(0),손절틱수(30);
var : Tcond(False),entry(0);
Variables: Mom(0);
Var : N1(0),dayPl(0),당일수익(0),당일손실(0),Xcond(false);
IF Endtime > starttime Then
SetStopEndofday(Endtime);
Else
{
if sDate != sDate[1] Then
SetStopEndofday(Endtime);
}
if (sdate != sdate[1] and stime >= StartTime) or
(sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then
{
Tcond = true;
IF Endtime <= starttime Then
{
SetStopEndofday(0);
}
}
if (sdate != sdate[1] and stime >= EndTime) or
(sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then
{
Tcond = False;
}
if Tcond == true Then
if H == highest(H,2) and lowest(L,2) <= highest(H,2)+PriceScale*1 and C < ma(c,120) Then
{
Sell("s",AtStop,(lowest(L,2)+highest(H,2))/2);
}
if MarketPosition == -1 and BarsSinceEntry == 8 Then
ExitShort();
SetStopProfittarget(PriceScale*익절틱수,PointStop);
SetStopLoss(PriceScale*손절틱수,PointStop);
3
input : StartTime(210000),EndTime(60000);
input : 익절틱수(0),손절틱수(40);
var : Tcond(False),entry(0);
Variables: Mom(0);
Var : N1(0),dayPl(0),당일수익(0),당일손실(0),Xcond(false);
IF Endtime > starttime Then
SetStopEndofday(Endtime);
Else
{
if sDate != sDate[1] Then
SetStopEndofday(Endtime);
}
if (sdate != sdate[1] and stime >= StartTime) or
(sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then
{
Tcond = true;
IF Endtime <= starttime Then
{
SetStopEndofday(0);
}
}
if (sdate != sdate[1] and stime >= EndTime) or
(sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then
{
Tcond = False;
}
if Tcond == true Then
{
if L ==lowest(L,2) and highest(H,2) >= lowest(L,2)+PriceScale*1 and C > ma(c,120) Then
{
Buy("b",AtStop,(highest(H,2)+lowest(L,2))/2);
}
if MarketPosition == 1 and BarsSinceEntry == 8 Then
ExitLong();
}
if H == highest(H,2) and lowest(L,2) <= highest(H,2)+PriceScale*1 and C < ma(c,120) Then
{
Sell("s",AtStop,(lowest(L,2)+highest(H,2))/2);
}
if MarketPosition == -1 and BarsSinceEntry == 8 Then
ExitShort();
SetStopProfittarget(PriceScale*익절틱수,PointStop);
SetStopLoss(PriceScale*손절틱수,PointStop);
위 3가지 수식어에
매수나 매도의 진입후 손절시 청산 소멸이 되질 않고 매도나 매수 체결이 됩니다.
그리고 그 체결의 역 방향으로 갈 때는 손절이 되질 않습니다.
수식어 수정이 가능한지 문의 드립니다.
-------------------------------------
아래 내용의 2가지 수식어를 부탁드립니다.
4.
* 매매시간 20 :00~ 익일 06:00
* 익절 100 손절 100
* 매수
캔들 저점이 낮아지는 6번의 음봉 (저점이 엇비슷하면 음봉이 아님) 이후
7번이 양봉 일때 8번의 매수 조건은 7번의 전체 폭 하단을 100% 가정했을때
하단 80% 매수
* 청산
캔들 고점이 높아지는 8번양봉 이후 12번 양봉에 (고점이 엇비슷하면 양봉이 아님) 청산
5.
* 매매시간 20 :00~ 익일 06:00
* 익절 100 손절 100
* 매도
캔들 고점이 높아지는 6번의 양봉 (저점이 엇비슷하면 음봉이 아님) 이후
7번이 음봉 일때 8번의 매도 조건은 7번의 전체 폭 하단을 100% 가정했을때
상단 20% 매도
* 청산
캔들 저점이 낮아지는 8번음봉 이후 12번 음봉에 (고점이 엇비슷하면 음봉이 아님) 청산
2023-10-06
577
글번호 172863
답변완료
수식 문의드립니다.
안녕하세요.
지난번에 아래와 같은 수식을 만들어주셨었는데요. 아래 수식대로 해보니 당일 수익이 +가 되지 않더라도
수익 거래가 1회라도 발생하면 다음 진입이 이루어지지 않는 것을 확인하였습니다.
앞선 손실 거래들로 인하여 당일 수익이 -인 경우에는 당일 수익이 +가 될때까지 여러번 진입을 허용하는 수식을 부탁드립니다.
(단, 23시 59분 00초에는 당일 수익이 -이더라도 무조건 청산하도록 하는 수식을 부탁드립니다.)
항상 감사드립니다.
input : StartTime(230000),EndTime(235900);
var : Tcond(False),Xcond(False);
IF Endtime > starttime Then
SetStopEndofday(Endtime);
Else
{
if sDate != sDate[1] Then
SetStopEndofday(Endtime);
}
if (sdate != sdate[1] and stime >= EndTime) or
(sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then
Tcond = False;
if (sdate != sdate[1] and stime >= StartTime) or
(sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then
{
Tcond = true;
Xcond = False;
IF Endtime <= starttime Then
{
SetStopEndofday(0);
}
}
if TotalTrades > TotalTrades[1] and PositionProfit(1) > 0 Then
Xcond = true;
if Tcond == true and Xcond == False Then
{
진입청산수식
}
2023-10-05
649
글번호 172862
레전드 님에 의해서 삭제되었습니다.
2023-10-04
0
글번호 172861
답변완료
미완성 신호 관련 문의드립니다.
안녕하세요.
혹시 미완성신호 발생 시 yeslanguage로 출력(messsagelog 또는 print)할 수 있는 방법이 있는지 문의드립니다.
항상 감사합니다.
즐거운 하루 보내세요.
2023-10-04
627
글번호 172860
모야조지 님에 의해서 삭제되었습니다.
2023-10-04
18
글번호 172848
답변완료
문의드립니다.
안녕하세요~ 지난번에
후행스펜이 선행스펜1돌파, 선행스펜2 돌파, 선행1/선행2동시돌파에
대한 수식을 물어보았고, 종목검색식에 질문에 대한 답변을 주셨는데,
검색식 test를 하다가 좀 이상한것 같아서 체크 좀 부탁드리겠습니다.
아래와 같이 말씀해주신 수식으로 일,주,월봉등으로 돌렸을 경우,
기준과 전혀다른 종목들이 검색이 됩니다.
체크부탁드리겠습니다.
1.후행스팬이 선행스펜1을 골든크로스(돌파)하는 종목 수식
var : 전환선(0),기준선(0),후행스팬(0),선행스팬1(0),선행스팬2(0);
전환선 = (highest(H,9)+lowest(L,9))/2;
기준선 = (highest(H,26)+lowest(L,26))/2;
선행스팬1 = (전환선[25]+기준선[25])/2;
선행스팬2 = (highest(H,52)[25]+lowest(L,52)[25])/2;
if CrossUp(C,선행스팬1[25]) Then
Find(1);
2.후행스팬이 선행스펜2을 골든크로스(돌파)하는 종목 수식
var : 전환선(0),기준선(0),후행스팬(0),선행스팬1(0),선행스팬2(0);
전환선 = (highest(H,9)+lowest(L,9))/2;
기준선 = (highest(H,26)+lowest(L,26))/2;
선행스팬1 = (전환선[25]+기준선[25])/2;
선행스팬2 = (highest(H,52)[25]+lowest(L,52)[25])/2;
if CrossUp(C,선행스팬2[25]) Then
Find(1);
3. 행스팬이 선행스펜1, 선행스팬2을 골든크로스(돌파)하는 종목 수식
var : 전환선(0),기준선(0),후행스팬(0),선행스팬1(0),선행스팬2(0);
전환선 = (highest(H,9)+lowest(L,9))/2;
기준선 = (highest(H,26)+lowest(L,26))/2;
선행스팬1 = (전환선[25]+기준선[25])/2;
선행스팬2 = (highest(H,52)[25]+lowest(L,52)[25])/2;
if CrossUp(C,선행스팬1[25]) and CrossUp(C,선행스팬2[25]) Then
Find(1);
2023-10-04
1205
글번호 172835
답변완료
수식 문의합니다
안녕하세요
price channel 지표를 이용한 시스템 수식 작성하려합니다
수식1
price channel 주가가 상단선을 상승돌파하면, 5일선에서 매수진입
price channel 주가가 하단선을 하락돌파하면, 5일선에서 매도진입
---------------------------------------------------------------------------
수식2
price channel 현재가가 상단선을 상승돌파 후 지속중이면, 5일선에서 매수진입
price channel 현재가가 하단선을 하락돌파 후 지속중이면, 5일선에서 매도진입
위 내용대로 작성이 가능하다면 각각 시스템 수식 작성 부탁드립니다
수고하세요
2023-10-04
1017
글번호 172832