커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7526
글번호 230811
관리자에 의해 프로그램 사용법 QnA로 이동되었습니다
2013-12-30
3
글번호 70922
답변완료
오류수정 필요 해서요
안녕하세요
아래식 오류 수정 부탁드려요
1,
input: cpflag(1), //콜풋 입력
InS(0), //현재 지수를 입력 안하면 data 참조를 통해 실시간 가격을 이용. 테스트시 이용
x(265.0), //행사가 입력
ex(20140309), //만기일
r(0.0351), //CD 금리, 요기서 볼 수 있음 ==> http://stock.koscom.co.kr/
q(0), //배당률
InSig(0), //내재변동성을 입력 안하면 자체 계산된 변동성을 사용. 단, 오차 감안해야 함
InPrice(0); //역시 테스트를 목적으로 함
var:S(0),T(0),sig(0),price(0),ImVol(0),bs(0),delta(0),gamma(0),vega(0),theta(0),rho(0);
S = iff(inS!=0,inS,data1("c")); //kospi종합을 같이 띄워 놓아야 합니다.
T = (DateToJulian(ex) - DateToJulian(date) + 1)/365;
price = iff(inPrice!=0,inPrice,c);
imvol = _ImVol(cpFlag, S, X, T, r, q, price);
sig = iff(insig!=0,insig,ImVol);
bs = _BlackSholes(cpFlag, S, X, T, r, q, sig);
delta = _Delta(cpFlag, S, X, T, r, q, sig);
gamma = _gamma(cpFlag, S, X, T, r, q, sig);
theta = _theta(cpFlag, S, X, T, r, q, sig);
vega = _vega(cpFlag, S, X, T, r, q, sig);
rho = _rho(cpFlag, S, X, T, r, q, sig);
if crossup(imvol*100,bs) or
crossup(imvol*100,delta) or
crossup(imvol*100,gamma) or
crossup(imvol*100,theta) or
crossup(imvol*100,vega) or
crossup(imvol*100,rho) or
crossup(bs,delta) or
crossup(bs,gamma) or
crossup(bs,theta) or
crossup(bs,vega) or
crossup(bs,rho) or
crossup(delta,gamma) or
crossup(delta,theta) or
crossup(delta,vega) or
crossup(delta,rho) or
crossup(gamma,theta) or
crossup(gamma,vega) or
crossup(gamma,rho) or
crossup(theta,vega) or
crossup(theta,rho) or Then
buy();
if CrossDown(imvol*100,bs) or
CrossDown(imvol*100,delta) or
CrossDown(imvol*100,gamma) or
CrossDown(imvol*100,theta) or
CrossDown(imvol*100,vega) or
CrossDown(imvol*100,rho) or
CrossDown(bs,delta) or
CrossDown(bs,gamma) or
CrossDown(bs,theta) or
CrossDown(bs,vega) or
CrossDown(bs,rho) or
CrossDown(delta,gamma) or
CrossDown(delta,theta) or
CrossDown(delta,vega) or
CrossDown(delta,rho) or
CrossDown(gamma,theta) or
CrossDown(gamma,vega) or
CrossDown(gamma,rho) or
CrossDown(theta,vega) or
CrossDown(theta,rho) or Then
sell();
감사합니다^^
2013-12-30
753
글번호 70919
답변완료
부탁드립니다
사용법 : if(조건,결과1,결과2)
설 명 : 만일 조건이 만족하면, 결과1을 실행하고 아닐 경우 결과2를 실행
HA = sar(7.7,0.7);
if(T2<T1 and L>HA, 매수, 매도);
조건이 만족해도 시초가에 바로 진입하지 않고 첫 변곡때 진입하도록 부탁드릴께요
그리고 익절 0.6 손절 0.4 매매횟수 하루에 8회로 제한걸 수 있게 부탁드립니다!
또 만약 포지션 보유시 반대포지션 신호가 나오면 바로 청산하고 반대포지션 진입할 수 있게 해주시고 15시 정각에 자동청산하게 해주시면 감사하겠습니다.
매매 횟수와 익절 손절 포인트를 변수로 넣어서 최적화 돌려볼 수 있게 부탁드릴께요
감사합니다 항상 수고 많으십니다.
2013-12-30
162
글번호 70912
답변완료
질문드립니다^^
일반 HTS에서 구현한 지표를 시스템화 해보고싶은데 방법이 달라 잘 안되네요..
수식작성좀 부탁드립니다 ^^
사용법 : if(조건,결과1,결과2)
설 명 : 만일 조건이 만족하면, 결과1을 실행하고 아닐 경우 결과2를 실행
X=MIN(T1, T2, T3, T4)
W=if(T5(1)<T5, X, T5);
if(T1>W,매수,매도);
조건이 만족해도 시초가에 바로 진입하지 않고 첫 변곡때 진입하도록 부탁드릴께요
그리고 익절 0.6 손절 0.4 매매횟수 하루에 8회로 제한걸 수 있게 부탁드립니다!
또 만약 포지션 보유시 반대포지션 신호가 나오면 바로 청산하고 반대포지션 진입할 수 있게 해주시고 15시 정각에 자동청산하게 해주시면 감사하겠습니다.
매매 횟수와 익절 손절 포인트를 변수로 넣어서 최적화 돌려볼 수 있게 부탁드릴께요
감사합니다 항상 수고 많으십니다.
2013-12-30
160
글번호 70910
답변완료
부탁 드립니다.
하루 한번 시가에 진입. 당일청산.
매수, 매도 익절조건에 익절
매수, 매도 손절조건에 손절.
만기일, 수능일 제어.(만기일, 수능일 다음날 시가진입을 위한 수식)
수익이면 같은 계약수, 손실이면 두배로 진입.
수익으로 끝나면 어제 진입한 조건 그대로 진입.
어제 매수로 수익이면 오늘도 매수만 진입.
어제 매도로 수익이면 오늘도 매도만 진입.
하루 손실이면 어제 진입한 조건 그대로 진입하고 계약은 두배로.
삼일 연속 수익이면 처음 진입한 조건과 반대 조건으로만 진입.
삼일 연속 손실이면 처음 진입한 조건과 반대 조건으로만 진입.
삼일 연속 수익이나 손실이면 반대로 진입하는 겁니다.
반대로 진입했는데도 연속 3일 수익, 손실이면 또 다시 반대로 진입합니다.
하루 한번 시가에만 진입합니다.
다른 수식은 제가 추가해보려고 하니 위 수식 좀 부탁 드립니다.
151500 종가 아닌 다음날 진입에서 영 막혀서 질문으로 올립니다. 죄송합니다.
2013-12-30
182
글번호 70899
2wnwn 님에 의해서 삭제되었습니다.
2013-12-30
24
글번호 70896
답변완료
시가매수 문의합니다
if Stime == 150000 인 경우도 있고
if Stime == 151500 인 경우도 있는데
숫자값이 다른경우가 있는데 어떠한 원칙에 의해서 숫자가 달라지나요?
2013-12-30
226
글번호 70894
답변완료
수정 부탁드립니다.
아래 수식 보시고 수정 부탁드리겠습니다.
1. 설정의 비용/수량 부분의 거래수량을 조정하면 1계약일때와 다계약일때 신호가 다르게 나옵니다. 다계약일 경우도 1계약과 신호가 동일하게 나올수 있게 수정부탁드리고.. 이유를 알고 싶습니다.
2. 청산쪽 수식이 맞는지 점검부탁립니다.
3. 청산쪽에 있는 아래부분을 if문으로 바꿔서.. 청산이 되면
print문으로 xx.txt에 가격과 시간이 출력되게 수정 부탁드립니다.
ExitLong("선물매수상한청산",atlimit,int(bp*1.1/0.05+0.00001)*0.05);
ExitLong("선물매수하한청산",AtStop,BP-int(BP*0.1/0.05)*0.05);
ExitLong("목표수익1",AtLimit,EntryPrice+((목표수익)-(PLR)));
ExitLong("손실제한1",AtStop,EntryPrice+((손실제한)-(PLR)));
4. 질문입니다.
우리투자증권, 리딩투자증권은 예스트레이더 버젼이 다릅니까?
text_New 명령이 안되는것 같아서 질문드립니다.
다르다면 수식내에서 버젼체크해서 예스트레이더 4.0 이하에서는 실행이
안되게 하는 방법 있으면 예좀 들어주시면 감사하겠습니다.
새해 복 많이 받으세요..
아래.
----------------------------------------------------------------
input : 목표수익(2);
input : 수익확보(2),스탑(0.5);
input : 손실제한(-2);
var : PLR(0),XCommission(0),XSlippage(0),OpenPL(0),dayPL(0),count(0);
#당일누적손익계산 시작
XCommission = ((C*ExitCommission)/100)*CurrentContracts; #%설정
XSlippage = (ExitSlippage)*CurrentContracts; #Pt설정
PLR = 0;
count = 0;
for var1 = 1 to 20{
if sdate == EntryDate(var1) Then{
count = count+1;
PLR = PLR+PositionProfit(var1);
}
}
if MarketPosition() == 0 Then{
OpenPL = 0;
dayPL = PLR;
}
Else{
OpenPL = (PositionProfit-(XCommission+XSlippage));
dayPL = PLR+OpenPL;
}
var : cnt(0),sh1(0),sh2(0);
sh1 = 0;
sh2 = 0;
for cnt = 1 to 20 {
if ExitDate(cnt) == sdate and PositionProfit(cnt) > 0 Then
sh1 = sh1+1;
if ExitDate(cnt) == sdate and PositionProfit(cnt) < 0 Then
sh2 = sh2+1;
}
if dayPL > 손실제한 and dayPL < 목표수익 then {
if crossup(c,ma(c,60)) Then
buy("b");
if CrossDown(c,ma(c,60)) Then
exitlong("s");
}
if MarketPosition == 1 Then{
var11 = highest(H,BarsSinceEntry+1);#매수 진입이후 최고 수익
If var11 >= EntryPrice+수익확보 Then
ExitLong("수익확보1",AtStop,EntryPrice-스탑);
ExitLong("선물매수상한청산",atlimit,int(bp*1.1/0.05+0.00001)*0.05);
ExitLong("선물매수하한청산",AtStop,BP-int(BP*0.1/0.05)*0.05);
ExitLong("목표수익1",AtLimit,EntryPrice+((목표수익)-(PLR)));
ExitLong("손실제한1",AtStop,EntryPrice+((손실제한)-(PLR)));
}
if MarketPosition == -1 Then{
var12 = Lowest(L,BarsSinceEntry+1);#매도 진입이후 최고 수익
If var12 <= EntryPrice-수익확보 Then
ExitShort("d수익확보",AtStop,EntryPrice+스탑);
ExitShort("선물매도하한청산",atlimit,BP-int(BP*0.1/0.05)*0.05);
ExitShort("선물매도상한청산",AtStop,int(bp*1.1/0.05+0.00001)*0.05);
ExitShort("목표수익2",AtLimit,EntryPrice+(-(목표수익)+(PLR)));
ExitShort("손실제한2",AtStop,EntryPrice+(-(손실제한)+(PLR)));
}
SetStopEndofday;
2013-12-30
218
글번호 70893
답변완료
지표식 질문입니다
1
연결선물 1분 차트에서
연결누적거래량 지표를 만듭니다
연결누적거래량 지표가
임의 일정기간내에 10000 수치값 차이나면
그 임의 일정기간내에서 최고값과 최저값을 기억하고
지금 현재가를 최저/최고값 사이의 백분율로 표시하고 싶습니다
2
연결선물 1분 차트에서
종가의 차를 절대값하고 누적시키는
연결누적절대값종가차지표 를 만듭니다
연결누적절대값종가차지표 가
임의 일정기간내에 50 수치값 차이나면
그 임의 일정기간내에서 최고값과 최저값을 기억하고
지금 현재가를 최저/최고값 사이의 백분율로 표시하고 싶습니다
2013-12-30
172
글번호 70891