커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7746
글번호 230811
답변완료
질문있음여
수고가 많으세요~~
crossup(5.20)이 된이후 양봉에서 매수하고
crossdown(5.20)이 된이후 음봉에서 매도하려면 어찌작성해야하나요?
크로스업됐을때 음봉이면 양봉나올때까지 기다렸다 매수
크로스다운됐을때 양봉이면 음봉나올때까지 기다렸다 매도 하려고합니다
크로스매매에서 조건을 하나더 추가해보려는데 수식좀 알려주세요^^
감사드립니당
2010-11-24
799
글번호 33841
답변완료
buy, sell 질문 드립니다.
buy();
sell();
exitLong();
exitShort();
요렇게만 적을 경우
atlimit, atstop, atmarket, onclose 등의
값 들 중에서 어느 것이 각각 적용이 되는지 궁금하네요.
즉 .. 디폴트 패러미터가 무었인지요 ?
2010-11-23
850
글번호 33840
답변완료
다음 수식에서 채널 plot 표시할때
input : period(14), adxrange(40);
var : PDI(0), MDI(0), ADXV(0), HADX(0), fixADX(0);
PDI = Diplus(period);
MDI = DiMinus(period);
ADXV = ADX(period);
HADX = Highest(ADXV, Dayindex +1);
#진입
if date <> date[1] Then
fixADX-HADX[1];
if fixADX<adxrange and adxv > adxv[2] then {
if pdi > mdi and C > DayOpen+0.5 Then
buy();
if PDI < MDI and C > DayOpen-0.5 Then
sell();
}
#청산
if PDI < MDI then
ExitLong();
if pdi > mdi Then
ExitShort();
SetStopLoss(1.5);
SetStopEndofday(1440);
----------------------------------------------------------
buy나 sell 이 일어날 채널을 표시할려면 어케하나요?
2010-11-23
957
글번호 33839
답변완료
문의?
안녕하세요?
오늘 새로운 변수가 등장해서 글을 올립니다.
30분봉이 완성되어야 신호가 발생한 경우, 오늘처럼 3시 10분에 진입신호가 발생했는데
체결이 되려면 어떻게 해야하나요?
가령 3시이후 진입조건(매수.매도)이 맞는다면, 장 동시호가 마감때 매수.매도식 부탁드립니다.
(참고로 30분봉 선물포지션 사용중입니다)
종가가 20일 이동평균선을 상향돌파할때 매수.매도
2010-11-23
826
글번호 33838
답변완료
시스템식질문입니다
콜옵션
풋옵션
각각 지칭하는 함수가 어떤건가요?
감사합니다
2010-11-23
964
글번호 33832
답변완료
문의드립니다.
var1 = int(120/BarInterval);
var2 = highest(h,var1);
var3 = Lowest(L,var1);
Condition1 = ExitDate(1) == sdate ; #직전청산이 당일이면 true 전일이면 false
if crossup(c,var2[1]) and dayindex > var1 and stime > 110000 and stime < 150000 and asks < bids and asks < 10000 and c > Ma(c,60) and c > Ma(c,20) and Ma(c,20) > Ma(c,60) and# 직전 60분간 최고가 상향
(Condition1 == false or (Condition1 == true and BarsSinceExit(1) >= var1)) # 두번째 진입부터는 청산후 60분이후에 진입
Then
{
buy();
}
# 매도/매수청산
if crossdown(c,Var3[1]) and dayindex > var1 and stime > 110000 and stime < 150000 and asks > bids and bids < 10000 and c < Ma(c,60) and c < Ma(c,20) and Ma(c,20) < Ma(c,60) and# 직전 60분간 최고가 상향
(Condition1 == false or (Condition1 == true and BarsSinceExit(1) >= var1)) # 두번째 진입부터는 청산후 60분이후에 진입
Then
{
Sell();
}
If CrossUp(c, Ma(c,60)) Then
{
exitshort();
}
If CrossDown(c, Ma(c,60)) Then
{
exitlong();
}
--------------------------------------------------------------------------------
위 수식은 제가 선물1분봉을 기준으로 작성을 해본것입니다.
간략히 설명을 드리면 당일 1분봉을 기준으로 120개의 봉 최고가를 넘으면 매수 후
60분이동평균선 밑으로 내려오면 매수 청산입니다.
매도도 비슷하게 120개봉의 최저가를 하향하면 매도 후 종가가 60분이동평균선 위로 올라가면 매도청산을 하는 시스템식입니다.
그런데 제가 질문을 드리고싶은것은
위 수식을 테스트를 해보면 수익이 발생하는 거래인데도 시스템포트폴리오에서는
손실로 기록이됩니다. 하도 이상해서 차트에서 진입 청산하는 시점을 하나하나 봤는데도 수익인데도 손실로 테스트가 나옵니다. 혹시나 위 수식이 뭐 잘못된점이 있는지
확인좀 해주세요~~~
2010-11-23
899
글번호 33829
답변완료
주식 종목 검색식?
안녕하세요?
주식종목 검색식을 하나 만들고 싶습니다.
기존에 나와 있는것이 있지만 하나더 추가 하려고 합니다.
1. MACD선이 기준선 "0"을 상향돌파하되, MACD선이 기준선 범위 " +0.5 " 아래에 있는종목 (가장 최근에 MACD선이 "0" 돌파하는 종목을 찾기위해서)
2. 일목균형표에서 종가가 기준선(20일)상향돌파하고, 기준선대비 약 10% 상승 돌파
하는 종목.
(기간은 12,26)
2010-11-23
1040
글번호 33828
답변완료
왜 이렇게 동작하나요 ?
개인적으로 작성한 시스템이 수정하면서 언제서 부터인가 오동작을 해서 한참동안 debugging했는데요.
엑기스만 추출하면 아래와 같은 모양새입니다.
일봉으로 2000년 1월 4일 봉부터 시뮬레이션이나 실시간차트를 걸면은 의도와 다르게 매도 신호가 안나옵니다.
input : USE_MA_MODE(0);
if( USE_MA_MODE ) then
Value7 = MA ( C, 64 );
Else
{
if( sdate == 20000218 ) then
Sell("S6매도",atmarket);
if( MarketPosition() == -1 ) Then // 매도시는 -1임
ExitShort("S6익절", atstop, 112.72);
}
여기서 64를 0으로 바꾸면 원하는데로 매도 신호가 나옵니다.
물론 차트의 64봉까지는 MA의 출력값이 unknown이 나온다는건 압니다.
하지만 그게 아래의 else쪽의 매도 시그널하고 무슨 상관인가요 ?
실제로 지금세팅에서는 USE_MA_MODE가 0이기 때문에 MA는 구동도 안됩니다.
tool 자체의 문제인가요 ?
USE_MA_MODE로 쓸때는 MA를 사용하고 USE_MA_MODE가 아닐때는
매도 신호부분이 동작해야 하고 개인적인 이유상 2000년 1월 4일 봉부터
동작시켜야 하는데 해결책이 없나요 ?
2010-11-23
966
글번호 33827
답변완료
문의드립니다
안녕하세요.
한개의 시스템식에 변수를 분할하여 진입,청산하고자 합니다.
아래식에 적용된 진입,청산 변수값을 A 진입,청산이라고 가정하고
B 진입: LEN2(0.1),LEN3(3),N(20);
C 진입: LEN4(0.3),LEN5(4),N(30);
D 진입: LEN6(0.5),LEN7(6),N(50);
E 진입: LEN8(0.6),LEN9(2),N(70);
.
.
.
--------------------------------
이렇게 10 개정도 변수값을 설정하고 A로 진입한것은 A로 청산하고
B로 진입한것은 B로 청산하는 방식으로 변수값을 여러개 사용하고자
합니다.
이러한 방법에 문제가 있으면 다른방법 좀 알려 주세요.
input : len(0.1), len1(2.7),n(20),tcount(2);
var: CurrentEntryNum(0);
var1 = dayHigh(1)-dayLow(1);
if date<>date[1] Then {
var10 = TotalTrades;
}
CurrentEntryNum = TotalTrades;
Condition1 = date==exitdate(1) And MarketPosition(1) == 1;
Condition2 = date==exitdate(1) And MarketPosition(1) == -1;
if stime < 150000 then {
if CurrentEntryNum < var10 + tcount and Condition1 == false and MarketPosition <> 1 Then
buy("매수", atstop, dayOpen(0)+var1*len);
if CurrentEntryNum < var10 + tcount and Condition2 == false and MarketPosition <> -1 Then
sell("매도", atstop, dayOpen(0)-var1*len);
}
//청산
If marketposition == 1 Then {
exitlong("매수청산",Atstop,highest(high,barssinceentry+1)-atr(n)*len1);
}
if MarketPosition == -1 then{
exitshort("매도청산",Atstop,lowest(low,barssinceentry+1)+atr(n)*len1);
}
감사합니다.
2010-11-23
785
글번호 33826