커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
8170
글번호 230811
답변완료
수식작성 부탁드립니다.
어떠한 수식도 불가능이 없다는 것을 증명하고 심혈을 기울여 만들어 주시는 수식프로그램
담당자님께 정말 고개숙여 감사드립니다. 그리고 아래 저의 시스템전략 수식을 부탁드리고자
세가지 수식작성 내용을 작성해 올립니다. 잘 부탁드리겠습니다.
1. 위의 1번그림에서(렌코차트에서)
-. 빨강벽돌이 4일이동평균선을 이탈하여 파랑벽돌로 변환시 벽돌캔들 종가로 매도진입하고,
-. 파랑벽돌이 4일이동평균선을 돌파하여 빨강벽돌로 변환시 벽돌캔들 종가로 매도일괄청산후
즉시 종가시장가로 매수진입을 하여 계속 똑같이 반복실행 하도록 하는 자동매매수식.
2. 위의 2번그림에서(렌코차트에서)
-. 빨강벽돌이 파랑벽돌로 변환시 무조건 벽돌캔들 종가시장가로 매도진입하고,
-. 파랑벽돌이 빨강벽돌로 변환시 무조건 벽돌캔들 종가로 매도일괄청산후
즉시 종가시장가로 매수진입을 하여 계속 똑같이 반복실행 하도록 하는 자동매매수식.
3. 위의 3번그림에서
-. 렌코차트에서 4일이동평균선이 20일이동평균선을 이탈시점 캔들종가로 매도진입한후
-. 렌코차트에서 4일이동평균선이 20일이동평균선을 돌파시점 캔들종가로 매도일괄청산후
즉시 종가시장가로 매수진입을 하여 계속 똑같이 반복실행 하도록 하는 자동매매수식.
2015-09-26
267
글번호 90753
답변완료
수식 2 요청 드립니다.
수식 2가지 요청 드립니다.
1. 수익 보전 이평 추적 청산 수식
오버형 기존 시스템에서 매수 신호 발생 후
->시초가 기준 3일 이상 경과(신호 발생일 제외, 외부변수) + 1.5PT(외부변수) 이상 수익 발생 (당일 직전봉 종가 기준)
2가지 조건 충족한 후, 5이평이 10이평을 하향돌파 조건 발생 즉시 수익보전 청산수식
오버형 기존 시스템에서 매도 신호 발생 후
->시초가 기준 3일 이상 경과(신호 발생일 제외, 외부변수) + 1.5PT(외부변수) 이상 수익 발생 (당일 직전봉 종가 기준)
2가지 조건 충족한 후, 5이평이 10이평을 상향돌파 조건 발생 즉시 수익보전 청산수식
-----------------------------------------------------------------------------------------------------------
2. 아래 오버형 기존 수식에서, 설정 변폭내 진입과 청산을 제한하는 수식의 고정설정 변폭을
-> 1개월 전( 매일 전 22 거래일 만 합산 )부터 전일 종가까지 매일 누적 합산한 변폭의 평균변폭 값으로
시초가(09:00)에 매일 변동 적용되는 수식으로 변경 요청 드립니다.
감사합니다.
2.
input : Pt(4);
if 매수조건 Then{
#첫매수
if MarketPosition == 0 Then
buy();
#추가매수
if MarketPosition != 0 and highest(H,BarsSinceEntry)-lowest(L,BarsSinceEntry) >= pt Then
buy();
}
if 매도조건 Then{
#첫매도
if MarketPosition == 0 Then
sell();
#추가매도
if MarketPosition != 0 and highest(H,BarsSinceEntry)-lowest(L,BarsSinceEntry) >= pt Then
buy();
}
#매수진입후 pt이상 변폭이 발생하고 매수청산조건이 만족하면 청산
if MarketPosition == 1 and highest(H,BarsSinceEntry)-lowest(L,BarsSinceEntry) >= pt Then{
if 매수청산조건 Then
exitlong();
}
#매도진입후 pt이상 변폭이 발생하고 매도청산조건이 만족하면 청산
if MarketPosition == -1 and highest(H,BarsSinceEntry)-lowest(L,BarsSinceEntry) >= pt Then{
if 매도청산조건 Then
ExitShort();
}
#무포지션이거나 스위칭이 되면 강제청산 해제
if MarketPosition != 0 or (MarketPosition != 0 and MarketPosition != MarketPosition[1]) Then{
SetStopProfittarget(0);
SetStoploss(0);
}
#포지션 진입후 pt이상 변폭이 발생하면 셋팅
if MarketPosition == 0 and highest(H,BarsSinceEntry)-lowest(L,BarsSinceEntry) >= pt Then{
SetStopProfittarget(1,PointStop);
SetStoploss(1,PointStop);
}
2015-09-29
202
글번호 90752
답변완료
수식 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
189
글번호 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
251
글번호 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
280
글번호 90749
알러뷰 님에 의해서 삭제되었습니다.
2015-09-26
0
글번호 90748
답변완료
지표식 문의
5일내 고가에서
그 다음날 고가를 서로 연결해서 오늘까지 가능하다면 내일까지 연결하는 추세선을 그를수 있을까요,,??
2015-09-26
185
글번호 90747
수리덕 님에 의해서 삭제되었습니다.
2015-09-25
37
글번호 90746
답변완료
글번호 44192번 재질문
글번호 44192번 재질문입니다.
1. 전거래가 손실이면 당거래 매매를 하고
전거래가 이익이면 당거래 매매를 쉬고자 합니다.
2. 전거래와 전전거래가 모두 손실발생하면 당거래 매매를 하고자합니다.
작성해주신 함수로는 신호가 발생되지 않습니다.
컨셉은 글번호 41691번과 비슷한데, 이번 요청건은 전일이 아니라 전거래입니다.
다시 한번 더 확인 부탁드립니다.
2015-09-25
176
글번호 90745