커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7654
글번호 230811
답변완료
산식수정요청
처음엔 일반변수로 지정후 표현하려고 했는데 잘 않되서
다시 배열변수로 작성했읍니다만
그림에서 와 같이 의도한 대로 제어가 않돼네요
산식수정을 부탁드립니다
산식의 Ma05=Ma(c,5)이고 Ma10=Ma(c,10)입니다
2012-05-21
424
글번호 51194
답변완료
질문
옵션거래승수제 시행되면 거래량이나 가격등의 데이타분석에 어떤 영향을 미치게 되나요
연결옵션 차트상에서 7월물부터 거래량이 확줄어버릴텐테, 보정을 해야 되는건지
가격도 승수로 인해 달라진 호가영향으로 차트움직임이 달라질텐데 어떻게 되는건지
옵션거래승수제 변경으로 시스템트레이딩 작성기법에 미치는 영향, 주요사항을 알려주세요.
2012-05-21
354
글번호 51193
답변완료
재문의_분할매수_분할청산
항상 빠른 답변 감사드립니다.
아래의 식에서 분할매수와 분할청산은 제가 원하는대로 됩니다.
그런데, buy1, buy2, buy3가 분할매수로 진입된후, buy2나 buy3가 목표이익청산이 된후
(buy1만 남아있는 상황), 다시 진입하면 안되는데, buy2나 buy3가 계속 반복해서 재진입신호가 나옵니다.
이익청산후에는 buy2와 buy3가 재진입이 안되도록 수정부탁드립니다.
미리 감사드립니다.
---------------------------------------------------------------------------
안녕하세요
예스스탁입니다.
아래식 참고하시기 바랍니다.
각 진입별로 손절과 목표이익을 설정하게 작성했습니다.
첫번째 진입은 목표이익 청산이 없습니다.
첫번째를 제외한 진입은 따로 식내용에 맞춰 진입가격을 계산해
변수에 저장하고 사용하셔야 합니다.
의도와 다르시면 전화 주시기 바랍니다.
02-3453-1060
Input: FastLen(10), SlowLen(500), ChLen(30), TrailBar(160), ReBars(30), stopPer(1.0);
Vars: FastMA(0), SlowMA(0),LEntryPrice(0), SEntryPrice(0), LCount(-999), SCount(-999),ATRV(0);
FastMA = ma(C , FastLen );
SlowMA = ma(C , SlowLen );
ATRV = ATR(30);
If CrossUp(FastMA , SlowMA) and index > 1 then {
LEntryPrice = Highest(H , TrailBar )[1];
LCount = index;
}
If MarketPosition <> 1 AND index < LCount + ChLen then
Buy("Buy1", atstop,LEntryPrice,10);
If MarketPosition == 1 and CurrentEntries == 1 Then
buy("Buy2",AtStop,EntryPrice+(ATR(30)*0.5),10);
If MarketPosition == 1 and CurrentEntries == 2 Then
buy("Buy3",AtStop,EntryPrice+ATR(30),10);
If CrossDown(FastMA , SlowMA) and index > 1 then {
SEntryPrice = Lowest(L , TrailBar )[1];
SCount = index;
}
If MarketPosition <> -1 AND index < SCount + ChLen then
Sell ("Sell1", atstop,SEntryPrice,10);
If MarketPosition == -1 and CurrentEntries == 1 Then
sell("Sell2",AtStop,EntryPrice-(ATRV*0.5),10);
If MarketPosition == -1 and CurrentEntries == 2 Then
sell("Sell3",AtStop,EntryPrice-ATRV,10);
If MarketPosition == 1 then {
LCount = -999;
ExitLong("LongTStop_1", atstop, Lowest(L , TrailBar ),"Buy1",10,1);
ExitLong("LongTStop_2", atstop, Lowest(L , TrailBar ),"Buy2",10,1);
ExitLong("LongTStop_3", atstop, Lowest(L , TrailBar ),"Buy3",10,1);
}
If MarketPosition == -1 then {
SCount = -999;
ExitShort("ShortTStop_1", atstop, Highest(H , TrailBar),"Sell1",10,1);
ExitShort("ShortTStop_2", atstop, Highest(H , TrailBar),"Sell2",10,1);
ExitShort("ShortTStop_3", atstop, Highest(H , TrailBar),"Sell3",10,1);
}
if MarketPosition == 1 Then{
exitlong("bloss1",AtStop,EntryPrice-1,"buy1");
if CurrentEntries == 2 and CurrentEntries[1] == 1 Then
value1 = EntryPrice+(ATRV*0.5);
exitlong("bProfit2",atlimit,value1+1,"buy2");
exitlong("bloss2",AtStop,value1-1,"buy2");
if CurrentEntries == 3 and CurrentEntries[1] == 2 Then
value2 = EntryPrice+ATRV;
exitlong("bProfit3",atlimit,value2+2,"buy3");
exitlong("bLoss3",AtStop,value2-2,"buy3");
}
if MarketPosition == -1 Then{
ExitShort("sLoss1",AtStop,EntryPrice+1,"sell1");
if CurrentEntries == 2 and CurrentEntries[1] == 1 Then
value3 = EntryPrice-(ATRV*0.5);
ExitShort("sProfit2",atlimit,value3-1,"sell2");
ExitShort("sLoss2",AtStop,value3+1,"sell2");
if CurrentEntries == 3 and CurrentEntries[1] == 2 Then
value3 = EntryPrice-ATRV;
ExitShort("sProfit3",atlimit,value4-2,"sell3");
ExitShort("sloss3",AtStop,value4+2,"sell3");
}
즐거운 하루되세요
> 공감n감사 님이 쓴 글입니다.
> 제목 : 재문의 드립니다.
> 빠른 답변 감사드립니다.
그런데 저의 설명이 좀 부족했나봅니다^^
이익청산과 손절값이 각계약마다 다르기 때문에 따로따로 해야합니다.
제가 원하는 청산방법은 첫번째 진입은 이익청산이 없고, 두번째 진입은 1포인트(여기서1포인트는 큰 의미가 없고, 그냥 예를 들어 가정을 한거구요, 10포인트가 될수도 있고, atr값이 될수도 있습니다)이익이 생겼을때 이익청산하고, 세번째 진입은 2포인트(이것도 그냥 가정입니다. 20포인트가 될수도 있고, 여러가지....)이상 이익이 나면 청산하도록 하려고 합니다.
간단히 예를 들어 설명하면, 첫번째 진입이 총8포인트 수익이 났다면,두번째 진입은 3포인트 이익이 나면 처음 먼저 청산, 세번째 진입은 세번째 진입가격에서 5포인트 이익이 나면 두번째로 청산합니다. 첫번째 진입이 맨 마지막에 청산됩니다.결과적으로 총 3계약이 16포인트 이익을 내도록 하려고 합니다.
근데 첫번째 진입가격은 entryprice로 정하는데, 두번째와 세번째 진입가격은 어떻게 해야 되는지 모르겠습니다. 두번째와 세번째의 진입가격을 이용해서 이익청산과 손절을
각각 다른 값으로 하고 싶습니다.
부탁드립니다.
2012-05-21
401
글번호 51192
답변완료
중심선 작성
키움에서 작성된 수식을 예스챠트에서도 구현할수있나요?
가능하면 이메일로 알려주세요
(valuewhen(1,time==090500,dayhigh())+
valuewhen(1,time==090500,daylow()))/2
saposa@naver.com
2012-05-21
765
글번호 51191
최선 님에 의해서 삭제되었습니다.
2012-05-21
3
글번호 51190
답변완료
문의드립니다. 진입타이밍
아침동시호가 이후
시초가대비 양봉이면 매수
시초가대비 음봉이면 매도
예)양봉일경우 시초가 240.00 인데..240.05(매수)
음봉일경우 시초가 240.00 인데..239.95(매도)
그러고...이건 챠트만 바꾸면 바로 가능한지 모르지만요...
3분봉,4분봉 30분봉.....같은 방식으로..
수식좀 부탁드립니다.
2012-05-21
372
글번호 51189
답변완료
진입 및 청산
진입 및 청산과 관련하여 질문드립니다.
아래 관련 식 부탁합니다.
첫번째 조건
1. 해외선물을 거래하고 있습니다.
2. 유로를 매수한 뒤 10틱 상승하면 1계약 추가로 매수하고
3. 매입한 가격에서 30틱 상승하면 청산(매도)
4. 매입한 가격보다 30틱 하락하면 청산(매도)
혹시 위 식에서 매수의 조건을 아래와 같이 할 수 있나요?
두번째 조건
1. 유로를 아침 10시에 매입하고 10틱 상승하면 1계약 추가로 매수하고
2. 매입한 가격에서 30틱 상승하면 청산(매도)
3. 매입한 가격보다 30틱 하락하면 청산(매도)
4. 만약 위의 조건이 성립하지 않아 다음날까지 현재 포지션을 유지하고 있다면
5. 다음달 아침 10시가 되도 매입이 되지 않는 식, 즉 청산이 되지 않으면 다음날
아침10시에 매입이 안되게끔 했으면 합니다.
위의 첫번째 조건과 두번째 조건에 대한 식을 부탁합니다.
감사합니다.
2012-05-21
384
글번호 51188
답변완료
매수 금지 관련
매번 감사드립니다.
매도포지션이건 매수포지션이건간에 상관없이 13시 45분 현재 보유 물량 전체의 수익률(합계)이 마이너스(-) 일 경우, 20분동안 신규 진입금지
이를 어떻게 표현해야 하나요?
2012-05-21
348
글번호 51187
답변완료
시스템식 질문입니다
피라미딩 추가 진입 질문입니다
조건 만족후 매수진입 1개 매수 진입
다음 추가 진입은 최초매수가 20% 올라 가면 1개 추가 매수
다음 추가 진입은 최초매수가 35% 올라 가면 2개 추가 매수
다음 추가 진입은 최초매수가 50% 올라 가면 5개 추가 매수
2012-05-21
345
글번호 51181