커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
4693
글번호 230811
답변완료
부탁합니다
현재의 10일 이평값이 직전 10일간의 10일이평값 중에서 최고가를 상향 돌파하면 매수하는 식을 구합니다.
수고하세요.
2016-01-18
108
글번호 94492
답변완료
마지막 봉에만 텍스트 출력
text_New(Sdate,Stime,h*1.05,"종가13:"+NumToStr(종13일,0));
마지막 봉에만 표시하고 싶습니다.
감사합니다.
2016-01-18
136
글번호 94491
칠곡저격수 님에 의해서 삭제되었습니다.
2016-01-18
26
글번호 94490
답변완료
수식요청드립니다.
안녕하세요.
당일 매수 매도 신호진입 후 피라미딩 진입조건 만족시 1차, 2차, 3차까지 추가 진입
할수있는 피라미딩 진입수식 변경 요청 드립니다.
1. 당일 매도진입후 계속 수익 발생하는경우
-> 0.3PT 하락시마다 첫진입포함 3EA 까지만 피라미딩 1차진입
-> 1차 진입후 합계수익이 6PT 달성시 피라미딩 2차 추가진입, 0.3PT 하락시마다 3EA 까지 추가진입
-> 2차 진입후 합계수익이 9PT 달성시 피라미딩 3차 추가진입, 0.3PT 하락시마다 3EA 까지 추가진입
-> 피라미딩1차 3EA + 피라미딩2차 3EA + 피라미딩2차 3EA = 피라미딩진입 합계 9E
2. 당일 매수진입후 계속 수익 발생하는경우
-> 0.3PT 상승시마다 첫진입포함 3EA 까지만 피라미딩 1차진입
-> 1차 진입후 합계수익이 3PT 달성시 피라미딩 2차 추가진입, 0.3PT 상승시마다 3EA 까지 추가진입
-> 2차 진입후 합계수익이 9PT 달성시 피라미딩 3차 추가진입, 0.3PT 상승시마다 3EA 까지 추가진입
-> 피라미딩1차 3EA + 피라미딩2차 3EA + 피라미딩2차 3EA = 피라미딩진입합계 9E
감사합니다.
//-------------------------------------------------------------------------------------
input : N(1),PN(2),당일손실(1.5),i증감(0.3),진입수량(1);
input : 누적진입횟수1차(3),누적진입횟수2차(3),누적진입횟수3차(3);
var : cnt(0),BCount(0),SCount(0);
var : NP(0),PreNP(0),DayPL(0),loss(0),v1(0);
var : mav1(0),mav2(0),mav3(0),mav4(0),mav5(0),mav6(0);
var : Bxcond(false),SxCond(false);
var : Xcond(false);
var : TT(0),KK(0),DD(0);
NP = NetProfit;
if date != date[1] Then{
preNP = NP[1];
Condition1 = false;
v1 = 0;
Xcond = false;
}
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);
}
//-----------------------------------------------------------------------------------------------------
//추가진입인 BB가 아닐때만 발동
if MarketPosition == 1 and IsEntryName("BB") == false Then{
ExitLong("당일손실제한bx3",AtStop,avgEntryPrice-(당일손실+(dayPL-v1))/CurrentContracts);
}
//추가진입인 SS가 아닐때만 발동
if MarketPosition == -1 and IsEntryName("SS") == false Then{
ExitShort("당일손실제한sx3",AtStop,avgEntryPrice+(당일손실+(dayPL-v1))/CurrentContracts);
}
//-----------------------------------------------------------------------------------------------------
#피라미딩 (1차, 2차, 3차 추가진입 수정요청)
if MarketPosition == 1 and Bxcond == false and Xcond == false and MaxEntries < 누적진입횟수1차 Then
Buy("PBB",atlimit,LatestEntryPrice(0)+i증감,진입수량);
if MarketPosition == -1 and Sxcond == false and XCond == false and MaxEntries < 누적진입횟수1차 Then
sell("PSS",atlimit,LatestEntryPrice(0)-i증감,진입수량);
//-----------------------------------------------------------------------------------------------------
#당일손실제한 청산이 발생하면 Xcond는 true로 변경
if MarketPosition == 0 and
TotalTrades > TotalTrades[1] and
(IsExitName("당일손실제한sx3",1) == true or IsExitName("당일손실제한bx3",1) == true) Then
Xcond = true;
#추가진입
#무포지션이고 Xcond가 true이고
#직전청산이 당일손실제한일때만 발생
if MarketPosition == 0 and Xcond == true and
(IsExitName("당일손실제한sx3",1) == true or IsExitName("당일손실제한bx3",1) == true) Then{
if Crossup(ma(c,10),ma(C,20)) Then
Buy("BB",AtMarket);
if CrossDown(ma(C,10),ma(C,20)) Then
Sell("SS",AtMarket);
}
#BB진입에 대한 청산
if MarketPosition == 1 and IsEntryName("BB") == true Then{
ExitLong("BL1",AtStop,avgEntryPrice-0.5);
ExitLong("BP1",AtLimit,avgEntryPrice+1.0);
}
#SS진입에 대한 청산
if MarketPosition == -1 and IsEntryName("SS") == true Then{
ExitShort("SL1",AtStop,avgEntryPrice+0.5);
ExitShort("SP1",AtLimit,avgEntryPrice-1.0);
}
//------------------------------------------------------------------------------------------------------
2016-01-18
139
글번호 94489
답변완료
진입시점에서 수익표시
Input : Period(12), Period1(5);
Var : value(0);
value = StochasticsK(Period,Period1);
# 매수/매도청산
If CrossUP(value, 20) Then
{
Buy("매수",onclose);
}
# 매도/매수청산
If CrossDown(value, 80) Then
{
Sell("매도",onclose);
}
-------------->상기위에 매도매수 수식에서
추가해서 매수진입시점에서 0.5포수익~매도진입시점에서 0.5포단위수익을
자동표시가 나오게 할려면 어떤수식을 추가로 넣어야하는지요?
2016-01-17
168
글번호 94488
답변완료
검색식 문의
검색식 문의합니다
1.
일봉에서 10일 20일 30일 이동평균선이 정배열이면서
동시에 5분봉에서 10분 20분 30분도 정배열인종목 검색식
2.
일봉에서 10일 20일 30일 이동평균선이 정배열이면서
동시에 5분봉에서 10분 20분 30분도 10분봉이 골든크로스되면서
정배열이 되는 종목검색식
2016-01-17
154
글번호 94487
정밀타격수 님에 의해서 삭제되었습니다.
2016-01-17
0
글번호 94486
답변완료
자동매매 문의
안녕하세요
종목 : a b c 가 있고
폭(제가 지정함) : a 100 b 150 c 300
이렇게 있다고 하면
종목은 제가 선정해서 넣고 폭도 제가 정합니다.
내가 정한 폭에
1분마다 (세팅이 가능한지요?) 자동으로 갱신되는 저가에 맞춰서
종목마다 저가 + 그 폭에 맞춰서 매도주문을 자동으로 나가게 하는게 가능한지요?
a의저가 + 100 = 매도가 에 자동 주문. 저가가 갱신되면 갱신된 저가에 맞춰서 다시 재주문
b의저가 + 150 = 매도가 에 자동 주문. 저가가 갱신되면 갱신된 저가에 맞춰서 다시 재주문
c의저가 + 300 = 매도가 에 자동 주문. 저가가 갱신되면 갱신된 저가에 맞춰서 다시 재주문
이것이 가능한지 궁금합니다
2016-01-17
158
글번호 94485
답변완료
수식좀 부탁드립니다.
아래수식에서 자동매매실행기간을 정해서 설정해 놓으면 기간이 끝나면 더이상
자동매매 실행이 되지않게 하는 수식을 추가하고 싶습니다.
기간종료 이후는 절대 사용할수 없는 수식이 되도록 할수 있을까요?
예를들어 2016년 02월01일08시00분부터 04월01 07시15분까지 2달간만 자동매매실행되도록
하는 수식.
잘부탁드리겠습니다. 미리 감사드립니다.
input : 진입계약수(1);
var1 = ma(c,5);
var2 = ma(c,20);
if MarketPosition <= 0 and crossup(var1,var2) Then
buy("매수진입",OnClose,def,진입계약수);
if MarketPosition >= 0 and CrossDown(var1,var2) Then
sell("매도진입",OnClose,def,진입계약수);
if MarketPosition == 1 Then{
ExitLong("매수익절",atlimit,EntryPrice+PriceScale*32,"",1,1);
}
if MarketPosition == -1 Then{
ExitShort("매도익절",atlimit,EntryPrice-PriceScale*32,"",1,1);
}
2016-01-17
126
글번호 94484