커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
1501
글번호 230811
답변완료
항상수고많으 십니다
지표(라인)변경부탁드립니다
input : 배분1(0.236),배분2(1.02);
var : 중최고가(0),중최저가(0);
var : 경계(0),경계1(False),경계2(False);
var : 기준봉(0),기준봉1(False),기준봉2(False);
var : 결과기준(0),결과기준1(False),결과기준2(False);
var : 평균(0),평균라인(0);
var : a(0), m5(0),m10(0),m20(0),m60(0),m120(0),m240(0),m480(0);
var : bh(0),bc(0),b(0),aa(0);
중최고가=highest(h,20);
중최저가=lowest(l,20);
경계=(중최고가+중최저가)/2-(중최고가-중최저가)*배분1;
경계1=crossup(c, 경계)&& c>o*배분2;
경계2=crossdown(c, 경계);
if 경계1 or 경계2 Then
기준봉 = O;
기준봉1=crossup(c, 기준봉);
기준봉2=crossdown(c, 기준봉);
if 기준봉1 or 기준봉2 Then
결과기준=o;
결과기준1=crossup(c, 결과기준);
결과기준2=crossdown(c, 결과기준);
if 결과기준1 or 결과기준2 Then
A=o;
M5=ema(C,5);
M10=ema(C,10);
M20=ema(C,20);
M60=ema(C,60);
M120=ema(C,120);
M240=ema(C,240);
M480=ema(C,480);
BH=BollBandUp(20,2);
BC=ma(c,20);
평균=((M5*2)+(M10*2)+(M20*3)+(M60*2)+(M120*3)+(M240*2)+(M480*2)+(BH*1)+(BC*1)) / 18;
평균라인=Ema(Ema(Ema(평균, 5), 5), 5);
B=평균라인 + 20*std(평균라인,5);
AA=sar(0.02,0.2);
if C>=A && CROSSUP(C,B) && AA<=C Then
Find(1);
2023-10-21
812
글번호 173277
답변완료
수식 문의 드립니다
관리자님 수고 많으십니다.
1. 매수: 주가가 20이평선 위에 있고, cci(9,10) 이 기준선 위에 있을시 15시 19분에 매수
2. 매도: 20이평선 고개 틀어 숙일때 매도
2023-10-21
640
글번호 173276
답변완료
문의드립니다.
틱차트가 아닌 1분차트에서 CSar(0.005,0.2); 이러한 함수의 plot 결과가 차트 새창 여는 시점에 따라 다르게 그려질수도 있나요?
틱차트는 장중 데이타 손실로 인해 차트를 불러올때마다 캔들 자체도 달라지고 이에 따라 ema이평선같은 경우는 그림이 (수치가) 조금 달라지는 경우가 있기는 한데 CSar를 1분차트에서 새창을 여니 몇시간 전에 열어두었던 창의 그림과 다른 그림을 그려내고 있어서 조금 당황스러웠습니다.
이런 경우는 어떠한 경우에 해당되는지 알수 있을까요?
2023-10-21
801
글번호 173275
답변완료
문의드립니다
노고가 많으십니다.
시스템식부탁드립니다.
매일 오후 3시05분에 매수하라
만일다음날 상승했을경우 5일선 1/2이상 아래봉 나올경우 매도
만일 다음날 하락출발시매도9시10분 매도식
감사합니다
2023-10-21
968
글번호 173274
답변완료
문의드립니다.
수고 많으십니다.
"5/20선 골든(데드)클로스 + 고가와 저가 1/2선의 위((아래)" 이 2개 조건 일치시 진입하는
2계약 항셍 선물매매 시스템을 만들고자 합니다.
1. 손절은 50틱 되돌림시 1개만 청산되게.
2. 익절은 40틱이상 상승(하락)후 고점(저점)대비 20틱 하락(상승)시 1개 청산, 80틱 상승후 고점(저점)대비 40틱 하락(상승)시 또 1개 청산.
3. 진입한 신호와 반대 방향 신호(2개의 반대조건 일치)가 나오면 신호전환과 동시에 1개든 2개든 남은 계약은 무조건 전량 청산후 반대방향으로 2개 진입한다.
4. 만일 진입후 손절, 익절이 되어 2계약이 모두 청산되었는데 2개 조건이 아직도 같은 방향으로 조건 일치된 상태에 있다면 이런 경우에는 아래의 로직이 별도로 적용되길 원합니다.
기존 2개 조건 일치인 "5/20선 골든(데드)클로스 + 고가와 저가 1/2선 위(아래)" 조건 일치가 아닌
"5/20선 골든(데드)클로스 + 고가와 저가 1/2선 돌파(이탈)" 만족시만 같은 방향 신호가 나오게 부탁드립니다.
이때 돌파(이탈)은 1/2선을 10틱이상(이하) 아래(위)로 내려왔다가 10틱이상 위(아래)로 가는 것을 의미합니다.
5. 10시 15분부터 17시까지 거래되는 시간수식을 기본으로 하되
10시 15분 개장시 이전 종가대비 50틱이상 갭상승(하락)으로 출발한 경우에는 10시 30분부터 신호가 나오게 하고,
100틱이상 갭상승(하락)으로 출발한 경우에는 11시 30분부터 신호가 나오게 부탁드립니다!
늘 노고에 감사드립니다~
2023-10-23
917
글번호 173273
답변완료
문의 드립니다
1.
input : StartTime(150000),EndTime(60000);
input : 익절틱수(120),손절틱수(40);
var : Tcond(False),entry(0);
Variables: Mom(0);
Var : N1(0),dayPl(0),당일수익(400),당일손실(100),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 Then
{
Buy("b",AtLimit,L+abs(min(c,o)-l)*0.3);
}
if MarketPosition == 1 and BarsSinceEntry == 5 Then
ExitShort();
if H == highest(H,2) and lowest(L,2) <= highest(H,2)+PriceScale*1 Then
{
Sell("s",AtLimit,H-abs(max(c,o)-h)*0.3);
}
if MarketPosition == -1 and BarsSinceEntry == 5 Then
ExitLong();
}
SetStopProfittarget(PriceScale*익절틱수,PointStop);
SetStopLoss(PriceScale*손절틱수,PointStop);
2.
input : StartTime(150000),EndTime(50000);
input : 익절틱수(800),손절틱수(50);
var : Tcond(False),entry(0);
Variables: Mom(0);
Var : N1(0),dayPl(0),당일수익(400),당일손실(100),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 Then
{
Buy("b",AtStop,(highest(H,2)+lowest(L,2))/2);
}
if MarketPosition == 1 and BarsSinceEntry == 8 Then
ExitShort();
}
if H == highest(H,2) and lowest(L,2) <= highest(H,2)+PriceScale*1 Then
{
Sell("s",AtStop,(lowest(L,2)+highest(H,2))/2);
}
if MarketPosition == -1 and BarsSinceEntry == 8 Then
ExitLong();
SetStopProfittarget(PriceScale*익절틱수,PointStop);
SetStopLoss(PriceScale*손절틱수,PointStop);
1,2번 수식어를 하나로 부탁드립니다.
1번의 매매시간은 15시부터 21시까지이며 익절과 손절은 위 내용과 동일합니다.
2번의 매매시간은 21시부터 익일 5시까지이고 익절과 손절은 위 내용과 동일합니다.
미리 감사드립니다.
2023-10-20
970
글번호 173272
파워 님에 의해서 삭제되었습니다.
2023-10-20
9
글번호 173271
답변완료
시간 설정 문의 드립니다.
항상 많은 도움 감사드립니다. 나스닥 선물 시간 설정에 대해서 어제 문의 드렸었는데요.
작동 시간을 미국 주식 현지 시간 기준으로 오전10시 부터 다음날 오전7시까지 설정하는것을 문의 드렸습니다. 24시간중에 오전7시부터 오전 10시 까지 3시간을 제외한 시간에 작동하는 구현하고 싶습니다. 어제 주신 시스템 식이
input : StartTime(100000),EndTime(70000);
var : Tcond(False);
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;
}
if Tcond == true Then
{
진입청산수식
}
적용을 해 보았는데 현지시간 기준으로 작동시간이 오전10시부터 24시까지는 작동을 하지 않는것 같습니다.
00시 부터 07시까지만 작동하는것 같아서 어떤것을 수정해야 할까요?
2023-10-20
1029
글번호 173262
답변완료
부탁드립니다
수고하십니다
아래수식처럼 일봉차트에 적용돼는 수식 부탁드립니다
var : 피봇포인트(0), 피봇1지지(0), 피봇1저항(0), 피봇2지지(0), 피봇2저항(0),연장선두께(1),연장선두께1(2);
var : TL1(0),TL2(0),TL3(0),TL4(0),TL5(0);
var: tx3(0),tx4(0),tx5(0),tx6(0),tx7(0);
피봇포인트 = (DayHigh(1)+DayLow(1)+DayClose(1))/3;
피봇1지지 = 2*피봇포인트-DayHigh(1);
피봇1저항 = 2*피봇포인트-DayLow(1);
피봇2지지 = 피봇포인트-DayHigh(1)+DayLow(1);
피봇2저항 = 피봇포인트+DayHigh(1)-DayLow(1);
if DataCompress <= 2 and bdate != bdate[1] then
{
TL_Delete(TL1);
TL_Delete(TL2);
TL_Delete(TL3);
TL_Delete(TL4);
TL_Delete(TL5);
TL1 = TL_New(sdate[1],stime[1],피봇1지지,sdate,stime,피봇1지지);
TL2 = TL_New(sdate[1],stime[1],피봇1저항,sdate,stime,피봇1저항);
TL3 = TL_New(sdate[1],stime[1],피봇2지지,sdate,stime,피봇2지지);
TL4 = TL_New(sdate[1],stime[1],피봇2저항,sdate,stime,피봇2저항);
TL5 = TL_New(sdate[1],stime[1],피봇포인트,sdate,stime,피봇포인트);
TL_SetExtRight(TL1,true);
TL_SetExtRight(TL2,true);
TL_SetExtRight(TL3,true);
TL_SetExtRight(TL4,true);
TL_SetExtRight(TL5,true);
Text_Delete(tx3);
Text_Delete(tx4);
Text_Delete(tx5);
Text_Delete(tx6);
Text_Delete(tx7);
tx3 = Text_New(sDate,sTime,피봇포인트," (피봇포인트):"+NumToStr(피봇포인트,2));
tx4 = Text_New(sDate,sTime,피봇1지지," 피봇1지지:"+NumToStr(피봇1지지,2));
tx5 = Text_New(sDate,sTime,피봇1저항," 피봇1저항:"+NumToStr(피봇1저항,2));
tx6 = Text_New(sDate,sTime,피봇2지지," 피봇2지지:"+NumToStr(피봇2지지,2));
tx7 = Text_New(sDate,sTime,피봇2저항," 피봇2저항:"+NumToStr(피봇2저항,2));
Text_SetStyle(tx3,0,1);
Text_SetStyle(tx4,0,1);
Text_SetStyle(tx5,0,1);
Text_SetStyle(tx6,0,1);
Text_SetStyle(tx7,0,1);
#연장선 색상
TL_SetColor(TL1,RED);
TL_SetColor(TL2,BLUE);
TL_SetColor(TL3,RED);
TL_SetColor(TL4,BLUE);
TL_SetColor(TL5,YelloW);
#연장선 두께
TL_SetSize(TL1,연장선두께);
TL_SetSize(TL2,연장선두께);
TL_SetSize(TL3,연장선두께);
TL_SetSize(TL4,연장선두께);
TL_SetSize(TL5,연장선두께1);
}
2023-10-20
1566
글번호 173261