커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
4322
글번호 230811
답변완료
해외용파라블릭
value = SAR(af,maxAF);
{ var1 = Round(value,2);
var2 = FracPortion(Int(var1*10)/10)*10; //소수1자리값
var3 = FracPortion(var1*10)*10; //소수 2자리 값
if var3 == 0 or var3 == 5 Then
var4 = var1;
Else if var3 == 1 or var3 == 2 Then
var4 = (int(var1*10)/10);
else if var3 >= 3 and var3 <= 7 Then
var4 = (int(var1*10)/10)+0.05;
Else
var4 = (int(var1*10)/10)+0.1;
plot1(var4 ,"MAGENTA",GREEN,def,1);
333.23을국내선물에 소수점을 맞추기위해 사용 합니다.
해외상품이 많은데 소수점이 다양해 문의 합니다.
euro fx 1.18047
gold 1276.6
항생 소수점이 없음 28994
나스닥은 국내와 같음
캐나다달러 0.78342
일본앤 8857.2
오일 55.34
오스트리아달러 0.7591
영국 파운드 1.3181
늘 고생하시는데 이정도 부탁합니다.
2017-11-17
193
글번호 114283
답변완료
문의 드립니다.
Arrays : count[500](0);
Value1 = Max(count[0], count[1], count[2], count[3], count[4], count[5],
count[6], count[7], count[8], count[9], count[10], count[11], count[12],
count[13], count[14], count[15], count[16], count[17], count[18],
count[19], count[20], count[21], count[22], count[23], count[24],
count[25], count[26], count[27], count[28], count[29], count[30],
count[31], count[32], count[33], count[34], count[35], count[36],
count[37], count[38], count[39], count[40], count[41], count[42],
count[43], count[44], count[45], count[46], count[47], count[48],
count[49], count[50], count[51], count[52], count[53], count[54],
count[55], count[56], count[57], count[58], count[59], count[60],
count[61], count[62], count[63], count[64], count[65], count[66],
count[67], count[68], count[69], count[70], count[71], count[72],
count[73], count[74], count[75], count[76], count[77], count[78],
count[79], count[80], count[81], count[82], count[83], count[84],
count[85], count[86], count[87], count[88], count[89], count[90],
count[91], count[92], count[93], count[94], count[95], count[96],
count[97], count[98], count[99], count[100], count[101], count[102],
count[103], count[104], count[105], count[106], count[107], count[108],
count[109], count[110], count[111], count[112], count[113], count[114],
count[115], count[116], count[117], count[118], count[119], count[120],
count[121], count[122], count[123], count[124], count[125], count[126],
count[127], count[128], count[129], count[130], count[131], count[132],
count[133], count[134], count[135], count[136], count[137], count[138],
count[139], count[140], count[141], count[142], count[143], count[144],
count[145], count[146], count[147], count[148], count[149], count[150],
count[151], count[152], count[153], count[154], count[155], count[156],
count[157], count[158], count[159], count[160], count[161], count[162],
count[163], count[164], count[165], count[166], count[167], count[168],
count[169], count[170], count[171], count[172], count[173], count[174],
count[175], count[176], count[177], count[178], count[179], count[180],
count[181], count[182], count[183], count[184], count[185], count[186],
count[187], count[188], count[189], count[190], count[191], count[192],
count[193], count[194], count[195], count[196], count[197], count[198],
count[199], count[200], count[201], count[202], count[203], count[204],
count[205], count[206], count[207], count[208], count[209], count[210],
count[211], count[212], count[213], count[214], count[215], count[216],
count[217], count[218], count[219], count[220], count[221], count[222],
count[223], count[224], count[225], count[226], count[227], count[228],
count[229], count[230], count[231], count[232], count[233], count[234],
count[235], count[236], count[237], count[238], count[239], count[240],
count[241], count[242], count[243], count[244], count[245], count[246],
count[247], count[248], count[249], count[250], count[251], count[252],
count[253], count[254], count[255], count[256], count[257], count[258],
count[259], count[260], count[261], count[262], count[263], count[264],
count[265], count[266], count[267], count[268], count[269], count[270],
count[271], count[272], count[273], count[274], count[275], count[276],
count[277], count[278], count[279], count[280], count[281], count[282],
count[283], count[284], count[285], count[286], count[287], count[288],
count[289], count[290], count[291], count[292], count[293], count[294],
count[295], count[296], count[297], count[298], count[299]);
배열변수 count 를 방을 500개를 만들고
각 배열변수 값 중에서 제일 큰 값을
Value1 에 넣을려고 하는데,
배열변수를 count[0]부터 계속 추가해서 256개를 초과해서 만드니까
에러가 나면서 함수 파라미터를 256개 이상 만들수가 없다고 하네요.
그럼 위처럼 저렇게 일일히 count 변수를 입력하지 말고
count[X] 처럼 배열에 변수 X 값을 넣고
자동으로 0번방부터 500번방까지 검색해서 제일 높은 수를 찾아내야
하는 것인데...
뭐 좋은 방법이 없을까요?
For 문 같은것을 활용해야 하나요?
2017-11-17
270
글번호 114271
답변완료
문의드립니다.
5분봉차트에서 참조데이터를 사용하지 않고 현재봉이30분봉 첫봉일경우와 주봉첫봉 일경우와 월봉첫봉인경우 변수초기화하는 식부탁드립니다 일봉일경우 if dayindex==0 then var = 1;과 같이 쓰ㅡ면 되지만 다른시간대라든가 주봉월봉은 어떻게 써야하는지 모르겠네요 답변부탁드립니다. 수고하세요^^
2017-11-17
166
글번호 114268
답변완료
설정에서 주문 시작 신호
혹시 주문 시작 신호가 '진입신호'로 되어있는 상태에서, 시스템 접속이 끊어졌다가 다시 접속하면 손절을 안하는 건가요?
2017-11-17
133
글번호 114267
답변완료
이것저것 문의드립니다.
도움주시는 덕분에 도전하고 있습니다. 매번 감사합니다.
1. 볼린저밴드 돌파시 진입 재돌파시 재진입 수식 알려주신 걸 변수 몇개만 좀 바꿔서 적용해봤는데요. 모든진입신호 허용을 눌러도 추가 진입 신호가 안나옵니다. 뭔가 잘못한 걸까요?
Input : BBP(20), MultiD(2),MultiD2(1.5);
Input : Percent(2);
input : n(5);
var : MAv(0),BBup(0),BBdn(0),bbup2(0);
var : center(0),UPline(0),DNline(0);
MAv = ma(C,BBP);
BBup = BollBandUp(BBP,MultiD);
bbup2 = BollBandUp(BBP,MultiD2);
BBdn = BollBandDown(BBP,MultiD);
center = ma(C, BBP);
UPline = EnvelopeUp(BBP, Percent);
Dnline = EnvelopeDown(BBP, Percent);
if MarketPosition <= 0 and bbup-bbdn > UPline-Dnline and CrossUp(c,bbup*(1+n/100)) Then
buy("b1");
if MarketPosition == 1 Then{
if CurrentContracts > CurrentContracts[1] Then{
var1 = sdate;
var2 = CurrentContracts-CurrentContracts[1];
}
if sdate > var1 and crossup(c,bbup) then
buy("bb",OnClose,def,Floor(MaxContracts*0.5));
if MaxEntries == 2 and CrossDown(c,bbup2) Then
exitlong("bbx",OnClose,def,"bb");
if CrossDown(c,mav) Then
ExitLong("bx");
}
2. 시스템
진입
40일 볼린저밴드 상단선 상향돌파시 진입
청산
진입후 5일간은 고가 -ATR*3선에 닿으면 청산
5일이 지난 뒤에는 볼린저밴드 상단선 하향돌파시 청산
3. 시스템
2번 시스템을 일봉 지표기준 매매는 30분봉으로
4. 시스템
진입
시가대비 n% 이상 오르면 즉시 진입
청산
고가-atr*3이 되면 즉시 청산
5. 이 답변을 보다가 궁금증이 생겨서 질문드립니다. 갭이라는 게 호가 공백이 생길 정도로 가격이 오르거나 내리거나 하는 걸로 알고 있는데요. 그럼 아래수식은 특정 시간을 종가라고 가정하고 다음 봉이 완성될 때의 가격이 갭인가를 확인한 뒤 매수 혹은 매도하는 수식인가요?
안녕하세요
예스스탁입니다.
2번식은 국내 선물/옵션용입니다.
해외선물에는 맞지 않습니다
국내선물이라도 주야간 복합장에서도 맞지 않습니다.
해외선물이나 국내주야간복합장에서는
시초가 진입은 되지 않고
첫봉완성에 조건체크해서 진입하게 작성해야 합니다.
또한 당일청산함수도 일반적으로 사용하지 않습니다.
당일청산함수는 해당시간이후에 진입을 막으므로
if문으로 시간지정해 청산식 작성해서 사용해야 합니다.
if bdate != bdate[1] Then{
if o > C[1] Then
buy("b");
if O < C[1] Then
sell("s");
}
if stime == 053000 or (stime > 053000 and stime[1] < 053000) Then{
exitlong("bx");
ExitShort("sx");
}
2017-11-17
166
글번호 114266
답변완료
안녕하세요
매매시간 오전10시15부터 10시40분까지 매매 합니다
매수조건 20 이평선이 60 이평선보다 크면 바로진입
매도조건 20이평선이 60 이평선보다 작으면 바로진입 합니다
익절 50틱 손절50 틱
매매끈난후에
오후2시부터3시까지 매매합니다,
매수조건 10이평선이 50이평선을 골드크로스 매수 단, 포지션이 있으면청산후 진입
매도조건 10이평선이 50 이평선읗 데드크로스 매도 단, 포지션이 있으면 청산후 진입
익절 40틱 손절 20 틱
2017-11-17
144
글번호 114265
답변완료
문의드립니다
Input:length(12);
Var:j(0),lastHiVal(0),lastLoVal(0),sBar(0),eBar(0),TL1(0),TL2(0),
Text1(0),처리구분(""),T(0);
Array:고점[10,2](0),저점[10,2](0); //가격,위치
처리구분 = "";
If Highest(H,length) == H and lastHiVal <> H and
Lowest(L,length) == L and lastLoVal <> L Then
{
If 저점[1,1] > L Then 처리구분 = "저점처리";
If 고점[1,1] < H Then 처리구분 = "고점처리";
}
Else If Highest(H,length) == H and lastHiVal <> H Then
처리구분 = "고점처리";
Else If Lowest(L,length) == L and lastLoVal <> L Then
처리구분 = "저점처리";
If 처리구분 == "고점처리" Then
{
lastHiVal = H;
If 고점[1,2] < 저점[1,2] Then
{
For j = 10 DownTo 2
{
고점[j,1] = 고점[j-1,1];
고점[j,2] = 고점[j-1,2];
}
}
If 고점[1,2] < 저점[1,2] or 고점[1,1] < H Then
{
고점[1,1] = H;
고점[1,2] = Index;
sBar = Index - 저점[1,2];
eBar = 0;
If TL_GetBeginDate(TL1) == sDate[sBar] and
TL_GetBeginTime(TL1) == sTime[sBar] Then
{
TL_Delete(TL1);
TL_Delete(TL2);
Text_Delete(Text1);
}
TL1 = TL_New(sDate[sBar],sTime[sBar],저점[1,1],
sDate[eBar],sTime[eBar],고점[1,1]);
TL2 = TL_New(sDate[sBar],sTime[sBar],저점[1,1],
sDate[eBar],sTime[eBar],저점[1,1]);
Text1 = Text_New(sDate[eBar],sTime[eBar],고점[1,1],
NumToStr(고점[1,1],2));
Text_SetStyle(Text1, 2, 1);
TL_SetColor(TL2,blue);
}
}
If 처리구분 == "저점처리" Then
{
lastLoVal = L;
If 저점[1,2] < 고점[1,2] then
{
For j = 10 DownTo 2
{
저점[j,1] = 저점[j-1,1];
저점[j,2] = 저점[j-1,2];
}
}
If 저점[1,2] < 고점[1,2] or 저점[1,1] > L then
{
저점[1,1] = L;
저점[1,2] = Index;
sBar = Index - 고점[1,2];
eBar = 0;
If TL_GetBeginDate(TL1) == sDate[sBar] and
TL_GetBeginTime(TL1) == sTime[sBar] Then
{
TL_Delete(TL1);
TL_Delete(TL2);
Text_Delete(Text1);
}
TL1 = TL_New(sDate[sBar],sTime[sBar],고점[1,1],
sDate[eBar],sTime[eBar],저점[1,1]);
TL2 = TL_New(sDate[sBar],sTime[sBar],고점[1,1],
sDate[eBar],sTime[eBar],고점[1,1]);
Text1 = Text_New(sDate[eBar],sTime[eBar],저점[1,1],
NumToStr(저점[1,1],1));
Text_SetStyle(Text1, 2, 10);
TL_SetColor(TL2,RED);
}
}
TL_SetSize(TL1,3);
TL_SetColor(TL1,CYAN);
마지막수평선만 나오게 부탁드립니다(마지막수평선이나오면이전수평선은사라지게)감사드립니다~~
2017-11-17
155
글번호 114263
답변완료
수식 문의 드립니다.
TL_SetColor(TL1,BLUE);
TL_SetColor(TL1,RED);
와 같이 빨강, 파랑으로 선을 그었을때...
빨강으로 선이 변했을때 매수,
파랑으로 변했을때 매도를 수식으로 표시할 수 있을까요?
2017-11-17
148
글번호 114262
답변완료
문의드립니다.
선물차트 기준으로 문의드립니다.
== 단순이평20선이 삼각가중평균 120선 보다 위에 있고,
현재봉을 0봉, 1봉전을 1봉, 2봉전을 2봉, 3봉전을 3봉이라 할때,
1. 2봉은 음봉, 1봉은 양봉, 0봉은 양봉이고
2봉종가<=1봉종가 and 1봉종가<0봉종가 and 2봉시가<=0봉종가 일때를 검색하고자 합니다.
검색신호는 0봉에 나타나게 합니다.
2. 2봉음봉, 1봉음봉, 0봉양봉 이고
2봉종가>1봉종가 and 1봉종가<0봉종가 and 1봉시가<=0봉종가 일때를 검색하고자 합니다.
검색신호는 0봉에 나타나게 합니다.
3. 2봉음봉, 1봉도지(시가=종가), 0봉양봉 일때를 검색하고자 합니다.
검색신호는 0봉에 나타나게 합니다.
4. 3봉음봉, 2봉음봉, 1봉양봉, 0봉양봉 이고
3봉종가>2봉종가 and 2봉종가<1봉종가 and 1봉종가< 0봉종가 and
3봉시가=0봉종가 and 2봉종가=1봉시가 일때를 검색하고자 합니다.
검색신호는 0봉에 나타나게 합니다.
====== 위 1번에서 4번까지의 검색식은 단순이평20선이 삼각가중평균120선보다 위에
있을때 검색하는 수식이고,
아래의 5번, 6번, 7번 검색식은 단순이평과 삼각가중평균 배열조건 관계없이 발생하면
검색되게 부탁드립니다.
5. 2봉음봉, 1봉음봉, 0봉양봉 이고
2봉종가 > 1봉종가 and 1봉종가<0봉종가 and 1봉종가=0봉시가 and 2봉시가<=0봉종가
일때를 검색하고자 합니다.
검색신호는 0봉에 나타나게 합니다.
6. 2봉음봉, 1봉도지, 0봉양봉 이고
2봉종가=1봉종가 and 1봉종가=1봉시가 and 1봉종가=0봉시가 and 0봉종가>1봉종가 and
2봉시가=0봉종가 일때를 검색하고자 합니다.
검색신호는 0봉에 나타나게 합니다.
7. 2봉음봉, 1봉양봉, 0봉양봉 이고
2봉종가<1봉종가 and 1봉종가<0봉종가 and 0봉종가>=2봉시가 일때를
검색하고자 합니다. 검색신호는 0봉에 나타나게 합니다.
위 1번에서 7번까지 7개의 검색식을 부탁드립니다.
도움을 주신것에 항상 감사드립니다. 수고하세요!!!
2017-11-17
143
글번호 114261