커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
4798
글번호 230811
외환달러 님에 의해서 삭제되었습니다.
2015-07-18
11
글번호 88617
답변완료
문의드립니다
이런질문 드려도 될지모르겠네요 그래도 한국에서 유일하게 시스템트레이딩의 전문적인 답변을 받을수있는곳인만큼 염치없이 질문을올립니다 성공하면 한우 한보따리사들고 찾아뵐꼐요 ㅠㅠ
수많은 답변중에 한가지만 골라보아서 해석해보았고 주석을 달았습니다
바쁘신만큼 전체를 훑어볼 시간은 없으실것같아 특별히 궁금한점만 ★를했습니다.
무턱대고 해석을 한 이후 질문자의 의도와 대조해가며 마저 해석을하였고 그래도 궁금점이 풀리지않은경우에만 별표를 쳤습니다.
--------------
아래의 조건에 맞는 수식 작성 부탁드립니다.
-목표수익 10틱
-당일시가 기준으로 시가보다 높으면 매수
낮으면 매도.
-매수 또는 매도 진입후 목표수익 발생하면 같은방향 진입금지.
# 매수 진입후 목표 수익 청산후 매수 진입금지 하며,
매도 조건 만족시 매도 진입 실행.
#매도 진입일 경우도 위와 같음.
-만약에 매수 진입 후 목표수익에 도달하지 못하고,
하락할 경우 매수 진입후 최고가 대비 20% 하락하면 청산하고.
처음 매수 진입 조건이 부합할 경우 재진입.
#매도일 경우도 위와 같음.
-운영시간 07:00 ~ 익일 05:00
-05:00 이후 모든 방향 진입금지, 장 종료
---이하답변----
var : entry(0);
if Bdate != Bdate[1] Then{
var1 = O;
entry = 0;
}
/// ★★Bdate가 뭔지 모르겠습니다 date는 봉의 끝날짜이고 Sdate는 봉의 시작날짜인데..★★
Bdate가 1봉전 Bdate와 같지않을때
var1 에 시가저장
엔트리에 0을 저장
if MarketPosition != 0 and MarketPosition != MarketPosition[1] Then
entry = entry+1;
/// 포지션을 보유하고있을때 포지션이 직전포지션과 같지않을때
엔트리 값은 엔트리+1이된다.
★위 식에서는 직전포지션을 [1]로 표현했고 아래식에서는 (1)로 표현했는데 아무거나 써도상관없는건지( &&과 and의 차이처럼 의미는 같고 표현만다른건지) 혹은 두개의 뜻이 다른건지궁금합니다★
Condition1 = entry >= 1 and MarketPosition == 0 and MarketPosition(1) == 1 and IsExitName("StopProfitTarget",1) == true;
Condition2 = entry >= 1 and MarketPosition == 0 and MarketPosition(1) == -1 and IsExitName("StopProfitTarget",1) == true;
///Condition1만 해석해보겠습니다
엔트리값이 1 이상이고 현 포지션이 없고, 직전포지션은 매수였을때 최근 청산명이 StopProfitTarget 즉 목표수익실현 이면 트루갑 출력
★엔트리값이 +1이 되는경우는 포지션을 보유하고있을때(MarketPosition != 0)가 아닌가요?? 그러면 해당식 바로 뒤에이어지는 마켓포지션==0 과는 반대되는경우가 되는데 왜이렇게 된건지 궁금합니다.
아니면 엔트리값에 +1을 해주는것은 진행과정에서 일어나는것이고, 한번저장되었으면 포지션 청산과는 관계없이 리셋이 안되는것인가요?? 그렇다면 조건만족시마다 +1을 계속더하니 엔트리값은 무한히 높아지는것으로 이해가됩니다. 그러면 엔트리+1은 무슨의미가 있는건지 이해가되지않습니다 ★
if stime >= 070000 or stime < 050000 then{
if MarketPosition <= 0 and C > var1 and Condition1 == false Then
buy("b");
if MarketPosition >= 0 and C < var1 and Condition2 == false Then
sell("s");
}
///오전7시~오전5시사이에
보유포지션이 없고 봉종가가 var1보다 크고 컨디션1이 거짓일때 매수
★★왜 컨디션2가 트루일때 매수하는게아니고 컨디션1이 거짓이여야 매수진입을 하는건지 궁금합니다. 거짓값은 저 많은조건중 하나만 만족하지않아도 거짓값이 출력되지않나요?
매도부분은생략
if MarketPosition == 1 Then
exitlong("bx",AtStop,highest(H,BarsSinceEntry)*0.80);
if MarketPosition == -1 Then
ExitShort("sx",AtStop,highest(H,BarsSinceEntry)*1.20);
/// 매수포지션일때 진입이후 최고가에서 20%떨어지면 청산
매도포지션일때 생략
SetStopProfittarget(PriceScale*50,PointStop);
/// 50틱일때 목표수익청산
★질문자께서는 10틱일때 목표수익 청산을 요구하셨는데 왜50인지 궁금합니다 프라이스스케일은 어떤종목에서든 1틱을 뜻하는말로 알고있었습니다(YLHelp에 나온 PriceScale 설명 '해당 종목의 호가 단위, 틱' ★
if stime == 050000 or (stime > 050000 and stime[1] < 050000) Then{
ExitLong();
ExitShort();
}
//지금시각이 오전5시 혹은 오전5시 이상이고 직전 시간이 오전5시 이하였을때 청산
★굳이 or을붙여 긴 수식을 붙인이유는 5시에 봉 데이터가 안들어올경우를 대비하는건지?)
별표친부분만 답변 달아주시면 감사하겠습니다
숙련된 답변자분의 눈으로는 황당한질문처럼 보이겠지만 아직 멋모르는 왕초보의 기특한호기심으로 봐주셨으면 감사하겠습니다^^;
다시한번 언제나 진심으로 감사드립니다.
2015-07-18
156
글번호 88616
외환달러 님에 의해서 삭제되었습니다.
2015-07-18
0
글번호 88615
답변완료
부탁드립니다.
등록기준을 보고 거래비용 설정을 하려하는데 이렇게하면 되는건가요?
2015-07-17
120
글번호 88614
답변완료
시스템식 다시한번 검토부탁드립니다
안녕하세요 질의시 마다 신속한 답변 주심에 너무 감사드립니다.
"당일 거래에서 수수료나 슬리피지를 포함해서 일정금액이상 누적수익이나 손실발생하면
진입금지하는 시스템식" 질의 답변내용대로 아래와 같이 수식을 만들어 테스트 해보았는데
첨부와 같이 엉뚱한 곳에서 청산되는 결과가 나와서 다시한번 검토 부탁드립니다.
슬리피지는 매수/매도 진입 매수/매도 청산 0.3틱 이고 강제청산에서 목표수익 1pt 입니다..
수고하십시요..
식 )
input : 당일수익(1),당일손실(-1);
var : NP(0),PreNP(0),DayPL(0),XX(0),YY(0);
var1 = ma(C,20);
NP = NetProfit;
if date != date[1] Then
preNP = NP[1];
dayPL = (NP-PreNP);
if dayPL < 당일수익 and daypl > 당일손실 then
{
if crossup(c,var1) Then
buy();
if crossdown(c,var1) Then
sell();
}
if MarketPosition == 1 Then{
if CommissionMethod == 0 Then
XX = (EntryPrice*(EntryCommission/100)+C*(ExitCommission/100))*CurrentContracts;
if CommissionMethod == 1 Then
XX = (EntryCommission+ExitCommission)*CurrentContracts;
if CommissionMethod == 2 Then
XX = (EntryCommission*PriceScale+ExitCommission*PriceScale)*CurrentContracts;
if SlippageMethod == 0 Then
YY = (EntryPrice*(EntrySlippage/100)+C*(ExitSlippage/100))*CurrentContracts;
if SlippageMethod == 1 Then
YY = (EntrySlippage+ExitSlippage)*CurrentContracts;
if SlippageMethod == 2 Then
YY = (EntrySlippage*PriceScale+ExitSlippage*PriceScale)*CurrentContracts;
ExitLong("bx1",AtLimit,EntryPrice+(당일수익-daypl)+(XX+YY));
ExitLong("bx2",AtStop,EntryPrice-(당일손실+daypl)-(XX+YY));
}
if MarketPosition == -1 Then{
if CommissionMethod == 0 Then
XX = (EntryPrice*(EntryCommission/100)+C*(ExitCommission/100))*CurrentContracts;
if CommissionMethod == 1 Then
XX = (EntryCommission+ExitCommission)*CurrentContracts;
if CommissionMethod == 2 Then
XX = (EntryCommission*PriceScale+ExitCommission*PriceScale)*CurrentContracts;
if SlippageMethod == 0 Then
YY = (EntryPrice*(EntrySlippage/100)+C*(ExitSlippage/100))*CurrentContracts;
if SlippageMethod == 1 Then
YY = (EntrySlippage+ExitSlippage)*CurrentContracts;
if SlippageMethod == 2 Then
YY = (EntrySlippage*PriceScale+ExitSlippage*PriceScale)*CurrentContracts;
ExitShort("sx1",AtLimit,EntryPrice-(당일수익-daypl)-(XX+YY));
ExitShort("sx2",AtStop,EntryPrice+(당일손실+daypl)+(XX+YY));
}
2015-07-17
137
글번호 88612
오소 님에 의해서 삭제되었습니다.
2015-07-17
0
글번호 88610
답변완료
검색식 부탁 드림
조건식 2개 부탁 드립니다.
(조건식1)
일봉 기준으로 10-20봉전 범위내에서 7%이상 상승한 장대양봉이 발생하고난후 익일부터
장대양봉의 저가를 하회하지 않고 장대양봉 발생한 익일부터 현재까지 종가기준
주가등락폭이 20% 이내인 종목
(조건식2)
일봉 기준으로 10-20봉전 범위내에서 7%이상 하락한 장대음봉이 발생하고난후 익일부터
현재까지 장대음봉의 고가와 저가 사이에서 횡보하고 있는 종목
2015-07-17
126
글번호 88609
답변완료
부탁드립니다.
초보라서 성능보고서를 보고도 만든 이 시스템이 수익가능한지 여부조차도 모르겠네요 제가 보기엔 수익이 나는거 같은데 조금만 설명해주시면 감사하겠습니다.
2015-07-17
131
글번호 88606
싱글 님에 의해서 삭제되었습니다.
2015-07-17
26
글번호 88602