커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
4343
글번호 230811
답변완료
문의드립니다.
아래식에서 손절식 추가 부탁드립니다.
손절은 모든 집입의 합이 30틱 손실이면 전 포지션 청산
1
var : T(0),Z(0),HH(0),LL(0);
if Bdate != bdate[1] Then
T = 0;
if crossup(c,dayopen) Then
T = 1;
if CrossDown(c,dayopen) Then
T = -1;
if T == 1 and crossup(C,dayopen+PriceScale*20) Then{
T = 2;
Z = C;
HH = H;
}
if T == -1 and CrossDown(C,dayopen-PriceScale*20) Then{
T = -2;
Z = C;
LL = L;
}
if T == 2 Then{
if H > HH Then
HH = H;
if HH < Z+PriceScale*10 then
buy("b1",AtStop,Z+PriceScale*10,1);
if HH < Z+PriceScale*20 then
buy("b2",AtStop,Z+PriceScale*20,1);
if HH < Z+PriceScale*30 then
buy("b3",AtStop,Z+PriceScale*30,1);
if HH < Z+PriceScale*40 then
buy("b4",AtStop,Z+PriceScale*40,1);
}
if MarketPosition == 1 Then
ExitLong("bx",AtLimit,AvgEntryPrice+PriceScale*30);
if T == -2 Then{
if L < LL Then
LL = L;
if LL > Z-PriceScale*10 then
sell("s1",AtStop,Z-PriceScale*10,1);
if LL > Z-PriceScale*20 then
sell("s2",AtStop,Z-PriceScale*20,1);
if LL > Z-PriceScale*30 then
sell("s3",AtStop,Z-PriceScale*30,1);
if LL > Z-PriceScale*40 then
sell("s4",AtStop,Z-PriceScale*40,1);
}
if MarketPosition == -1 Then
ExitShort("sx",AtLimit,AvgEntryPrice-PriceScale*30);
2
var : T(0),Z(0),HH(0),LL(0);
if Bdate != bdate[1] Then
T = 0;
if crossup(C,dayopen+PriceScale*20) Then{
T = 1;
Z = C;
HH = H;
}
if CrossDown(C,dayopen-PriceScale*20) Then{
T = -1;
Z = C;
LL = L;
}
if T == 1 Then{
if H > HH Then
HH = H;
if HH < Z+PriceScale*10 then
buy("b1",AtStop,Z+PriceScale*10,1);
if HH < Z+PriceScale*20 then
buy("b2",AtStop,Z+PriceScale*20,1);
if HH < Z+PriceScale*30 then
buy("b3",AtStop,Z+PriceScale*30,1);
if HH < Z+PriceScale*40 then
buy("b4",AtStop,Z+PriceScale*40,1);
}
if MarketPosition == 1 Then
ExitLong("bx",AtLimit,AvgEntryPrice+PriceScale*30);
if T == -1 Then{
if L < LL Then
LL = L;
if LL > Z-PriceScale*10 then
sell("s1",AtStop,Z-PriceScale*10,1);
if LL > Z-PriceScale*20 then
sell("s2",AtStop,Z-PriceScale*20,1);
if LL > Z-PriceScale*30 then
sell("s3",AtStop,Z-PriceScale*30,1);
if LL > Z-PriceScale*40 then
sell("s4",AtStop,Z-PriceScale*40,1);
}
if MarketPosition == -1 Then
2018-01-16
136
글번호 115815
답변완료
문의 드립니다.
아래의 시스템수식 좀 부탁드립니다.
1) 5이평선의 저점이 상승해서 올라갈 때 매수 , 5이평선의 저점이 하락해서 낮아질 때 매도
2)1) 5이평선의 저점이 상승해서 올라갈 때 매수 , 5이평선의 고점이 하락해서 낮아질 때 매도
2018-01-16
140
글번호 115811
회원 님에 의해서 삭제되었습니다.
2018-01-16
1
글번호 115810
답변완료
수식부탁드림니다
// data2에서 가상거래를 진행하고 신호를 받아 data1에서 실거래를 진행하려고 합니다.
# Data2 가상진입
Input : shortPeriod(5), longPeriod(20);
value1 = ema(C, shortPeriod);
value2 = ema(C, longPeriod);
If MarketPosition == 0 and CrossUP(value1, value2) Then Buy();
If MarketPosition == 0 and CrossDown(value1, value2) Then Sell();
#Data2 가상청산
Var : RandomStop(0);
If MarketPosition <> 0 and Date <> Date[1] Then
RandomStop = Int(Random(DayIndex[1]+1));
If DayIndex == RandomStop Then{
ExitLong("EL가상청산");
ExitShort("ES가상청산");
}
///////////////////////////////////////////////////////////
// data2 의 c - EntryPrice >= 1 이면 data1 에서 실 매수진입
// data2 의 EntryPrice - c >= 1 이면 data1 에서 실 매도진입
# Data1 실거래 진입
If MarketPosition == 0 and Data2(C) - Data2(EntryPrice) >=1 Then Buy();
If MarketPosition == 0 and Data2(EntryPrice) - Data2(C) >=1 Then Sell();
#Data1 실거래 청산
If MarketPosition <> 0 and Date <> Date[1] Then
RandomStop = Int(Random(DayIndex[1]+1));
If DayIndex == RandomStop Then{
ExitLong("EL랜덤청산");
ExitShort("ES랜덤청산");
}
// Data2 에서 가상거래를 진행하고 실거래는 Data1 하는 수식 완성 부탁합니다.
2018-01-16
156
글번호 115809
답변완료
문의드립니다.
도움주시는 덕분에 도전하고 있습니다. 매번 감사합니다.
1. 기타
코딩부탁드립니다.
a-볼린저밴드 상단을 종가가 돌파시 밴드폭 저장
b-a에서 밴드폭이 per%이상 증가하면
2. 기타
코딩부탁드립니다.
a-종가가 볼린저밴드 상단 돌파시 밴드폭 저장
b-a에서 밴드폭이 n이상 증가면
3. 기타
-진입한 상태에서 밴드폭이 n%이상 줄어들면 이 코딩은
diff <= diff[BarsSinceEntry]*(1-n/100)
이렇게 하면 되나요?
2018-01-16
150
글번호 115806
답변완료
틱차트 봉 간격
안녕하세요
90틱 차트에서 현재봉의 시간에서 10봉전의 시간을 뺀 값이 2분 미만이고
10봉전 가격기준 현재가가 1% 이상 상승일때 매수하는 식 부탁합니다.
2018-01-16
141
글번호 115797
답변완료
종목 현재 보유
계좌와 연동되어 종목의 현재 보유수을 알수 있는 증권사가 있는지 궁금합니다.
2018-01-16
137
글번호 115796
답변완료
피보나치 지표 문의드립니다
수고 많으십니다.
주간 피보나치 로그선을 아래와 같이 사용하고 있습니다.
그런데 아래수식을 응용해서 월간 피보나치 로그선으로 바꾸려고 합니다.
지표 정의:
매월 첫째영업일부터 당일 현시점까지의 고저점으로 작성되는 피보나치 로그선 그리기
var : WH(0),WL(0),Dcnt(0);
#영업일 기준으로 한주의 시작
if DayOfWeek(bdate) < DayOfWeek(bdate[1]) Then{
WH = H;#주간 최고가를 저장할 변수(초기값 해당봉고가)
WL = L;#주간 최저가를 저장할 변수(초기값 해당봉저가)
Dcnt = 0; #주간 날짜수를 저장할 변수(초기값0)
}
#영업일이 변경되면 1씩 증가
if bdate != bdate[1] Then
Dcnt = Dcnt+1;
#WH에 저장된 값보다 큰 고가가 발생하면 WH에 값을 현재봉 고가로 변경
if H > WH Then
WH = H;
#WL에 저장된 값보다 작은 저가가 발생하면 WL에 값을 현재봉 저가로 변경
if L < WL Then
WL = L;
#주간 첫날이면
if Dcnt == 1 then{
plot1(dayhigh,"주중 최고가선");
plot2(10^(((log10(DayHigh)-log10(DayLow))*-0.236)+log10(DayHigh)));
plot3(10^(((log10(DayHigh)-log10(DayLow))*-0.382)+log10(DayHigh)));
plot4(10^(((log10(DayHigh)-log10(DayLow))*-0.500)+log10(DayHigh)));
plot5(10^(((log10(DayHigh)-log10(DayLow))*-0.618)+log10(DayHigh)));
plot6(10^(((log10(DayHigh)-log10(DayLow))*-0.764)+log10(DayHigh)));
plot7(daylow,"주중 최저가선");
}
else{#두번째 날부터
plot1(WH);
plot2(10^(((log10(WH)-log10(WL))*-0.236)+log10(WH)));
plot3(10^(((log10(WH)-log10(WL))*-0.382)+log10(WH)));
plot4(10^(((log10(WH)-log10(WL))*-0.500)+log10(WH)));
plot5(10^(((log10(WH)-log10(WL))*-0.618)+log10(WH)));
plot6(10^(((log10(WH)-log10(WL))*-0.764)+log10(WH)));
plot7(WL);
}
2018-01-16
275
글번호 115795
함지박 님에 의해서 삭제되었습니다.
2018-01-15
25
글번호 115794