커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
3363
글번호 230811
소자 님에 의해서 삭제되었습니다.
2020-06-07
0
글번호 139603
답변완료
문의드립니다.
안녕하세요
매번 친절한 답변 정말 감사드립니다!!
cond 가 true 일때 텍스트를 지표에 넣는수식입니다.
1.
1분봉 차트라고가정하고
만약 조건성립이 5분전 10분전 15분전에 되었다고 가정하면
(ex: 5분전 29.5 / 10분전 31.5/ 15분전 31.7)
현재 값이 이 세값보다 클경우(31.7이 넘을경우) 세값의 text를 삭제하고싶습니다.
(ex: 5분전 29.5 / 10분전 31.5/ 15분전 31.7)
여기서 13분전에 31.7이 넘었으면 5분전,10분전에 text는 당연히 남아있구요
2.
1번질문에 이어서 입니다
그리고 모든 남아있는 텍스트값 보다 50틱이상이 내려갔을경우 만족하는 조건을 하나더 작성하고싶습니다.
방법이 있을까요???
감사합니다~
Var : 몸통상단(0,Data2),Maxdata(0,data2), DATA1몸통상단(0,data1);
var : Arr(0,data1),cond(false,data1), tx(0) ;
DATA1몸통상단 = DATA1(Highest(H,3));
몸통상단 = Data2(max(C,O)); #data2몸통상단
Maxdata = data2(Highest(몸통상단, 10)); #data2 몸통상단의 3개봉 최고값
#data1의 고가가 Maxdata의 0~150봉전 값보다 크거나 같으면 cond는 true
cond = false;
condv = 0;
For ARR = 0 TO 150
{
If DATA1몸통상단 >= Maxdata[arr] and data2(Bdate[arr]) == data2(Bdate) Then
{
cond = true;
tx = Text_New(Date,Time,L,NumToStr(DATA1몸통상단,2));
buy();
}
}
2020-06-08
1931
글번호 139602
답변완료
부탁드립니다.
아래식은 분봉차트에서 당일의 거래대금만 누적하는 식입니다.
분봉차트에서 당일부터 n일전까지(예: 당일부터 7일전까지) 거래대금을 누적하는 식을 부탁드립니다.
var1 = AccumN(Money,DayIndex+1);
plot1 (var1);
2020-06-07
1997
글번호 139601
답변완료
질문 올립니다.
안녕하세요. 늘 감사드립니다.
차트를 보다 보면, 가끔씩 갑자기 위로 확 치솟았다 즉시 원위치하다시피 해서,
1. 아주 엄청나게 긴 꼬리나
2. 엄청 긴 집게 모양 (파이프 모양)을 만드는 경우가 종종 있습니다.
이렇게 갑자기 위로 치솟았을 때 매도하고, 갑자기 밑으로 급강하 햇을 때 매수하는 식
부탁 드립니다.
청산은, 피보나치 수치를 생각해서, 매수 진입의 경우,
매수 직전 급락 시작할 때의 가격(아마도 급락봉의 시가 내지 고가?)
에서 급락봉의 저가(밑바닥)까지의 길이의 62%까지 반등하면 익절 청산,
매도의 경우는 매수의 경우와 반대로 부탁 드립니다.
얼마나 많이 급등으로 올랐을 때나 내렸을 때 진입한다 등등등의 기준은, 전문가님께서 합리적이라고 생각되시는 기준대로 해 주시면 감사하겠습니다.
(요체는, 초단기간 초급등시 꼭대기에서 매도,
초단기간 초급락시 밑바닥에서 매수...)
감사합니다.
2020-06-07
1914
글번호 139600
답변완료
수식수정요청
안녕하세요 늘 도움 감사드립니다.
다름이 아니라.. 아래의 수식에서 양봉의 중심은 표시 되는데..음봉은 고저 중심으로 표시
되지않고 양봉중심처럼 같이 표시 됩니다.
하여 음봉에서는 고저 중심으로 표시 되도록 수정부탁드립니다.
var1 = max(C,O);
var2 = min(C,O);
var3 = (var1+var2)/2;
if stime < 001500 Then
var4 = (dayopen+C)/2;
plot1(var3,"몸통중심");
plot2(O,"시가");#시초가이면 dayopen
plot4(var5,"10분몸통중심");
(2)또 한가지는 아래의 매도 매수 시스템신호 수식를 에스신호 수식으로 변경 부탁드립니다.
매도신호
BBandsUp(20,2)>C and
BBandsUp(20,2) <=O
매수신호
BBandsDown(20,2)>O and
BBandsDown(20,2) <=C
2020-06-06
1917
글번호 139599
답변완료
당일 평균
안녕하세요
당일 고점과 당일 저점을 평균으로 지표상에 나타나게 할려고 합니다
(DayHigh(0)+daylow(0))/2,"당일평균");
이렇게 해보니 안돼네요
바른수식을 부탁드립니다.
2020-06-06
1826
글번호 139598
답변완료
문위드립니다~
당일 오전 09시30 분부터 시작합니다
09시30분 이후에 고가와 저가 기준입니다
저가로부터 50틱위에 종가완성시에 매수신호
고가로부터 50틱위에 종가완성시에 매조신호 부탁드려요
09시 30분 이후에 고저가는 고저를 갱신할수록 신호위치는 달라지겟죠
당일에 고저가가 아니고 09시30분 이후부터 나오는 고저가입니다
2020-06-06
1780
글번호 139597
답변완료
틱차트에 일봉 이평선
틱차트에서 일봉 가중이평선과 지수이평선 위에있을때는 매수로만, 밑에있을때는 매도로만 대응하고싶은데
시스템에서 어떻게 표현해야할지 알려주세요
2020-06-08
1727
글번호 139596
답변완료
당일 첫봉에서 진입이 안됩니다, 그리고 계좌예수금에 따라 베팅사이즈를 조절
안녕하세요 ^^
1) 아래와 같은 수식을 사용할 경우 당일 첫봉에서 매수/매도 진입이 전혀 되지 않습니다. 어떻게 해야될까요?
2) 계좌 예수금에 따라 베팅사이즈를 조절하려면 아래와 같이 수식을 적으면 될까요? (모의투자)
input : n(3),risk(1.5%),rt(0.17),MUL(50000);
var : noise(0),sum(0),cnt(0),
RANGE(0),LTR(0),STR(0),
L1(0),L2(0),L3(0),S1(0), S2(0),S3(0),
NL1(0), NL2(0),NL3(0), NS1(0), NS2(0), NS3(0),
VL(0),Lunit(0),LUNIT1(0),LUNIT2(0),SUNIT(0), SUNIT1(0), SUNIT2(0),
Accoundnum(""),value(0);
accoundnum = GetAccount(0);
value = GetUnclearedDeposits(accoundnum);
VL = value / (dayclose(1) * MUL * rt);
LUNIT = INT((value * RISK) / (LTR * MUL));
SUNIT = INT((value * RISK) / (STR * MUL));
# ENTRY
L1 = DAYOPEN + LTR ;
L2 = L1 + (LTR * 0.5);
L3 = L1 + LTR;
S1 = DAYOPEN - STR;
S2 = S1 - (STR * 0.5);
S3 = S1 - STR;
NL1 = LatestExitPrice(1)+LTR;
NL2 = NL1 + LTR * 0.5;
NL3 = NL1 + LTR;
NS1 = LatestExitPrice(1)-STR;
NS2 = NS1 - STR * 0.5;
NS3 = NS1 - Str;
IF MarketPosition == 0 AND BDATE != EXITDATE(1) Then {
IF H <= L1 AND NEXTBARSDATE == SDATE Then BUY("L1",ATSTOP,L1,LUNIT1);
IF L >= S1 AND NextBarSdate == SDATE THEN SELL("S1",ATSTOP,S1,SUNIT1);
}
# 매수 피라미딩
IF MarketPosition == 1 AND STIME <153000 and IsEntryName("L1")==True THEN {
if highest(h,BarsSinceEntry) <= L2 Then
buy("L2",ATSTOP,L2,LUNIT2);
if highest(h,BarsSinceEntry) <= L1 + LTR Then
buy("L3",ATSTOP, L3,LUNIT2);
}
# 매수청산
IF MarketPosition == 1 then {
if NextBarSdate == SDATE Then
ExitLong("LS",AtStop,LatestEntryPrice - LTR);
IF NextBarSdate != SDATE Then
ExitLong("EL",ATMARKET);
}
# 매도 피라미딩
IF MarketPosition == -1 AND STIME < 153000 AND IsEntryName("S1") == True THEN {
IF Lowest(L,BarsSinceEntry) >= S2 Then
SELL("S2",AtStop,S2,SUNIT2);
IF Lowest(L,BarsSinceEntry) >= S1 - STR Then
SELL("S3",AtStop,S3,SUNIT2);
}
# 매도청산
IF MarketPosition == -1 then {
IF NextBarSdate == SDATE Then EXITSHORT("SS",AtStop,LatestEntryPrice + STR);
SetStopEndofday(1545);
}
ELSE SetStopEndofday(0); #해제
# 재진입
IF MarketPosition == 0 AND BDATE == EXITDATE(1) Then {
IF MarketPosition(1) == 1 AND H <= NL1 AND NextBarSdate == sDate AND IsExitName("LS",1) == TRUE THEN BUY("NL1",ATSTOP,NL1,LUNIT1);
IF MarketPosition(1) == -1 AND L >= NS1 AND NextBarSdate == SDATE THEN SELL("NS1",ATSTOP,NS1,SUNIT1);
}
IF BDATE == EXITDATE(1) AND MarketPosition == 1 AND IsEntryName("NL1") == TRUE THEN {
IF LatestEntryName == "NL1" AND Highest(H,BarsSinceEntry) <= NL2 THEN BUY("NL2",ATSTOP,NL2,LUNIT2);
IF LatestEntryName == "NL2" AND HIGHEST(H,BarsSinceEntry) <= NL3 THEN BUY("NL3",ATSTOP,NL3,LUNIT2);
}
IF BDATE == ExitDate(1) AND MarketPosition == -1 AND IsEntryName("NS1") == TRUE Then {
IF LatestEntryName == "NS1" AND Lowest(L,BarsSinceEntry) >= NS2 THEN SELL("NS2",ATSTOP,NS2,SUNIT2);
IF LatestEntryName == "NS2" AND Lowest(L,BarsSinceEntry) >= NS3 THEN SELL("NS3",ATSTOP,NS2,SUNIT2);
}
2020-06-07
1809
글번호 139595