커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
1693
글번호 230811
wscamtk 님에 의해서 삭제되었습니다.
2021-11-04
31
글번호 153372
답변완료
이동평균선 위치 비교
안녕하세요,
늘 많은 도움에 감사드립니다.
이평선의 위치를 비교할 수 있는 수식이 있는지 궁금합니다.
예를들면,
Ma(c,5)와 Ma(c,20), Ma(c,60)을 한 지표에 같이 플롯했을 때,
현재 봉에서 가장 가격이 높은 이평선이 무엇인지 표시해주는 수식이 있을까요?
2021-11-04
686
글번호 153371
답변완료
지표 문의드립니다.
안녕하세요. 언제나 감사드립니다. 혼자 며칠동안 고민하다가 질문 드립니다.
현재봉의 볼린저 밴드폭이 과거 밴드폭의 어느 수준에 해당하는지를 정규화하여 나타내려고 합니다.
볼린저 밴드는 (20, 2)를 사용하였고, 과거 N일간의(아래 수식에서는 Period2) 밴드폭의 평균과 표준편차를 이용해 정규화를 하려고 합니다.
Z = (현재값 - 평균) / 표준편차
다음과 같이 작성해보았습니다.
Input : Period1(20), Period2(60), Dis(2);
var : BWidth(0), BWMean(0), BWstd(0), Z(0);
BWidth = BollBandUp(Period1, Dis, 1, close) - BollBandDown(Period1, Dis, 1, close);
BWMean = MA(BWidth, Period2, 1);
BWstd = STD(BWidth, Period2);
Z = (BWidth - BWMean)/BWstd;
Plot1(Z, "Zscore");
수식 검증을 마쳤고, 지표에 등록도 했는데, 사진과 같이 아무것도 표시되지 않습니다. (다른 사용자지표는 정상적으로 표시됨)
혼자 수십번 다르게 테스트 해보았는데, 제 생각에는 밴드폭의 평균과 표준편차를 MA, STD 함수를 이용하여 구한 것에서 오류가 생기는 것 같은데, 이러한 이유가 맞나요?
또, 옳게 작성된 지표도 궁금합니다.
2021-11-04
644
글번호 153370
답변완료
heiken ashi 지표봉차트필요 합니다 강조식 지표보기 불편하네요 ㅜㅜ
시스템 거래목적은아니구요 수동거래하기때문에 일반 봉차트는 보기불편해요
heiken ashi 지표 봉차트 사진 첨부해드림니다
종은하루되세요 ^^
2021-11-03
652
글번호 153369
답변완료
주첫캔들을 월첫캔들로 변경
if Bdate != Bdate[1] Then
{
Condition1 = False;
if DayOfWeek(Bdate) < DayOfWeek(Bdate[1]) Then
Condition1 = true;
}
if Condition1 == true Then
{
var1 = DayOpen;
var2 = DayHigh;
var3 = DayLow;
var4 = DayClose;
}
if var1 > 0 Then
{
Plot1(var1,"주첫날시가");
Plot2(var2,"주첫날고가");
Plot3(var3,"주첫날저가");
Plot4(var4,"주첫날종가");
}
위수식을 월첫날캔들로 변경 부탁드립니다
2021-11-03
482
글번호 153367
답변완료
함수요청
안녕하세요?
아래 글번호 74517번 지표 검증 요청드립니다.
국낸연결선물 1분봉에 적용해도 표시되지 않습니다.
2021-11-03
513
글번호 153360
답변완료
문의 드립니다.~~~~
답변주신 내용으로 햬결이 되지 않아
추가 요청을 더해 다시 부탁드립니다~
<진입>
진입은 아래 수식에서 설정된 시간대별로 구분되어
매일 진입이 실행되도록 시간대 설정
(왜그런지 아래식에서는 23시에서 1시까지는 진입이 이루어지지 않습니다.)
<청산>
1, 설정된 각 시간대 내에서는 청산 조건이 충족되면 수식 그대로
청산 및 스위칭 재진입
2, 설정된 각 시간내에서 청산 조건이 충족 되지 않아
포지션을 가지고 각 시간대를 지날때에는
청산 조건이 충족되면 스위칭 재진입 없이
청산만 이루어지도록 부탁드립니다~~~
항상 감사합니다 건강하세요~``
input : 진입틱수(10);
input : 최소손실틱(0),손실감소틱(10);
input : StartTime1(70000),EndTime1(100000);
input : StartTime2(110000),EndTime2(130000);
input : StartTime3(150000),EndTime3(180000);
input : StartTime4(230000),EndTime4(010000);
var : Tcond(false);
var : OO(0),HH(0),LL(0);
if (sdate != sdate[1] and stime >= EndTime1) or
(sdate == sdate[1] and stime >= EndTime1 and stime[1] < EndTime1) Then
{
Tcond = False;
if MarketPosition == 1 Then
ExitLong();
if MarketPosition == -1 Then
ExitShort();
}
if (DayOfWeek(sDate) != 1 and sdate != sdate[1] and stime >= StartTime1) or
(sdate == sdate[1] and stime >= StartTime1 and stime[1] < StartTime1) Then
{
Tcond = true;
OO = O;
HH = H;
LL = L;
}
if (sdate != sdate[1] and stime >= EndTime2) or
(sdate == sdate[1] and stime >= EndTime2 and stime[1] < EndTime2) Then
{
Tcond = False;
if MarketPosition == 1 Then
ExitLong();
if MarketPosition == -1 Then
ExitShort();
}
if (DayOfWeek(sDate) != 1 and sdate != sdate[1] and stime >= StartTime2) or
(sdate == sdate[1] and stime >= StartTime2 and stime[1] < StartTime2) Then
{
Tcond = true;
OO = O;
HH = H;
LL = L;
}
if (sdate != sdate[1] and stime >= EndTime3) or
(sdate == sdate[1] and stime >= EndTime3 and stime[1] < EndTime3) Then
{
Tcond = False;
if MarketPosition == 1 Then
ExitLong();
if MarketPosition == -1 Then
ExitShort();
}
if (DayOfWeek(sDate) != 1 and sdate != sdate[1] and stime >= StartTime3) or
(sdate == sdate[1] and stime >= StartTime3 and stime[1] < StartTime3) Then
{
Tcond = true;
OO = O;
HH = H;
LL = L;
}
if (sdate != sdate[1] and stime >= EndTime4) or
(sdate == sdate[1] and stime >= EndTime4 and stime[1] < EndTime4) Then
{
Tcond = False;
if MarketPosition == 1 Then
ExitLong();
if MarketPosition == -1 Then
ExitShort();
}
if Tcond == true Then
{
if MarketPosition == 0 and OO > 0 and LL > OO-PriceScale*진입틱수 Then
Sell("하루시작매도",AtLimit,LL+PriceScale*진입틱수);
if MarketPosition == 0 and OO > 0 and HH < OO+PriceScale*진입틱수 Then
Buy("하루시작메수",AtLimit,HH-PriceScale*진입틱수);
}
if MarketPosition == 1 Then
{
Sell("Bp",AtLimit,EntryPrice+PriceScale*진입틱수);
if Lowest(L,BarsSinceEntry) <= EntryPrice-PriceScale*최소손실틱 Then
Sell("sx",AtLimit,Lowest(L,BarsSinceEntry)+PriceScale*손실감소틱);
}
if MarketPosition == -1 Then
{
Buy("sp",AtLimit,EntryPrice-PriceScale*진입틱수);
if highest(H,BarsSinceEntry) >= EntryPrice+PriceScale*최소손실틱 Then
Buy("bx",AtLimit,highest(H,BarsSinceEntry)-PriceScale*손실감소틱);
}
2021-11-04
713
글번호 153357
답변완료
​​​해외선물 타주기 시스템 변환
​​​항상 감사드립니다
​​​​​​​​​​​​아래 조건식을 타주기챠트에 적용할수있도록 변환하여주시기 바랍니다
*****************************************************
input:period90(20),횡보율(0.0006);
var : var301(0),var321(0);
var : t60(0),t70(0);
var301=ema(c,period90);
var321=ema(c,period90+20);
value1 = 0;
value2 = 0;
value3 = 0;
if var301>var301[1]*(1+횡보율/100) then value1 = value1+1;
else if var301<var301[1]*(1-횡보율/100) then value2 = value2+1;
else value3 = value3+1;
if var321>var321[1]*(1+횡보율/100) then value1 = value1+1;
else if var321<var321[1]*(1-횡보율/100) then value2 = value2+1;
else value3 = value3+1;
if Var301>Var321 Then
t60 = 1 ;
else if Var301<Var321 Then
t60 = -1;
if value1 == 2 Then
t70 = 1 ;
else if value2 == 2 Then
t70 = -1;
Else if value3 == 2 Then
t70 = 0;
/****************************************************/
var : entrycnt(0);
if stime == 170000 or (stime > 170000 and stime[1] < 170000) Then # 현지시간_뉴욕 17:00 장시작 #
Entrycnt = 0;
if MarketPosition != 0 and MarketPosition != MarketPosition[1] Then
Entrycnt = Entrycnt+1;
if ((entrycnt == 0) or (entrycnt >= 1 and MarketPosition == 0 and MarketPosition(1) != 1) or (MarketPosition == -1)) and #동일방향 재진입금지#
T60==1 then
buy("B1");
if ((entrycnt == 0) or (entrycnt >= 1 and MarketPosition == 0 and MarketPosition(1) != -1) or (MarketPosition == 1)) and #동일방향 재진입금지#
T60==-1 Then
sell("S1");
/***********************************************/
if MarketPosition == 1 and T70==-1 Then
exitlong("eB_B");
if MarketPosition == -1 and T70==1 Then
ExitShort("eS_S");
2021-11-03
893
글번호 153351
답변완료
문의드립니다.
1.codecategoryex의 미니코스피선물과 위클리콜옵션 풋옵션의 코드를 알고 싶습니다.
어디서 찾아봐야하는지 않나오네요.
2.var1의 소수점 2째자리까지의 크기를 비교하고싶습니다.
예로 if var1 > var1[1] then
var2 = 1;
var1의 소수점 2째자리까지의 크기보다 var[1] 소수점2째자리까지의 크기가 작을 경우
var2 = 1;
if int(var1*100) > int(var1[1]*100) then
var2 = 1;
이런식으로 작성했더니 지표출력 plot1 소수2째자리 값이 전봉값보다 커지지 않았는데 var2 = 1;로 출력이 되서요.
답변부탁드려요 수고하세요^^
2021-11-03
921
글번호 153346