커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
3760
글번호 230811
답변완료
진입 포지션 전량 청산 관련
안녕하세요
항상 많은 도움에 깊은 감사를 드립니다.
거래중에 손실 상태로 인하여 (위탁)증거금 평가액이 얼마 이하로 떨어지는 경우
현재 진입한 포지션을 즉시 청산하고 더 이상 거래가 되지 않도록 설정이 가능한지 궁금하구요 ?
가능하다면 아래의 2가지 방법으로 각 각 알려주시기를 부탁드립니다.
1) 증거금이 1천만원이라고 할때, 진입한 포지션이 손실 상태가 증가하여 증거금 평가액이 950만원 이하가 될때
(증거금의 손실이 5% 이상 넘어갈때) 진입 포지션을 전부 청산하고 더 이상 오늘 거래는 하지 않도록 설정.
2) 예를 들어서 나스닥을 거래하는데, 오늘 익절/손절 상태 집계에서(진입된 포지션 포함하여) 손절이 100틱 이상 발생할때, 진입된 포지션을 전부 청산하고 더 이상 오늘 거래는 하지 않도록 설정.
빠른 이해를 위하여, 수식은 아래의 기본 수식에다가 위 (1) (2) 수식을 추가한 수식을 각 각 부탁드립니다.
// ---------------------------------------------------------------------
// (2) 20일 고가를 상향 돌파할 때 매수, 20일 저가를 하향이탈할 때 매도
// ---------------------------------------------------------------------
input : Period(20);
var1 = highest(H,Period)[1];
var2 = Lowest(L,Period)[1];
if CrossUp(C, var1) Then
buy();
if CrossDown(C, var2) Then
sell();
// --------------------------------------------------------
감사합니다.
-끝.-
2019-05-16
197
글번호 128729
답변완료
수식 부탁드립니다
1.
금일 야간장 시작 시간 18시 이후 첫번째 캔들 고가를 표시한다(H3)
금일 야간장 시작 시간 18시 이후 첫번째 캔들 저가를 표시한다(L3)
금일 야간장 시작 시간 18시 이후 첫번째 캔들 상방 대칭을 표시한다(U3)
금일 야간장 시작 시간 18시 이후 첫번째 캔들 하방 대칭을 표시한다(D3)
금일 야간장 시작 시간 18시 이후 두번째 캔들 고가를 표시한다(H4)
금일 야간장 시작 시간 18시 이후 두번째 캔들 저가를 표시한다(L4)
금일 야간장 시작 시간 18시 이후 두번째 캔들 상방 대칭을 표시한다(U4)
금일 야간장 시작 시간 18시 이후 두번째 캔들 하방 대칭을 표시한다(U4)
감사합니다
2019-05-16
249
글번호 128727
답변완료
수정 감사합니다. 한가지만 더 추가부탁 드립니다.
Input : 투자금액(1000000),Period(20), MultiD(2), N(1),시작일(20190515),시작시간(090000),청산시간(150000);
Input : loss(5);
var : e(0),x(0),count(0),Tcond(false),BBup(0),BBdn(0);
var : HH(0),Bxcond1(false),Bxcond2(false),Bxcond3(false);
var : LL(0),Sxcond1(false),Sxcond2(false),Sxcond3(false);
Array : VV[5](0),XX[5](0);
BBup = BollBandUp(Period,MultiD);
BBdn = BollBandDown(Period,MultiD);
vv[0] = floor((투자금액*0.2)/NextBarOpen);
vv[1] = floor((투자금액*0.3)/NextBarOpen);
vv[2] = floor((투자금액*0.5)/NextBarOpen);
if NextBarSdate >= 시작일 and NextBarStime >= 시작시간 Then
Tcond = true;
if bdate != bdate[1] Then
count = 0;
if MarketPosition != 0 and MarketPosition != MarketPosition[1] Then
count = count+1;
if Tcond == true then
{
if (TotalTrades == 0 or MarketPosition == 0 and BarsSinceExit(1) > 2) then
{
if MarketPosition == 0 and count >= 1 and count < N and
CrossDown(c,bbdn) and C <= DayClose(1) and dayopen <= DayClose(1) and NextBarSdate == sdate Then
{
buy("b1",atmarket,def,vv[MaxEntries]);
}
if MarketPosition == 0 and NextBarSdate != sdate and NextBarOpen <= C Then
{
buy("b11",atmarket,def,vv[MaxEntries]);
}
}
if MarketPosition == 1 Then
{
if CurrentContracts > CurrentContracts[1] Then
{
e = e +1;
if e == 1 then
XX[e] = CurrentContracts;
Else
XX[e] = CurrentContracts-CurrentContracts[1];
}
#두번째 매수
if MarketPosition == 1 and e == 1 and CrossDown(c,bbdn) and C < DayClose(1)
and dayopen <= DayClose(1) and NextBarSdate == sdate Then
{
buy("b2",atmarket,def,vv[MaxEntries]);
}
#세번재매수
if MarketPosition == 1 and e == 2 and CrossDown(c,bbdn) and C < DayClose(1)
and dayopen <= DayClose(1) and NextBarSdate == sdate Then
{
buy("b3",atmarket,def,vv[MaxEntries]);
}
HH = highest(H,BarsSinceEntry);
if CurrentContracts < CurrentContracts[1] and LatestExitName(0) == "Bx1" Then
Bxcond1 = true;
if CurrentContracts < CurrentContracts[1] and LatestExitName(0) == "Bx2" Then
Bxcond2 = true;
if CurrentContracts < CurrentContracts[1] and LatestExitName(0) == "Bx3" Then
Bxcond3 = true;
if Bxcond1 == false and HH >= EntryPrice*1.03 and HH < EntryPrice*1.05 Then
ExitLong("Bx1",AtStop,HH-(HH-EntryPrice)*0.1,"",Floor(MaxContracts*(1/5)),1);
if Bxcond2 == false and HH >= EntryPrice*1.06 and HH < EntryPrice*1.10 Then
ExitLong("Bx2",AtStop,HH-(HH-EntryPrice)*0.1,"",Floor(MaxContracts*(2/5)),1);
if Bxcond3 == false and HH >= EntryPrice*1.12 Then
ExitLong("Bx3",AtStop,HH-(HH-EntryPrice)*0.1);
if (stime >= 청산시간 and stime[1] < 청산시간) and C > AvgEntryPrice*1.02 then
{
ExitLong("bx");
}
if C >= AvgEntryPrice*1.05 Then
ExitLong("x");
}}
-----------------
두번째 세번째 매수조건에 최근 앞 5개이내 봉 평균보다 1.5배이상의 거래량일때와 Williams'R -95 이하일때의 조건을 추가 하고 싶습니다.
2019-05-16
199
글번호 128725
답변완료
이평선
안녕하세요
이동평균선 각도나 기울기 가능한가요?
2019-05-16
227
글번호 128724
답변완료
문의드립니다.
매번 실력도 안되면서 어려운 것 시도하는 바람에 질문도 사리에 안 맞을 때가 많네요. 죄송합니다. ㅠㅠ
어느 트레이딩 커뮤니티에서 어느 분이 말씀하신 걸 그대로 적은 거였는데요. 이런 맹점이 있었네요. (그런데 왜 아무도 그걸 몰랐지;;;;) 요점은 물타기를 하는데 손실금액을 그동안 수익 금액의 일부로 막는 자금관리법인데요.
그럼 이런 식의 조건추가를 하면 전략이 말이 될까요?
앞의 것 1번은
-NetProfit이 '최소한의 수익금액' 이상일 때만, 그동안 수익금액의 n% 손실이 되면 계약수가 몇개든 간에 모두 청산
앞의 것 2번도
-시뮬상의 최대 수익이 '최소한의 일최대수익' 이상일 때만 일 최대수익의 n% 손실이 되면 계약수가 몇개든 간에 모두 청산
-만약 조건이 안되면 그냥 정률 청산해놓구요.
이렇게는 될까요? 사실 셋업이라고 적어놓은 곳은 별로 중요하진 않습니다.
정리하자면
1
셋업
-일봉 5이평 이격이 120 이상일 때 고가 셋업
진입
-a: 셋업봉 + 50 틱에서 즉시 매도
추가진입
-b: 진입가에서 50틱이 더 올랐으면 추가매도 (물타기)
-c: 또 50틱 오르면 추가매도
-d: 또 50틱 오르면 추가매도(총 3회 물타기)
청산
-5일선 하향 돌파시 Atstop 청산(분봉상 한개 전 봉 5일선 값 터치하면 청산해주시면 될 것 같습니다.)
*a,b,c,d 중 어느 한 때라도 5일선 도달했으면 포지션 모두 청산함.
-NetProfit이 '최소한의 수익금액' 이상일 때
-포지션의 손실금액이 그동안 수익금액의 n%가 되면 계약수가 몇개든 간에 모두 청산.
*진입횟수는 1회
2.
다 자금관리 부분(총수익으로 제한해놓은 거) 빼고 1과 같고
시뮬상의 최대 수익이 '최소한의 일최대수익' 이상일 때만 일 최대수익의 n% 손실이 되면 계약수가 몇개든 간에 모두 청산
*진입횟수는 1회
2019-05-16
204
글번호 128723
답변완료
수식문의 드립니다.
안녕하세요.
아래의 수식에서
기준선 위의 K1의 최고점 대비 다이버전스가 나왔을때 하락 화살표가 나오고
기준선 아래의 K2의 최저점 대비 다이버전스가 나왔을 때 상승 화살표가 나오도록
수식 변경이 가능한지요..
가능하다면 부탁드립니다.
많은 도움에 항상 감사드립니다.
Input : Period(0), Period1(0), Period2(3), 이평기간1(0);
Input : P(0), P1(0), P2(0), 이평기간2(0);
var : StoK1(0),StoD1(0);
var : StoK2(0),StoD2(0);
StoK1 = StochasticsK(Period,Period1);
StoD1 = StochasticsD(Period,Period1,Period2);
If C>=MA(C,이평기간1) THEN Plot1(StoK1, "K1", RED);
Else Plot1(StoK1, "K1", BLUE);
Plot2(StoD1, "StochasticsD1");
StoK2 = StochasticsK(P,P1);
StoD2 = StochasticsD(P,P1,P2);
If C >=MA(C,이평기간2) THEN Plot3(StoK2, "K2", RED);
Else Plot3(StoK2, "K2",BLUE );
Plot4(StoD2, "StochasticsD2");
PlotBaseLine1(20, "기준선20");
PlotBaseLine2(80, "기준선80");
2019-05-16
213
글번호 128720
답변완료
손절 가격 10틱 요청
* 많은 도움에 고맙 습니다.
* 아래 식에서 손절 되면 손절 가격 + 10틱 으로 다시 주문 나가는 방법좀 부탁 드립니다.
즉 손절이 발생 하면 손절 가격을 알고 있다가 손절 가격에 10틱을 더하여
매수 주문 하고 싶습니다.
##
var1 = ma(c,5);
var2 = ma(c,20);
var3 = highest(H,100);
var4 = Lowest(L,100);
if crossup(var1,var2) then buy();
*손절 기준 : 손해 20틱 나면 청산
* 고맙 습니다.
2019-05-16
219
글번호 128710
답변완료
참조 종목 관련 시스템 부탁드립니다.
안녕하세요.
상반되는 두개의 종목을 동시에 매수한 후 상승률 차이를 이용해서 수익을 얻는
시스템의 기본 공식을 구하고자 합니다.
5분봉
메인차트: 코스피200
참조차트: 다른종목
매수조건: 첫봉 종가에 매수
매도조건:
첫봉 종가 기준으로 메인차트가 상승하고 참조차트는 하락했을 경우
메인차트의 상승률 값과 참조차트의 하락률 절대값의 차이값이 0.3 이상일 경우 매도
(예: 메인종목 0.6% 상승, 참조종목 0.3% 하락)
첫봉 종가 기준으로 메인차트가 하락하고 참조차트는 상승했을 경우
메인차트의 하락률 절대값과 참조차트의 상승률의 차이값이 0.3 이상일 경우 매도
(예: 메인종목 0.3% 하락, 참조종목 0.6% 상승)
매도조건 성립 안되면 2시에 매도
2019-05-16
221
글번호 128707
필승0701 님에 의해서 삭제되었습니다.
2019-05-16
6
글번호 128706