커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
4734
글번호 230811
답변완료
수평선 라인 보조선 설정 부탁합니다
현재 챠트에 매일 만드는 것이너무 어렵네여!!!
첨부 했습니다.
2015-10-29
296
글번호 91871
답변완료
월,주 수식.. 부탁드릴께요..
안녕하세요. 도움부탁드립니다.
예를들어. 틱봉에서 적용이 가능한지 알고 싶습니다.
혹 적용이 안된다면, 분봉에서라도 가능한지요...??
var1 = 월5이평 최고가;
var2 = 월5이평 최저가;
var3 = 월봉의 5이평선;
var4 = 당월봉의 최고가;
var5 = 당월봉의 최저가;
var6 = 당월봉의 중심가;
var11 = 주봉의5이평 최고가;
var12 = 주봉의 5이평 최저가;
var13 = 주봉의 5이평선;
var14 = 이번주봉의 최고가;
var15 = 이번주봉의 최저가;
var16 = 이번주봉의 중심가;
2015-10-29
193
글번호 91869
답변완료
문의드립니다
아래는 시스템의 일부입니다
아래 내용에서 설정한 시간 내로 설정한 수익률(5%)이 나면 설정한 시간 뒤에 매매가 되도록
부탁드립니다
ex 30분 내에 진입가보다 5%미만 상승시
>> 1%상승시 30%매도 2%상승시 40%매도 3%상승시 전량매도
1%하락시 30%매도 2%하락시 40%매도 3%하락시 전량매도
30분 내에 진입가보다 5%이상 상승시
>>>설정한 시간(30분)뒤에
진입가보다 6%상승시 30%매도 7%상승시 40%매도 8%상승시 전량매도
진입가보다 5%미만 상승시 1분 단위로 30% 40% 전량매도
첫번째경우는 +30분이고
두번째 경우는 +30에 +30 총 60분 뒤입니다
감사합니다
if MarketPosition == 1 Then{
if BarsSinceEntry == 1 then
buy("b2",OnClose,def,floor(금액*0.0/C));
if BarsSinceEntry == 2 then
buy("b3",OnClose,def,floor(금액*0.0/C));
if CurrentContracts > CurrentContracts[1] and MaxEntries == 1 Then
TT = TimeToMinutes(stime);
if CurrentContracts < CurrentContracts Then
Xcnt = Xcnt+1;
if MaxEntries == 1 and TimeToMinutes(stime) >= TT+0 then{
if countif(LatestExitName(0) == "BP1",BarsSinceEntry) < 1 then{
if Xcnt < 2 Then
Xvol = floor(MaxContracts*0.3);
Else
Xvol = CurrentContracts;
ExitLong("BP1",atlimit,LatestEntryPrice(0)*1.03,"",Xvol,1);
}
if countif(LatestExitName(0) == "BP2",BarsSinceEntry) < 1 then{
if Xcnt < 2 Then
Xvol = floor(MaxContracts*0.4);
Else
Xvol = CurrentContracts;
ExitLong("BP2",atlimit,LatestEntryPrice(0)*1.04,"",Xvol,1);
}
if countif(LatestExitName(0) == "BL1",BarsSinceEntry) < 1 then{
if Xcnt < 2 Then
Xvol = floor(MaxContracts*0.3);
Else
Xvol = CurrentContracts;
ExitLong("BL1",AtStop,LatestEntryPrice(0)*0.99,"",Xvol,1);
}
if countif(LatestExitName(0) == "BL2",BarsSinceEntry) < 1 then{
if Xcnt < 2 Then
Xvol = floor(MaxContracts*0.4);
Else
Xvol = CurrentContracts;
ExitLong("BL2",AtStop,LatestEntryPrice(0)*0.985,"",Xvol,1);
}
exitlong("bp3",atlimit,LatestEntryPrice(0)*1.05);
exitlong("bl3",AtStop,LatestEntryPrice(0)*0.98);
}
}
if MarketPosition != 1 Then
Xcnt = 0;
2015-10-29
181
글번호 91868
답변완료
수식부탁 좀 드립니다.
안녕하세요.
아래 수식을 전일 데이타와 관련이 없도록
그러니까
금일 첫 봉 부터 금일 마지막 봉까지 데이타만으로 기능하도록
수식을 수정하여 주시면 감사하겠습니다.
if C > O Then
Direction = 1;
if C < O Then
Direction = -1;
if Direction == 1 and Direction[1] != 1 Then{
var1 = H;
if var2 > 0 Then{
saveLow = min(var2,L);
}
}
if Direction == -1 and Direction[1] != -1 Then{
var2 = L;
if var1 > 0 Then{
savehigh = max(var1,H);
}
}
if Direction == 1 and H > var1 Then
var1 = H;
if Direction == -1 and L < var2 Then
var2 = L;
}
2015-10-29
181
글번호 91867
답변완료
안녕하세요
언제나 변함없이 도움을 주신거 감사 드립니다
아래와 같이 지표 수식을 부탁드립니다
오늘 지표로 예사 하겠습니다
당일시가 250.70 당일중심 전일중심249.95
전일저가 248.80 전일고가251.10 오늘고가253.65 현재저가249.25
일때
아침시초가에서1. 당일중심-전일저가 =폭을 당일중심가 위아래 선표시
2. 당일중심값에 전일진폭을 위 아래 선표시
3.당일중심과 전일중심값의 /2 선표시
당일 시초가 형성후 1.당일중심가 이탈시 당일고점에서 당일중심폭 많큼 선표시
예시 당일고점253.65 현재 당일중심가가252라면 진폭 1.65
252-1.65=폭을 선표시 반대로 당일중심 회복시는 당일저가에서 현재 당일
중심값에 진폭 표시
2,당일중심가 이탈시 당일저가 당일고가 진폭많큼 선표시
3.당일중심가 회복시 당일저가 당일중심가 진폭많큼 위로 선표시
4.당일중심가 회복시 당일저가 고가 진폭많큼 위로 선표시
죄송하지만 각선에 도달시 경고음과 글자표시 부탁 드립니다
감사합니다
2015-10-29
213
글번호 91866
답변완료
문의 드립니다.
안녕하세요. 빠르고 친절한 답변 고맙습니다.
제가 정확하게 설명하지 못해서 수식이 완성이 안 되고 약간의 오해가 있었습니다.
일단 진입 후 작동하는지 확인하려고 수식을 넣어봤는데요. 진입이 이루어지지 않네요.
다시 살펴보시고 수식을 부탁 드립니다.
이전 질문은 44702번입니다.
=============================================================================
진입조건
저항가격(250),지지가격(248)
몇시 이후 당일 진폭이 10틱 이상일 때(지지 저항 가격만 넣으면 주문이 들어가게 40틱에서 10틱으로 줄였습니다.)
현재가가 저항 가격에 오면 2계약 매도(올라와서 저항 가격에 닿으면 매도하고 가격을 넘어가면 스위칭을 합니다)
현재가가 지지 가격에 오면 2계약 매수
청산
손절이 없으면 +10틱에 1계약, +15틱에 1계약 각각 익절
손절 및 스위칭
진입가격 대비 -n틱이면 손절하고 스위칭
손절 계약수의 1/2을 손절과 함께 스위칭하고, 1/2은 손절가격 -6틱에 진입
(매도 포지션을 보유하고 있을 때, N틱이 상승하면 2계약을 손절하면서 동시에 계약수의 1/2인 1계약을 매수로 스위칭하고(1차 매수), 2계약은 손절가격 -6틱에 진입 대기(2차 매수)합니다.
2차 매수가 체결이 되면 2계약 손절 후 3계약을 보유하게 됩니다)
손절 후 청산 및 재 스위칭 조건
손절이 세번(변수처리) 이하인 경우(스위칭 후 재 손절 포함)
2계약을 손절하고 1개만 스위칭 체결됐을 때
(매도 후 N틱을 상승해서 손절하고 매수 스위칭을 1계약 했는데, 손절가격 -6틱에 진입 대기중인 2차 물량이 체결되지 않고 오를 경우)
당일 누적 손실금 + 10틱에 청산
(당일 누적 손실금 : 2계약으로 10틱 손절해서 20틱 손실인 경우 20틱*25000원=50만원 입니다, 손실을 누적 틱수로 하지 않은 이유는 슬리피지가 발생했을 때 손실 금액에 슬리피지까지 포함되는지 잘 모르기 때문이고, 금액으로 손실 제한을 두고 싶어서입니다)
(250에 매도하고 250.5에 손절 후 1계약 매수로 스위칭을 하고, 2차 주문이 체결되지 않으면, 손실 금액인 50만원이 본전이 되는 251.5 + 10틱인 252에 청산 주문이 나가는 겁니다)
2계약을 손절하고 1계약 스위칭, 추가 2계약 진입해서 3계약을 보유중이면
당일 누적 손실금 + 10틱에 1/2 청산, 당일 누적 손실금 +15틱에 나머지 청산
(손실금 50만원 + 10틱= 251.50에 청산하고, 남은 1계약은 251.75에 청산합니다)
손절이 세번 이상인 경우
당일 누적 손실금 + 1틱에 1/2 청산, 당일 누적 손실금 +15틱에 나머지 청산
(당일 누적손실금을 복구하는 가격 + 1틱인데, 어떻게 표현해야 할지 몰라서 설명이 잘 안된 것 같습니다)
최대손실 300만원이면 거래 중지.(스위칭을 반복해서 손실이 300만원이 되면 모든 거래는 중지합니다)
(손실제한 수식을 검색해서 작성해봤는데 진입이 발생하지 않더군요. 이 부분도 작성 부탁 드립니다.)
이해할 수 있게 주석 부탁드립니다. 감사합니다.
2015-10-29
211
글번호 91865
답변완료
수식 요청 드립니다.
안녕하세요
아래 수식 변경 요청 드립니다.
1. 당일진입횟수 N(1) 제한
-> 당일 진입 수익이 1PT이상 발생 후 부터 10분에 0.1PT씩 당일손실제한이
감소하여 누적 시간이경과, 당일손실제한 0PT가지 감소시 조건만족 강제청산 수식으로
변경 요청 드립니다.(진입 후 손실시 현재 당일손실제한 유지 / 주석 부탁 드립니다.)
2. 당일진입횟수 N(2) 제한
-> 첫진입은 현시스템 유지, 스위칭 이후부터 1. 번시스템과 동일한 누적 시간경과
당일손실제한 0PT가지 감소시 조건만족 강제청산 수식으로 변경 요청 드립니다
2가지 수식 부탁드립니다.
감사합니다.
input :N(1),당일손실(2.0),i증감(0.1),진입수량(1);
var : cnt(0),BCount(0),SCount(0);
var : NP(0),PreNP(0),DayPL(0),loss(0),v1(0);
NP = NetProfit;
if date != date[1] Then{
preNP = NP[1];
Condition1 = false;
v1 = 0;
}
dayPL = NP-PreNP;
BCount = 0 ;
SCount = 0 ;
for cnt = 0 to 10 {
if EntryDate(cnt) == sdate and MarketPosition(cnt) == 1 then
BCount = BCount + 1;
if EntryDate(cnt) == sdate and MarketPosition(cnt) == -1 then
SCount = SCount + 1;
}
if Condition1 == false and TotalTrades > TotalTrades[1] Then{
Condition1 = true;
if PositionProfit(1) > 0 Then
v1 = PositionProfit(1);
}
//-----------------------------------------------------------------------------------------------------
#당일손실제한
if MarketPosition == 1 Then{
ExitLong("당일손실제한bx3",AtStop,avgEntryPrice-(당일손실+(dayPL-v1))/CurrentContracts);
}
if MarketPosition == -1 Then{
ExitShort("당일손실제한sx3",AtStop,avgEntryPrice+(당일손실-(dayPL-v1))/CurrentContracts);
}
//------------------------------------------------------------------------------------------------------
#기존수식 손실손절 스위칭
if MarketPosition == -1 and crossup(H,EntryPrice+0.5) and BCount+SCount < N and dayPL > 당일손실 Then
buy("1BX");
if MarketPosition == 1 and CrossDown(L,EntryPrice-0.5) and BCount+SCount < N and dayPL > 당일손실 Then
sell("1SX");
//------------------------------------------------------------------------------------------------------ if MarketPosition == 1 Then
Buy("bb",AtStop,LatestEntryPrice(0)+i증감,진입수량);
if MarketPosition == -1 Then
sell("ss",AtStop,LatestEntryPrice(0)-i증감,진입수량);
SetStopEndofday(150000);
2015-10-29
180
글번호 91862
답변완료
수식문의
안녕하세요
1.데이타1의 이평5일선이 볼린져밴드 중간선을골드 빨강 데드 파랑점으로표시되게해주시고
2. 데이타1의 시세가 5일선위면 빨강 아래면 파랑 그리고 볼린져중간선을 시세가 위면빨강 아래면 파랑 그래가지고 두개다 빨강이면 빨강색점으로 두개가 파랑이면 파란점 두개중불일치하면 검정색 점으로 표시되개해주세요 감사합니다
2015-10-29
195
글번호 91861
답변완료
수식 부탁드립니다
(1)당일 저가에서 상승시 40틱 단위로 적색선 그리기
...선 우측에 +40,+80,+120,+160,+200,+240,+280,+320+360 글 쓰기
...해당 캔들 위에 +40,+80,+120+160,+200,+240,+280,+320,+360 글 쓰기
(2)당일 고가에서 하락시 40틱 단위로 청색선 그리기
...선 우측에 -40,-80,-120,-160,-200,-240,-280,-320-360 글 쓰기
...해당 캔들 아래에 -40,-80,-120-160,-200,-240,-280,-320,360 글 쓰기
감사합니다
2015-10-29
284
글번호 91855