커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
6537
글번호 230811
답변완료
수식 1 요청 드립니다.
수식수정 요청 드립니다.
아래 데이용 시스템의 "당일진입횟수" "당일손실제한" 당일청산용 수식을
기존 오버형 시스템의 "당일진입횟수" "당일손실제한" 적용되는 수식으로 변경 요청 드립니다.
1.전일종가 기준 수식요청
//전일종가 기준 수익일경우 -> 처음 수익을 제외한 당일손실제한 강제청산 => 수익은 제외
//전일종가 기준 손실일경우 -> 처음 손실을 포함한 당일손실제한 강제청산 => 손실은 합산
2.당일시가 기준 수식요청
//당일시가 기준 수익일경우 -> 처음 수익을 제외한 당일손실제한 강제청산 => 수익은 제외
//당일시가 기준 손실일경우 -> 처음 손실을 포함한 당일손실제한 강제청산 => 손실은 합산
감사합니다.
#당일진입횟수 당일손실제한
input :N(2),당일손실(-1.5);
var : cnt(0),BCount(0),SCount(0);
var : NP(0),PreNP(0),DayPL(0),loss(0),v1(0);
NP = NetProfit;
if date != date[1] Then{
preNP = NP[1];
Condition1 = false;
v1 = 0;
}
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);
}
//------------------------------------------------------------------------
#당일손실제한
if MarketPosition == 1 Then{
ExitLong("당일손실제한bx3",AtStop,EntryPrice+당일손실-(dayPL-v1));
}
if MarketPosition == -1 Then{
ExitShort("당일손실제한sx3",AtStop,EntryPrice-당일손실+(dayPL-v1));
}
//--------------------------------------------------------------------------------------
#손실손절1
if MarketPosition == -1 and crossup(H,EntryPrice+0.3) and BCount+SCount < N and dayPL > 당일손실 Then
buy("1BX");
if MarketPosition == 1 and CrossDown(L,EntryPrice-0.3) and BCount+SCount < N and dayPL > 당일손실 Then
sell("1SX");
//--------------------------------------------------------------------------------------
2015-09-26
144
글번호 90751
답변완료
부탁드립니다.
지표의 고점과 고점을
저점과 저점을 연결 하는 선 부탁드립니다.(해선 유로화)
미리 감사 드립니다.
Var:j(0),lastHiVal(0),lastLoVal(0),turnPntBit(""),TL1(0);
Array:valArr[10](0),barArr[10](0),turnPntArr[10]("");
For j = 0 To 9
{
barArr[j] = barArr[j] + 1;
}
Condition1 = Min(valArr[1],valArr[2]) * (1 + (0.5/100)) < H and lastHiVal < H;
Condition2 = Max(valArr[1],valArr[2]) * (1 - (0.5/100)) > L and (lastLoVal > L || lastLoVal == 0);
If Condition1 Then { lastHiVal = H; lastLoVal = 0; }
If Condition2 Then { lastLoVal = L; lastHiVal = 0; }
turnPntBit = "";
If Condition1 and Condition2 Then
{
If Max(valArr[1],valArr[2]) < H and Min(valArr[1],valArr[2]) > L Then
turnPntBit = "HiLo";
Else If Max(valArr[1],valArr[2]) < H Then turnPntBit = "Hi";
Else If Min(valArr[1],valArr[2]) > L Then turnPntBit = "Lo";
}
Else If Condition1 Then turnPntBit = "Hi";
Else If Condition2 Then turnPntBit = "Lo";
If turnPntBit <> "" Then
{
If turnPntBit == "HiLo" Then
{
valArr[1] = IFF(turnPntArr[1] == "Hi",H,L);
barArr[1] = 0;
TL_SetEnd(TL1,sDate[barArr[1]],sTime[barArr[1]],valArr[1]);
If turnPntArr[1] == "Hi" Then
turnPntBit = "Lo";
Else
turnPntBit = "Hi";
}
If turnPntBit <> turnPntArr[1] Then
{
for j = 8 downto 1
{
valArr[j+1] = valArr[j];
barArr[j+1] = barArr[j];
turnPntArr[j+1] = turnPntArr[j];
}
}
If turnPntBit <> turnPntArr[1] or
(turnPntBit == turnPntArr[1] and
((turnPntBit == "Hi" and valArr[1] < H) or
(turnPntBit == "Lo" and valArr[1] > L))) Then
{
valArr[1] = IFF(turnPntBit == "Hi",H,L);
barArr[1] = 0;
turnPntArr[1] = turnPntBit;
If turnPntArr[1][1] <> turnPntArr[1][0] Then
TL1 = TL_New(sDate[barArr[2]],sTime[barArr[2]],valArr[2],sDate[barArr[1]],sTime[barArr[1]],valArr[1]);
Else
TL_SetEnd(TL1,sDate[barArr[1]],sTime[barArr[1]],valArr[1]);
}
}
TL_SetSize(TL1,2);
TL_SetColor(TL1,GREEN);
2015-09-29
201
글번호 90750
답변완료
부탁드림니다
1,시스템식 점검요,파일의 스마일부분에서 청산이 안됨니다.
2,2식의 피보 기준을 21시부터 익일 05시까지 지정하여 그리게 할수 없나요?
3,매수나 매도 진입후 조건이 맞으면 3회까지 추가하고 청산시는 전량청산으로 .
4. 아래 3수식의 이평선을 shift 를 써서 5칸 뒤로 이동하려는데 잘 안됨니다 수정부탁드림니다.
5; 세부별(글자)찿아보기 란이 잇으면 수고를 덜 끼칠텐데..(제목별 검색만 됨니다)
1식:
input : N(10);
Var : Pivot(0),R1(0),R2(0),S1(0),S2(0);
Pivot = (DayHigh(1)+DayLow(1)+DayClose(1)+dayopen)/4;
R1 = 2*Pivot-DayLow(1);
R2 = Pivot+DayHigh(1)-DayLow(1);
S1 = 2*Pivot-DayHigh(1);
S2 = Pivot-DayHigh(1)+DayLow(1);
IF crossdown(c,r2) then {
sell("매도",Atmarket);}
IF crossdown(c,Pivot) then {
exitlong("매도청산",atmarket);}
/*Plot1(Pivot, "피봇포인트");
Plot2(R1, "1차저항");
Plot3(R2, "2차저항");
Plot4(S1, "1차지지");
Plot5(S2, "2차지지");
plot6(Pivot+N*PriceScale,"Pivot+N");
*/
IF crossup(c,s2) then {
buy("매수",Atmarket);}
IF crossup(c,pivot) then {
exitlong("매수청산",atmarket);}
2식:
input : N(10);
Var : Pivot(0),R1(0),R2(0),S1(0),S2(0);
Pivot = (DayHigh(1)+DayLow(1)+DayClose(1)+dayopen)/4;
R1 = 2*Pivot-DayLow(1);
R2 = Pivot+DayHigh(1)-DayLow(1);
S1 = 2*Pivot-DayHigh(1);
S2 = Pivot-DayHigh(1)+DayLow(1);
Plot1(Pivot, "피봇포인트");
Plot2(R1, "1차저항");
Plot3(R2, "2차저항");
Plot4(S1, "1차지지");
Plot5(S2, "2차지지");
plot6(Pivot+N*PriceScale,"Pivot+N");
3식;
input : p1(20),sift(5);
var : aa(0),shift(0);
aa = wma(2*wmA(c,p1/2)-wma(c,p1),sqrt(P1));
if aa >= aa[1] Then
var1 = aa;
if shift aa>=aa[1] then var3 = aa;
if aa <= aa[1] Then
var2 = aa;
plot1(var1);
plot2(var2);
plot3(var3);
2015-09-30
229
글번호 90749
알러뷰 님에 의해서 삭제되었습니다.
2015-09-26
0
글번호 90748
답변완료
지표식 문의
5일내 고가에서
그 다음날 고가를 서로 연결해서 오늘까지 가능하다면 내일까지 연결하는 추세선을 그를수 있을까요,,??
2015-09-26
145
글번호 90747
수리덕 님에 의해서 삭제되었습니다.
2015-09-25
37
글번호 90746
답변완료
글번호 44192번 재질문
글번호 44192번 재질문입니다.
1. 전거래가 손실이면 당거래 매매를 하고
전거래가 이익이면 당거래 매매를 쉬고자 합니다.
2. 전거래와 전전거래가 모두 손실발생하면 당거래 매매를 하고자합니다.
작성해주신 함수로는 신호가 발생되지 않습니다.
컨셉은 글번호 41691번과 비슷한데, 이번 요청건은 전일이 아니라 전거래입니다.
다시 한번 더 확인 부탁드립니다.
2015-09-25
129
글번호 90745
답변완료
문의드립니다.
즐거운 추석명절 보내십시요.
아래는 예전에 만들어주신 검색식입니다.
이식을 1회이상이 아닌 일중 모두 만족하는 검색식으로 변경 부탁드립니다.
전일 검색식과 당일 검색식 나눠서 부탁드립니다.
감사합니다.
15분봉기준 전일 하루동안 240bbup > 80bbup 조건이 1회이상인 종목검색식..
var : bbup1(0),bbup2(0);
bbup1 = BollBandUp(80,2);
bbup2 = BollBandUp(240,2);
if date != date[1] Then{
Condition1 = false;
Condition2 = Condition1[1];
}
if bbup2 > bbup1 Then
Condition1 = true;
if Condition2 == true Then
find(1);
2015-09-25
139
글번호 90743
답변완료
부탁 드립니다.
변환 부탁 드립니다.
미리 감사 드리옵고
행복한 한가위 보내소서~!
SRA=Sum(SR)/Sum(IF(SR>-1,1,0));
pk=SR(1)>SR(2) AND SR(1)>SR AND SR(1)>SRA;
pkVal=ValueWhen(1,pk,SR(1));
OB=Sum(pkVal)/Sum(IF(pkVal>-1,1,0));
tr=SR(1)<SR(2) AND SR(1)<SR AND SR(1)<SRA;
trVal=ValueWhen(1,tr,SR(1));
OS=Sum(trVal)/Sum(IF(trVal>-1,1,0));
2015-09-25
152
글번호 90740