커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7513
글번호 230811
훈sys 님에 의해서 삭제되었습니다.
2014-03-29
0
글번호 73950
답변완료
부탁합ㄴ니다
1번수식
var1 = BollBandUp(20,2);
var2 = BollBandDown(20,2);
if C >= O Then{
if C > var1+0.5 then
ExitShort();
Else
buy();
}
if C <= O Then{
if C < var2-0.5 Then
ExitLong();
Else
sell();
}
if MarketPosition == 1 and crossup(c,var1+0.5) Then
ExitLong("bx");
if MarketPosition == -1 and crossdown(c,var1-0.5) Then
ExitShort("sx");
2번수식Stochastic 크로스
Input : Period1(10), Period2(5),Period3(5),P(5);
var : Stok(0),StoD(0),mav(0),T(0),Z(0);
StoK = StochasticsK(Period1,Period2);
StoD = StochasticsD(Period1,Period2,Period3);
mav = ma(c,P);
if crossup(stok,stod) and (stok < 20 즉, 침체권에있다.)
and 주가가볼린저밴드-0.5 아래에있다
Then
buy();
if CrossDown(stok,stod) and ( stok > 80 즉,과열권에있다)
and 주가가 볼린저밴드+0.5 위에있다
Then
sell();
꼭2번수식은이익목표가를별도로(Stochastic수식에매매한 신호) + - 1.00 p 에서이익실현함
3번추척청산
input : RangeMult(0.5), AtrMult(3), AtrPeriod(20);
var : PreRange(0), ChUp(0), ChDn(0), AtrVal(0), posHigh(0), posLow(0);
# 진입
PreRange = (dayHigh(1)-dayLow(1))*RangeMult;
ChUp = dayOpen + PreRange;
ChDn = dayOpen - PreRange;
If CrossUp(C, ChUp) Then
buy();
If CrossDown(C, ChDn) Then
sell();
# ATR 추적청산
ATRVal = ATR(AtrPeriod) * AtrMult;
PosHigh = Highest(H,BarssinceEntry+1);
PosLow = Lowest(L,BarsSinceEntry+1);
If MarketPosition == 1 Then
ExitLong("ATR1", AtStop, PosHigh - ATRVal);
If MarketPosition == -1 Then
ExitShort("ATR2", AtStop, PosLow + ATRVal);
위3개의수식을동시에만족하게 수식부탁합니다.
항상감사하니다.
2014-03-31
129
글번호 73949
회원 님에 의해서 삭제되었습니다.
2014-03-29
8
글번호 73948
답변완료
질문입니다.
선물에서 데이트레이딩으로 시스템을 운용하고 싶습니다.
만약 특정 조건(조건1)에 의해 진입신호가 발생하고,
마찬가지로 특정 조건(조건2)에 의해 청산신호가 발생하였다고 가정할 때,
재진입 시 x분 후부터 특정 조건(조건1)의 진입신호가 발생시키게 하고 싶습니다.
어떻게 코딩을 해야하는지 간단한 예시를 들어 설명해주세요.
감사합니다.
2014-03-29
129
글번호 73947
답변완료
[STAD_05] Fibonacci
Inputs: XAvgLen(15), HiLoLen(50), Retrace(0.382), SetUpLen(24);
Vars: XAvg(0), HiHi(0), HiHiBar(0), LoLo(0), LoLoBar(0), Retracement(0), BuySetup(0), SellSetup(0);
//Calculation of the necessary values, and assignment to variables
XAvg = ema(Close, XAvgLen);
HiHi = Highest(High, HiLoLen);
LoLo = Lowest(Low, HiLoLen);
HiHiBar = nthHighestbar(1,High, HiLoLen);
LoLoBar = nthLowestBar(1,Low, HiLoLen);
Retracement = (HiHi - LoLo) * Retrace;
//Conditions for a Buy Setup
IF Close <= HiHi - Retracement AND HiHiBar < LoLoBar Then
BuySetup = 0;
//Conditions for a Sell Setup
IF Close >= LoLo + Retracement AND HiHiBar > LoLoBar Then
SellSetup = 0;
//Accumulates to count the number of bars in the setups
BuySetup = BuySetup + 1;
SellSetup = SellSetup + 1;
//Buy Criteria Evaluation
IF BuySetup <= SetUpLen Then Begin
IF SwingLow(1, XAvg, 1,1, 3) <> -1 OR Close > XAvg Then Begin
Buy();
---------------------------------------------------
BuySetup = SetUpLen;
---------------------------------------------------
이부분이 왜들어갔는지 이해할수 없어서 질문드립니다
부탁드립니다
End;
End;
//Sell Criteria Evaluation
IF SellSetup <= SetUpLen Then Begin
IF SwingHigh(1, XAvg, 1,1, 3) <> -1 OR Close < XAvg Then Begin
Sell();
SellSetup = SetUpLen;
End;
End;
2014-03-29
154
글번호 73946
답변완료
문의드립니다.
35620 번에서 문의드렸던 것 답변달아주셔서 감사히 시스템 돌려보았으나 약간의 문제점이 있어서 질문올립니다.
일단, 매도(수)주문이 들어가면 익절(손절) 후에 또 매도(수) 주문이 바로 들어갑니다. 익절을 해도 재진입이 바로 들어가고, 손절을 해도 재진입이 바로 들어갑니다.
손익절 후 다시 로직의 조건을 만족할 때까지 재진입을 하지 않게 수정부탁드리겠습니다.
감사합니다.
아래에 저번에 달아주신 글 올리겠습니다.
input : N(3),X(0.5),Y(0.5),AA(1),BB(1),LL(3);
var : Hv(0),Lv(0),cnt(0),count(0),NP(0),PreNP(0),DayPl(0);
count = 0;
for cnt = 0 to 20{
if sdate == EntryDate(cnt) Then
count = count+1;
}
NP = NetProfit;
if date != date[1] Then{
Hv = H;
Lv = L;
preNP = NP[1];
Condition1 = true;
Condition2 = true;
}
dayPL = NP-PreNP;
if dayindex > 0 and count < N then{
if H > Hv Then{
Hv = H;
Condition1 = true;
}
if Condition1 == true Then
sell("s",AtStop,Hv-X);
if L < Lv Then{
Lv = L;
Condition2 = true;
}
if Condition2 == true Then
buy("b",AtStop,Lv+Y);
}
if MarketPosition == 1 Then
Condition1 = false;
if MarketPosition == -1 Then
Condition2 = false;
if MarketPosition == 1 Then{
ExitLong("bx1",AtStop,EntryPrice+(-(LL)-(dayPL)));
}
if MarketPosition == -1 Then{
ExitShort("sx1",AtStop,EntryPrice+((LL)+(dayPL)));
}
SetStopProfittarget(AA,PointStop);
SetStopLoss(BB,PointStop);
즐거운 하루되세요
> 마코 님이 쓴 글입니다.
> 제목 : 문의드립니다.
> 신고점을 갱신한 후 X포인트 하락하면 매도.(현재 고점보다 X포인트 하락하면 매도)
신저점을 갱신한 후 Y포인트 상승하면 매수.(현재 저점보다 Y포인트 상승하면 매수)
익절 AA 포인트, 손절 BB 포인트
하루 매매 N 번
하루 누적손절 LL 포인트
그리고 익절 후 다음 신호가 발생하기 전까지(고점보다 X포인트 하락한 포인트가 오거나 저점보다 Y포인트 상승한 포인트가 오기 전까지는) 재진입 금지
이렇게 수식 부탁드립니다. 감사합니다.
2014-03-28
122
글번호 73945
회원 님에 의해서 삭제되었습니다.
2014-03-28
26
글번호 73944
답변완료
질문입니다
5분봉차트
09시-12시 사이에서
1시간 사이에 최고점이 현재봉이 라면
데이인덱스 고유번호에다 카운트 +1 누적
예를 들면
어느날
10시05분 봉이 09시05분 10시05분 사이 최고점 이었다면
데이인덱스 고유번호에 카운트 +1 누적
그리고 다음봉이 나오고
10시10분 봉이 09시10분 10시10분 사이 최고점 아니었다면
데이인덱스 고유번호에 카운트 0
그리고 다음봉이 나오고
10시15분 봉이 09시15분 10시15분 사이 최고점 아니었다면
데이인덱스 고유번호에 카운트 0
그리고 다음봉이 나오고
10시20분 봉이 09시20분 10시20분 사이 최고점 이었다면
데이인덱스 고유번호에 카운트 +1 누적
...
...
2014-03-28
105
글번호 73940
답변완료
이평선 교차선
이동편균선 20,60 교차점 수평선 그리는 수식 부탁합니다..
첨부사진 파란색 그리는 수식입니다.
2014-03-28
245
글번호 73931