커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
4360
글번호 230811
답변완료
문의
항생오전10시15분을 시가로 보고요 다음날 새벽2시를 종가로 보고 시가,고가, 전일저가,전일고가,전일종가를 표현 해주십시요.
그리고 아래수식도 오전9시15분을 기준으로 바꾸어주십시요
var : B(0),B2(0),B3(0);
B = Accum(C);
if date != date[1] Then
B2 = B[1];
B3= (B-B2)/(dayindex+1);
if B3 > B3[1] Then
plot1(B3,"1",RED);#상승 빨간색
Else
plot1(B3[1],"1",blue);#하락 파란색
2018-03-18
175
글번호 117487
답변완료
문의드립니다.
도움주시는 덕분에 도전하고 있습니다. 매번 감사합니다.
1. 시스템
이 수식 해선 특정시간에 맞추어에 쓸 수 있도록 90000, 150000로 돼 있는 거를 외부변수로 수정부탁드립니다.
Inputs: InitMin(90),stopp(1);
Variables: SessStartMin(0), TradeTime(0), SetHigh(0), SetLow(0), LongFlag(False), ShortFlag(False);
/*conversion of hour-based time to minute-based time*/
SessStartMin = TimeToMinutes(90000);
TradeTime = TimeToMinutes(sTime);
/*Setup - establishment of the initial range*/
If TradeTime <= SessStartMin + InitMin Then {
If Date <> Date[1] Then {
SetHigh = High;
SetLow = Low;
LongFlag = True;
ShortFlag = True;
}
Else {
If High > SetHigh Then
SetHigh = High;
If Low < SetLow Then
SetLow = Low;
}
}
Else {
/*Entries once the initial period has ended*/
If Time < 150000 Then {
If LongFlag AND CrossUp(Close,SetHigh) Then
buy();
If ShortFlag AND CrossDown(Close,SetLow) Then
sell();
}
}
/*Long Protective Exit*/
If MarketPosition == 1 Then {
LongFlag = False;
ExitLong("EL", atstop,SetLow );
}
/*Short Protective Exit*/
If MarketPosition == -1 Then {
ShortFlag = False;
ExitShort("ES", atstop, SetHigh);
}
2. 기타
여전히 헷갈려서 그러는데요. 특정시간 봉시가를 시가로 할당(정확히는 기준점 할당)하려면 아래와 같이 하면 되는 건가요? 아래 수식에다 변동성 전략같은 것들 var1 + (dayhigh-dayLOW)을 적용하려면 어떻게 수식을 짜야 하나요?
input : 시간(100000);
if (sdate != sdate[1] and stime >= 시간) or
(sdate == sdate[1] and stime >= 시간 and stime[1] < 시간) Then
{ O = var1;}
2018-03-19
167
글번호 117486
답변완료
질문입니다.
선물거래에서 피라미딩에 관한 질문입니다.
예를들어, 1계약을 거래하는 시스템이 다음과 같이 있다고 가정해봅니다.
if c > ma(c, 10) then { buy("b", atmarket, def, 1); }
if c < ma(c, 5) then { sell("s", atmarket, def, 1); }
위 시스템에서 피라미딩을 쌓으려합니다.
피라미딩 진입 로직은 다음과 같습니다.
매수1계약 진입 후 c값이 직전c값보다 크면 1계약추가진입합니다.
만약 c값이 직전c값보다 작다면 1계약을 줄입니다.
여기서 중요한 점은
매수시그널이 발생한 상황이라면 적어도 1계약은 유지하고 있어야합니다.
즉, 매수시그널이 발생한 후 포지션이 0이 되면 안되게 하고 싶습니다.
추가진입과 그에대한 청산은 매도시그널이 나올때까지 계속됩니다.
매도쪽도 마찬가지입니다.
매도시그널이 발생하고 c값이 직전c값보다 작으면 추가 1계약진입합니다.
만약 c값이 직전c값보다 커지면 1계약을 줄입니다.
매도시그널 발생 후 적어도 1계약은 유지하고 있어야 합니다.
역시 매수시그널이 발생할 때까지 계속 시행합니다.
또한, 매수나 매도 피라미딩 시그널이 오리지널 매수매도 시그널과 겹치지 않아야 합니다.
다음과 같은 로직을 예시로 부탁드립니다.
감사합니다.
2018-03-18
181
글번호 117485
답변완료
검색식 부탁합니다
종목 검색식 작성
1.DMI지표
- D+.D- 이고 DMI가 50 이상
- ADX는 20 이상
2.CCI지표(변수 period 1: 240, period 2: 9)
- CCI가 100 이상
- CCI> CCI 시그널
위 모든 조건을 동시에 만족하는 검색식 부탁합니다
2018-03-18
174
글번호 117484
답변완료
문의
lowestsince(1,tema(c,10) < tema(c,10,1),tema(c,10))
예스 랭귀지로 변환이 가능한가요?
tema(3중지수이동평균)맞나요?어떤원리인지?
추가1) 선물고가 - 선물저가 = 선물진폭 식부탁드립니다.
추가2) data2 의 고가 - data2 의 저가 = data2 진폭 부탁드립니다.
추가3) 예로 추가1의 값이 320.25 이면 이라인을 수평선으로 그어주고
text 값을 왼쪽 오른쪽 중간 중에서 선택해서 표시할수있게 부탁드립니다.
2018-03-19
172
글번호 117483
답변완료
래리 윌리엄스 변동성 돌파 전략에 관하여 도움 부탁 드립니다.
변동성 돌파 전략 코드 좀 부탁 드립니다.
개별 종목에 대해서 투자하는 거구요
전략은 아래와 같습니다.
전일 (고가 - 저가)를 range라고 합니다.
당일 현재가가 (시가 + (range * 0.5))를 돌파하는 시점에 무조건 매수합니다.
그리고 익일 시가에 무조건 매도합니다.
염치 없지만 부탁 드립니다.
감사합니다.
2018-03-17
267
글번호 117482
답변완료
문의드립니다
20이평선이 상승중일때만 선의 두깨를 더 두껍게 표현가능한가요??
2018-03-17
170
글번호 117481
답변완료
수식문의
안녕하세요.
1앞전봉의 윗몸통보다 10틱이상크면매수 아래몸통보다 10틱이상적으면 매도하는식부탁합니다.
2.그리고 앞전봉 몸통틱수가 50틱이상 움직일때만 적용되는식도 부탁합니다
2018-03-17
150
글번호 117479
답변완료
질문드립니다.
var : BLcnt(0),SLcnt(0),추격횟수(0), 피라미딩매수(0);
if Bdate != Bdate[1] Then{
BLcnt = 0;
SLcnt = 0;
}
if TotalTrades > TotalTrades[1] and MarketPosition(1) == 1 and IsExitName("StopLoss",1) == true Then
BLcnt = BLcnt+1;
if TotalTrades > TotalTrades[1] and MarketPosition(1) == -1 and IsExitName("StopLoss",1) == true Then
SLcnt = SLcnt+1;
손실횟수제한 로직입니다.
문제는 피라미딩로직을 넣기전에는 잘 작동하였으나,
피라미딩이 작동되고부터는 본 제한로직이 잘 작동하지않습니다. 가령 진입제한이 나오지않아야하는데 나온다거나.. 분명 강조식으로 페인트바되는것을 확인하였으나, 실제 시스템에서 진입은 이루어지지않습니다. stoploss가 나오지않았는데말이지요. 매수조건입니다.(매도조건도 첨부한 로직과 구조는 동일합니다.)
if stime >= 080000 or stime < 040000 Then{
If MarketPosition == 0 then
if 시그널 and BLcnt < 2 Then
Buy("매수",AtStop,Close,DEF);
If MarketPosition == 1 Then{
If 조건 Then{
Buy("추가매수",AtStop,Close,DEF);}
If crossup(조건) Then
exitlong("피라미딩7청산",AtMarket,DEF,"추가매수");
}
저렇게 피라미딩7청산이 이루어지고나면, 이후 매도 신호가 나오지않습니다. 이유가뭘까요.. 반대로 매도후 매수신호가 무시되는것도 마찬가지구요. 청산신호의 오류일까요 exitlong, short함수랑은 관계가없는듯한데.. totaltrade인지.. 감이 안잡힙니다.
또 피라미딩 로직을 제거하면 정상작동하니 말이지요
2018-03-18
149
글번호 117478