커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
5450
글번호 230811
답변완료
부탁드립니다
수고하십니다
아래수식은 키움수식입나다 예스수식 으로 부탁드립니다
*수식
1수식Os=PriceOsc(shortPeriod,longPeriod);
Os1=Os>0 && Os> Os(1);
if(Os1,max(c,o),0);
2수식Os=PriceOsc(shortPeriod,longPeriod);
Os2=Os>0 && Os< Os(1);
if(Os2,max(c,o),0);
3수식Os=PriceOsc(shortPeriod,longPeriod);
Os3=Os<0 && Os< Os(1);
if(Os3,max(c,o),0);
4수식Os=PriceOsc(shortPeriod,longPeriod);
Os4=Os<0 && Os> Os(1);
if(Os4,max(c,o),0);
5수식 min(c,o)
*지표조건설정
shortPeriod 10
longPeriod 20
*라인설정
price 유형;막대 색상;레드
oscillator 유형;막대 색상;마젠타
shortPeriod 유형;막대 색상;블루우
longPeriod 유형;막대 색상;크라운
0 유형;막대 색상;그레이
*기준선설정
0
*스케일
가격
2020-02-03
485
글번호 135585
답변완료
미결제증감에서
어제보다 +5000개가 넘어가면
색이 빨간색으로 만들고 싶습니다.
도와주셔요
2020-02-03
409
글번호 135584
답변완료
코드 해석 부탁드립니다.
안녕하세요. 답변으로 아래와 같은 코드를 받았는데요, 이해가 되지 않는 부분이 있어서 질문드렸습니다
질문 1.
OO[cnt] = OO[cnt-1][1];
CC[cnt] = CC[cnt-1][1];
이 배열 부분에해한 설명 가능할까요?
질문 2.
그리고 2개 연속 양봉인데
OO[1] > CC[1] and OO[2] > CC[2]
보내주신 코드는 "전봉과 전전봉이 양봉이면" 이라는 뜻 같은데
OO[0] > CC[0] and OO[1] > CC[1]
이 맞지 않을까요?
질문 3.
진입코드가
ExitLong("2차 매수익절_1안",OnClose, def, "매수");
이와 같은데
이러면 봉의 끝나는 부분에서 매매가 된다면
실거래에서는 불가능한 로직인가요?
아니면 어떤식으로 주문이 나가는건가요?
------------답변 내용------------------------
안녕하세요
예스스탁입니다.
Input : shortPeriod(5), longPeriod(20);
value1 = ma(C, shortPeriod);
value2 = ma(C, longPeriod);
# 매수/매도청산
If CrossUP(value1, value2) Then
{
Buy("매수");
}
If CrossDown(value1, value2) Then
{
Sell("매도");
}
input : convert(30);
var : S1(0), D1(0), TM(0), TF1(0), rng1(0), rng2(0), OOO1(0), OOO2(0), CCC1(0), CCC2(0), cnt(0);
Array : OO[10](0), CC[10](0);
if bdate != bdate[1] Then
{
S1 = TimeToMinutes(stime);
D1 = sdate;
}
if D1 > 0 then
{
if sdate == D1 Then
TM = TimeToMinutes(stime)-S1; # TM = TimeToMinutes(stime) - S1
Else
TM = TimeToMinutes(stime)+1440-S1; # 아니면 TM = TimeToMinutes(stime) + 1440 - S1
TF1 = TM % convert; # TF1 = TM 나누기 convert(30)의 '나머지'
if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF1 < TF1[1]) Then # TF[1]이 보다 유일하게 커질때가 30분 정각이다.(틱봉에선 반영이 잘 안되지만, 그래도 근사값을 구할수는 있다)
{
OO[0] = O;
CC[0] = C;
for cnt = 1 to 99
{
OO[cnt] = OO[cnt-1][1];
CC[cnt] = CC[cnt-1][1];
}
}
CC[0] = c;
}
// 청산<익절> ---------------------------------------------------------------------------------------------------------------
if MarketPosition == 1 Then
{
if OO[1] > CC[1] and OO[2] > CC[2] Then
ExitLong("2차 매수익절_1안",OnClose, def, "매수");
else if CurrentContracts == 1 Then
ExitLong("2차 매수본절익절_1안", atstop, EntryPrice, "매수", 1, 1);
}
if MarketPosition == -1 Then
{
if OO[1] < CC[1] and OO[2] < CC[2] Then
ExitShort("2차 매도익절_1안", OnClose,def, "매도");
else if CurrentContracts == 1 Then
ExitShort("2차 매도본절익절_1안", atstop, EntryPrice, "매도", 1, 1);
}
// 손절
SetStopLoss(10, PointStop);
즐거운 명절 되시기 바랍니다.
2020-02-03
425
글번호 135583
답변완료
부탁 드립니다.
도움에 감사드립니다.
그림과 같이 부탁 드립니다.
2020-02-03
449
글번호 135571
답변완료
분봉차트에서 RSI(일봉) 약세 수식 부탁해요~~(강조속성)
분봉차트에서 RSI(일봉기준 8/40 이하일때) 약세 수식 부탁해요~~(강조속성)
2020-02-03
427
글번호 135570
답변완료
최대 손실 대비 상승
최대 수익 대비 하락
SetStopTrailing(10,5,PercentStop,1);
주문 함수는 있는데
혹시 최대 손실 대비 상승을 나타낼 수 있는
주문함수나
수식은 없을까요.
2020-02-03
412
글번호 135561
답변완료
수식문의드립니다
아래 수식을 타주기를 쓰지 않고 1분봉에서 10분봉 값을 나타내고 싶습니다.
/////////////////////////////////////////////////////////////////////////////
input : 기준선Period(13);
var : 평균가(0),기준선(0);
평균가 = (h+l)/2;
기준선 = 0;
if IsNaN(기준선[1]) == true Then
기준선 = ma(평균가,기준선Period);
Else
기준선 = (기준선[1]*(기준선Period-1) + 평균가)/기준선Period;
plot1(기준선,"기준선",BLUE,DEF,3);
/////////////////////////////////////////////////////////////////////////////
항상 감사드립니다
2020-02-03
464
글번호 135558
답변완료
최고선 최저선
안녕하세요
이평선 5개를 사용합니다
예를 들어서 5 20 60 80 100 이평선을 사용할 경우에요
이평선 역배열 정배열 신경쓰지 않고
매수는 ----- 5일 이평선을 제외한 제일 위에 있는 이평선을 5일 이평선이
골드크로스하고(올라가는중이죠 5일 이평선이)
5일 이평선이 내려와서 다시 올라갈때 매수 입니다
단 마지막 이평선을 5일 이평선이 골드크로스하고 이 마지막 이평선을
5일 이평선이데드하지 않아야 합니다
만약에 마지막 이평선을 5일 이평선이 데드가 일어나면 다시 돌파하고
내려와서 다시 마지막 이평선을 이탈하지 않고 올라갈때 매수 입니다
청산및 재매수 ------ 수익이 50틱 이상 수익이 나고 5일 이평선 말고 바로 아래 이평선을
데스시 청산 다시 골드시 재매수 합니다
단 바로 아래 이평선의 우상향(1봉전 이평선보다 0봉전 이평선이 크다)되고 있을때만 재매수 입니다
매도도 부탁합니다
2020-02-03
463
글번호 135557
답변완료
문의드립니다
input : ntime1(60),P(20);
var : S1(0),D1(0),TM(0),TF(0),cnt(0),TL1(0),TL2(0);
Array : HH[10](0),LL[10](0);
if Bdate != Bdate[1] Then
{
S1 = TimeToMinutes(stime);
D1 = sdate;
}
if D1 > 0 then
{
if sdate == D1 Then
TM = TimeToMinutes(stime)-S1;
Else
TM = TimeToMinutes(stime)+1440-S1;
TF = TM%ntime1;
if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF < TF[1]) Then
{
TL_Delete(TL1);
TL_Delete(TL2);
HH[0] = c;
LL[0] = c;
for cnt = 1 to 9
{
Hh[cnt] = Hh[cnt-1][1]-PriceScale*2;
LL[cnt] = LL[cnt-1][1]+PriceScale*2;
}
if HH[1] > 0 and LL[1] > 0 then
{
TL1 = TL_New(sdate[1],stime[1],HH[1],sdate,stime,HH[1]);
TL2 = TL_New(sdate[1],stime[1],LL[1],sdate,stime,LL[1]);
TL_SetColor(TL1,GREEN);
TL_SetColor(TL2,YELLOW);
TL_SetSize(TL1,2);
TL_SetSize(TL2,2);
TL_SetExtRight(Tl1,true);
TL_SetExtRight(Tl2,true);
}
}
else
{
TL_SetEnd(TL1,sdate,stime,hh[1]);
TL_SetEnd(TL2,sdate,stime,LL[1]);
}
if c > HH[0] Then
HH[0] = c;
if c < LL[0] Then
LL[0] = c;
}
위수식으로 1분봉에 60분봉 전봉종가 +1틱으로 수정부탁드립니다~~미리감사드립니다
2020-02-03
414
글번호 135556