커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7805
글번호 230811
흰둥이아빠 님에 의해서 삭제되었습니다.
2022-07-06
0
글번호 160478
흰둥이아빠 님에 의해서 삭제되었습니다.
2022-07-06
0
글번호 160477
답변완료
함수요청
안녕하세요?
아래의 전략에 대해 스크립트 작성 요청드립니다.
국내선물 5분봉으로 일중거래를 하고자 합니다.
전영업일의 마지막봉(15시 45분 완성봉)의 저가가 20ma보다 크고 개장 후 첫봉(9시 5분 완성봉)의 고가는 20ma보다 작으면 익봉 시가에 매도 진입
전영업일의 마지막봉(15시 45분 완성봉)의 고가는 20ma보다 작고 개장 후 첫봉(9시 5분 완성봉)의 저가는 20ma보다 크면 익봉 시가에 매수 진입
20ma 상향돌파시 익봉시가에 매도청산
20ma 하향이탈시 익봉시가에 매수청산
당일 저점을 3번 이탈시 매도청산
(3번 이탈의 의미는 이탈->돌파->이탈->돌파->이탈입니다.)
당일 고점을 3번 돌파시 매수청산
(3번 돌파의 의미는 돌파->이탈->돌파->이탈->돌파입니다.)
15시 15분 강제청산
2022-07-06
1625
글번호 160476
답변완료
수식 문의 드립니다
수고하십니다
전주봉 5 10 이평상향크로스 발싱시 분봉에 5 10 이평선을 추세선으로 그리고십
어요
다른분게서 무의 수식중에 Array:고점[10,2](0),저점[10,2](0); 이런문법 설명종
부작드립니다
2022-07-06
1364
글번호 160475
답변완료
수식 질문드립니다.
input : a(1),b(1),,,,,,,,,, z(1); 26개를
0/1 조합해보면, 총 2의 26승이 나옵니다.
이걸 시뮬하려면 총 67108864 개라서 AMD 5950x 기준 20년간 시뮬해야합니다.
intel 11500 이라면 200년 가까이 시뮬 돌려야합니다.
현실적으로 불가능하고,
a+b+c+.............+z >= 13 인 경우만
시뮬할 방법이 있을지 궁금합니다.
이정도만 되도 30분 안쪽으로 해결 될듯합니다.
2022-07-06
1520
글번호 160474
답변완료
문의 드립니다
안녕하세요 수정할 부분이 있어서 다시 올립니다~
시가 종가 차이가 n틱 이상일때 1회씩 카운팅하는 부분에서
"마지막 진입 가격보다 아래 있을때만"이란 조건도 만족할때
카운팅하도록 수정할수 있을까요~?
>>>안녕하세요
예스스탁입니다.
1
input: n(30), k(5);
var: counting(0);
if Bdate != Bdate[1] or (MarketPosition == 0 and TotalTrades > TotalTrades[1]) Then
counting = 0;
if C <= O-PriceScale*n Then
{
counting = counting+1;
if counting >= 3 and counting <= k+2 Then
Buy("b");
if MarketPosition == 1 Then
{
if CurrentContracts > CurrentContracts[1] Then
{
var1 = CurrentContracts-CurrentContracts[1];
Condition1 = true;
}
if CurrentContracts < CurrentContracts[1] and LatestExitName(0) == "bx1" Then
{
Condition1 = False;
counting = 1;
}
if Condition1 == true Then
ExitLong("bx1",AtLimit,lowest(L,BarsSinceEntry)+PriceScale*n,"",MaxContracts-var1,1);
ExitLong("bx2",AtLimit,lowest(L,BarsSinceEntry)+PriceScale*n*2);
}
}
2
input: n(3), k(5);
var: counting(0);
if Bdate != Bdate[1] or (MarketPosition == 0 and TotalTrades > TotalTrades[1]) Then
counting = 0;
if C <= O*(1-n/100) Then
{
counting = counting+1;
if counting >= 3 and counting <= k+2 Then
Buy("b");
if MarketPosition == 1 Then
{
if CurrentContracts > CurrentContracts[1] Then
{
var1 = CurrentContracts-CurrentContracts[1];
Condition1 = true;
}
if CurrentContracts < CurrentContracts[1] and LatestExitName(0) == "bx1" Then
{
Condition1 = False;
counting = 1;
}
if Condition1 == true Then
ExitLong("bx1",AtLimit,lowest(L,BarsSinceEntry)*(1+n/100),"",MaxContracts-var1,1);
ExitLong("bx2",AtLimit,lowest(L,BarsSinceEntry)*(1+(n*2)/100));
}
}
즐거운 하루되세요
> JTH 님이 쓴 글입니다.
> 제목 : 문의 드립니다
> input: n(30), k(5);
var: counting(0);
분봉 마감에서 시가 - 종가 차이가 n틱을 넘게 하락하면 1회로 카운팅하여,
3회 카운팅된때부터 다음봉 시가에 1차 매수
4회 카운팅된 후 다음봉 시가에 2차 매수
K+2회 카운팅 된 후에 다음봉 시가에 k차 매수
매수가 시작된 이후부터 최저가에서 n틱 상승 가격에 k-1회 매수분 물량 매도
카운팅은 1회로 초기화
최저가에서 2n틱 상승 가격에 나머지 1회 매수분 물량 매도
카운팅은 0회로 초기화
*n틱 대신에 n%로 바꾼 수식도 부탁드립니다
2022-07-06
1609
글번호 160473
답변완료
안녕하세요
혹시 아래 수식을 당일기준으로 변경 가능할까요? 전일종가랑 이어지지않고
당일기준으로 부탁드리겟습니다!
Input : shortPeriod(5), longPeriod(20);
value1 = ma(C, shortPeriod);
value2 = ma(C, longPeriod);
# 매수/매도청산
If CrossUP(value1, value2) Then
{
PlotPaintBar(H,L,"강조",Red,Def,4);
}
# 매도/매수청산
If CrossDown(value1, value2) Then
{
PlotPaintBar(H,L,"강조",Blue,Def,4);
}
2022-07-05
1606
글번호 160472
답변완료
매도 청산식 요청드립니다.
아래의 식은 예전에 요청드렸던 분할매도청산식인데
수정이 필요한 부분이 있어 요청을 드립니다.
예를 들어 3%,4%,5%,7%,10% 차례대로 분할매도청산 식에서
평단가가 3%가 되었을때 매도를 안하다가 4% 가 되면 4%로 매도되고 주가가 떨어지면서
3%가 매도가 됩니다.
결과론적으로 condition2 가 매도가 되어야 condition1 이 시스템식이 적용됩니다.
확인좀 부탁드리겠습니다. 모가 문제인지..ㅜ.ㅜ
--------------------------------------------------------------------------------
#매수진입
if MarketPosition == 1 Then
{
#전봉대비 수량 감소(일부 청산발생을 위미)
if CurrentContracts < CurrentContracts[1] Then
{
#청산가 저장
var1 = LatestExitPrice(0);
Condition1 = False;
Condition2 = False;
Condition3 = False;
Condition4 = False;
Condition5 = False;
}
#전봉대비 수량 증가(추가 진입발생을 의미)
if CurrentContracts > CurrentContracts[1] Then
{
#현재수량 저장
Var3 = CurrentContracts;
Condition1 = False;
Condition2 = False;
Condition3 = False;
Condition4 = False;
Condition5 = False;
}
#일부청산이 한번이상 발생하고
#현재 시간이 일부청산후 10분 이후이고
#종가가 청산가 보다 작으면
#전량 청산
if var1 > 0 and C < AvgEntryPrice*1.007 then
ExitLong("bx");
#평단가+3%를 셋팅하고 다음봉에서 해당가격 터치시 즉시 40% 청산
if Condition1 == False AND ((LatestEntryName(0) == "A매수") OR (LatestEntryName(0) == "B매수") or (LatestEntryName(0) == "C매수"))Then
ExitLong("3%익절",AtLimit,AvgEntryPrice*1.03,"",Floor(Var3*0.4),1);
#평단가+4%를 셋팅하고 다음봉에서 해당가격 터치시 즉시 30% 청산
if Condition2 == False AND ((LatestEntryName(0) == "A매수") OR (LatestEntryName(0) == "B매수") or (LatestEntryName(0) == "C매수")) Then
ExitLong("4%익절",AtLimit,AvgEntryPrice*1.04,"",Floor(Var3*0.3),1);
#평단가+5%를 셋팅하고 다음봉에서 해당가격 터치시 즉시 10% 청산
if Condition3 == False AND ((LatestEntryName(0) == "A매수") OR (LatestEntryName(0) == "B매수") or (LatestEntryName(0) == "C매수")) Then
ExitLong("5%익절",AtLimit,AvgEntryPrice*1.05,"",Floor(Var3*0.1),1);
#평단가+7%를 셋팅하고 다음봉에서 해당가격 터치시 즉시 10% 청산
if Condition4 == False AND ((LatestEntryName(0) == "A매수") OR (LatestEntryName(0) == "B매수") or (LatestEntryName(0) == "C매수")) Then
ExitLong("7%익절",AtLimit,AvgEntryPrice*1.07,"",Floor(Var3*0.1),1);
#평단가+10%를 셋팅하고 다음봉에서 해당가격 터치시 즉시 전량 청산
ExitLong("10%익절",AtLimit,AvgEntryPrice*1.10);
#평단가+3%를 셋팅하고 다음봉에서 해당가격 터치시 즉시 40% 청산
if Condition1 == False AND ((LatestEntryName(0) == "D매수"))Then
ExitLong("1-D%익절",AtLimit,AvgEntryPrice*1.01,"",Floor(Var3*0.3),1);
#평단가+4%를 셋팅하고 다음봉에서 해당가격 터치시 즉시 30% 청산
if Condition2 == False AND ((LatestEntryName(0) == "D매수")) Then
ExitLong("2-D%익절",AtLimit,AvgEntryPrice*1.02,"",Floor(Var3*0.3),1);
#평단가+5%를 셋팅하고 다음봉에서 해당가격 터치시 즉시 10% 청산
if Condition3 == False AND ((LatestEntryName(0) == "D매수")) Then
ExitLong("3-D%익절",AtLimit,AvgEntryPrice*1.03,"",Floor(Var3*0.3),1);
#평단가+6%를 셋팅하고 다음봉에서 해당가격 터치시 즉시 10% 청산
if Condition4 == False AND ((LatestEntryName(0) == "D매수")) Then
ExitLong("4-D%익절",AtLimit,AvgEntryPrice*1.04,"",Floor(Var3*0.1),1);
#평단가+3%를 셋팅하고 다음봉에서 해당가격 터치시 즉시 40% 청산
if Condition1 == False AND ((LatestEntryName(0) == "E매수"))Then
ExitLong("본절",AtLimit,AvgEntryPrice,"",Floor(Var3*0.6),1);
#평단가+4%를 셋팅하고 다음봉에서 해당가격 터치시 즉시 30% 청산
if Condition2 == False AND ((LatestEntryName(0) == "E매수")) Then
ExitLong("1-E%익절",AtLimit,AvgEntryPrice*1.01,"",Floor(Var3*0.3),1);
#평단가+5%를 셋팅하고 다음봉에서 해당가격 터치시 즉시 10% 청산
if Condition3 == False AND ((LatestEntryName(0) == "E매수")) Then
ExitLong("2-E%익절",AtLimit,AvgEntryPrice*1.02,"",Floor(Var3*0.1),1);
}
Else#매수진입중이 아니면
{
#변수 0으로 초기화
var1 = 0;
Var2 = 0;
}
if MarketPosition == 1 Then
ExitLong("손절",AtStoP,손절);
2022-07-05
1618
글번호 160471
답변완료
피보나치 지표
안녕하세요.
해외선물 지표 중 피보나치 되돌림 지표가 있나요?
(정확한 명칭이 피보나치 되돌림 인지는 모르겠습니다.
없다면 피보나치 비율을 적용할 수 있는 지표를 만들어 주실수 있습니까?
2022-07-05
1591
글번호 160470