커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내

안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
프로필 이미지
예스스탁
2026-02-27
5476
글번호 230811
지표
답변완료

문의드립니다

지그재그 파동식인데요 스토캐스틱을 기준으로 하여 50선 위로 스코K가 상승하여... 50선 아래로 떨어지는 구간까지를 최고가격을 고점으로 50선 아래로 스토K나 하락하여 ... 50선 위로 올라오는 구간까지를 최저가격을 저점으로 하며. 또한.. 과열권<80> 하락 이후.. 51선을 이탈하지 않고 다시 과열권 진입시 직전 하락한 51에서 79사이의 최저가격을 저점으로 하고 다시 진입한 과열권에서 최고가격을 고점으로 표현 침체권<20> 돌파 이후 49선을 돌파하지 않고 다시 침체권 진입시 직전 상승한 21에서 49 사이의 최고가격을 고점으로 하고 다시 진입한 침체권에서 최저가각을 저점으로 표현이 되게 부탁드립니다 즉. 고점의 기준이 2개이며 .. 저점의 기준도 2개입니다 위 내용에 맞게 수식을 작성 하여 주셔도 되구요 아니면 아래 수식을 변경하여 주셔도 됩니다 Input:Period(12),Period1(5),레벨(4),선색깔(MAGENTA),선두께(3),수치표시여부(1),수치표시위치(10),폰트크기(13),두껍게(1); Var:StokValue(0),고점(1),저점(-1),신규(1),연장(2),연속(3),삼선(4); Array:고[10,44](0),저[10,44](0), // 열번호 : 1=가격,2=Index,3=sDate,4=sTime,11=가격,12=Index,13=sDate,14=sTime 최종상태[5](0),처리구분[5](0),TL[3](0),Text[3](0); //=========================================================// If 레벨 <= 4 Then { Var1 = 레벨 * 10; StokValue = StochasticsK(Period,Period1); Value1 = IndicatorZigZag302(H,L,StokValue,50,고,저,최종상태,처리구분); If 최종상태[레벨] == 고점 Then { If 처리구분[레벨] == 신규 Then { TL[2] = TL_New(저[1,Var1 + 3],저[1,Var1 + 4],저[1,Var1 + 1],고[1,Var1 + 3],고[1,Var1 + 4],고[1,Var1 + 1]); If 수치표시여부 == 1 Then { Text[2] = Text_New(고[1,Var1 + 3],고[1,Var1 + 4],고[1,Var1 + 1] + (수치표시위치 * PriceScale), NumToStr(고[1,Var1 + 1],2) + "(+" + NumToStr(고[1,Var1 + 1] - 저[1,Var1 + 1],2) + ", " + NumToStr((고[1,Var1 + 1] - 저[1,Var1 + 1])*100/저[1,Var1 + 1],2) + "%)"); Text_SetStyle(Text[2], 2, 1); Text_SetSize(Text[2],폰트크기); Text_SetBold(Text[2],두껍게); Text_SetColor(Text[2],RED); } } If 처리구분[레벨] == 연장 Then { TL_SetEnd(TL[2],고[1,Var1 + 3],고[1,Var1 + 4],고[1,Var1 + 1]); If 수치표시여부 == 1 Then { Text_SetLocation(Text[2],고[1,Var1 + 3],고[1,Var1 + 4],고[1,Var1 + 1] + (수치표시위치 * PriceScale)); Text_SetString(Text[2],NumToStr(고[1,Var1 + 1],2) + "(+" + NumToStr(고[1,Var1 + 1] - 저[1,Var1 + 1],2) + ", " + NumToStr((고[1,Var1 + 1] - 저[1,Var1 + 1])*100/저[1,Var1 + 1],2) + "%)"); } } If 처리구분[레벨] == 연속 Then { TL[1] = TL_New(고[2,Var1 + 3],고[2,Var1 + 4],고[2,Var1 + 1],저[1,Var1 + 3],저[1,Var1 + 4],저[1,Var1 + 1]); TL[2] = TL_New(저[1,Var1 + 3],저[1,Var1 + 4],저[1,Var1 + 1],고[1,Var1 + 3],고[1,Var1 + 4],고[1,Var1 + 1]); If 수치표시여부 == 1 Then { Text[1] = Text_New(저[1,Var1 + 3],저[1,Var1 + 4],저[1,Var1 + 1] - (수치표시위치 * PriceScale), NumToStr(저[1,Var1 + 1],2) + "(-" + NumToStr(고[2,Var1 + 1] - 저[1,Var1 + 1],2) + ", " + NumToStr((고[2,Var1 + 1] - 저[1,Var1 + 1])*100/고[2,Var1 + 1],2) + "%)"); Text[2] = Text_New(고[1,Var1 + 3],고[1,Var1 + 4],고[1,Var1 + 1] + (수치표시위치 * PriceScale), NumToStr(고[1,Var1 + 1],2) + "(+" + NumToStr(고[1,Var1 + 1] - 저[1,Var1 + 1],2) + ", " + NumToStr((고[1,Var1 + 1] - 저[1,Var1 + 1])*100/저[1,Var1 + 1],2) + "%)"); Text_SetStyle(Text[1], 2, 0); Text_SetStyle(Text[2], 2, 1); Text_SetSize(Text[1],폰트크기); Text_SetSize(Text[2],폰트크기); Text_SetBold(Text[1],두껍게); Text_SetBold(Text[2],두껍게); Text_SetColor(Text[1],BLUE); Text_SetColor(Text[2],RED); } } If 처리구분[레벨] == 삼선 Then { TL[0] = TL_New(저[2,Var1 + 3],저[2,Var1 + 4],저[2,Var1 + 1],고[2,Var1 + 3],고[2,Var1 + 4],고[2,Var1 + 1]); TL[1] = TL_New(고[2,Var1 + 3],고[2,Var1 + 4],고[2,Var1 + 1],저[1,Var1 + 3],저[1,Var1 + 4],저[1,Var1 + 1]); TL[2] = TL_New(저[1,Var1 + 3],저[1,Var1 + 4],저[1,Var1 + 1],고[1,Var1 + 3],고[1,Var1 + 4],고[1,Var1 + 1]); If 수치표시여부 == 1 Then { Text[0] = Text_New(고[2,Var1 + 3],고[2,Var1 + 4],고[2,Var1 + 1] + (수치표시위치 * PriceScale), NumToStr(고[2,Var1 + 1],2) + "(+" + NumToStr(고[2,Var1 + 1] - 저[2,Var1 + 1],2) + ", " + NumToStr((고[2,Var1 + 1] - 저[2,Var1 + 1])*100/저[2,Var1 + 1],2) + "%)"); Text[1] = Text_New(저[1,Var1 + 3],저[1,Var1 + 4],저[1,Var1 + 1] - (수치표시위치 * PriceScale), NumToStr(저[1,Var1 + 1],2) + "(-" + NumToStr(고[2,Var1 + 1] - 저[1,Var1 + 1],2) + ", " + NumToStr((고[2,Var1 + 1] - 저[1,Var1 + 1])*100/고[2,Var1 + 1],2) + "%)"); Text[2] = Text_New(고[1,Var1 + 3],고[1,Var1 + 4],고[1,Var1 + 1] + (수치표시위치 * PriceScale), NumToStr(고[1,Var1 + 1],2) + "(+" + NumToStr(고[1,Var1 + 1] - 저[1,Var1 + 1],2) + ", " + NumToStr((고[1,Var1 + 1] - 저[1,Var1 + 1])*100/저[1,Var1 + 1],2) + "%)"); Text_SetStyle(Text[0], 2, 1); Text_SetStyle(Text[1], 2, 0); Text_SetStyle(Text[2], 2, 1); Text_SetSize(Text[0],폰트크기); Text_SetSize(Text[1],폰트크기); Text_SetSize(Text[2],폰트크기); Text_SetBold(Text[0],두껍게); Text_SetBold(Text[1],두껍게); Text_SetBold(Text[2],두껍게); Text_SetColor(Text[0],RED); Text_SetColor(Text[1],BLUE); Text_SetColor(Text[2],RED); } } } If 최종상태[레벨] == 저점 Then { If 처리구분[레벨] == 신규 Then { TL[2] = TL_New(고[1,Var1 + 3],고[1,Var1 + 4],고[1,Var1 + 1],저[1,Var1 + 3],저[1,Var1 + 4],저[1,Var1 + 1]); If 수치표시여부 == 1 Then { Text[2] = Text_New(저[1,Var1 + 3],저[1,Var1 + 4],저[1,Var1 + 1] - (수치표시위치 * PriceScale), NumToStr(저[1,Var1 + 1],2) + "(-" + NumToStr(고[1,Var1 + 1] - 저[1,Var1 + 1],2) + ", " + NumToStr((고[1,Var1 + 1] - 저[1,Var1 + 1])*100/고[1,Var1 + 1],2) + "%)"); Text_SetStyle(Text[2], 2, 0); Text_SetSize(Text[2],폰트크기); Text_SetBold(Text[2],두껍게); Text_SetColor(Text[2],BLUE); } } If 처리구분[레벨] == 연장 Then { TL_SetEnd(TL[2],저[1,Var1 + 3],저[1,Var1 + 4],저[1,Var1 + 1]); If 수치표시여부 == 1 Then { Text_SetLocation(Text[2],저[1,Var1 + 3],저[1,Var1 + 4],저[1,Var1 + 1] - (수치표시위치 * PriceScale)); Text_SetString(Text[2],NumToStr(저[1,Var1 + 1],2) + "(-" + NumToStr(고[1,Var1 + 1] - 저[1,Var1 + 1],2) + ", " + NumToStr((고[1,Var1 + 1] - 저[1,Var1 + 1])*100/고[1,Var1 + 1],2) + "%)"); } } If 처리구분[레벨] == 연속 Then { TL[1] = TL_New(저[2,Var1 + 3],저[2,Var1 + 4],저[2,Var1 + 1],고[1,Var1 + 3],고[1,Var1 + 4],고[1,Var1 + 1]); TL[2] = TL_New(고[1,Var1 + 3],고[1,Var1 + 4],고[1,Var1 + 1],저[1,Var1 + 3],저[1,Var1 + 4],저[1,Var1 + 1]); If 수치표시여부 == 1 Then { Text[1] = Text_New(고[1,Var1 + 3],고[1,Var1 + 4],고[1,Var1 + 1] + (수치표시위치 * PriceScale), NumToStr(고[1,Var1 + 1],2) + "(+" + NumToStr(고[1,Var1 + 1] - 저[2,Var1 + 1],2) + ", " + NumToStr((고[1,Var1 + 1] - 저[2,Var1 + 1])*100/저[2,Var1 + 1],2) + "%)"); Text[2] = Text_New(저[1,Var1 + 3],저[1,Var1 + 4],저[1,Var1 + 1] - (수치표시위치 * PriceScale), NumToStr(저[1,Var1 + 1],2) + "(-" + NumToStr(고[1,Var1 + 1] - 저[1,Var1 + 1],2) + ", " + NumToStr((고[1,Var1 + 1] - 저[1,Var1 + 1])*100/고[1,Var1 + 1],2) + "%)"); Text_SetStyle(Text[1], 2, 1); Text_SetStyle(Text[2], 2, 0); Text_SetSize(Text[1],폰트크기); Text_SetSize(Text[2],폰트크기); Text_SetBold(Text[1],두껍게); Text_SetBold(Text[2],두껍게); Text_SetColor(Text[1],RED); Text_SetColor(Text[2],BLUE); } } If 처리구분[레벨] == 삼선 Then { TL[0] = TL_New(고[2,Var1 + 3],고[2,Var1 + 4],고[2,Var1 + 1],저[2,Var1 + 3],저[2,Var1 + 4],저[2,Var1 + 1]); TL[1] = TL_New(저[2,Var1 + 3],저[2,Var1 + 4],저[2,Var1 + 1],고[1,Var1 + 3],고[1,Var1 + 4],고[1,Var1 + 1]); TL[2] = TL_New(고[1,Var1 + 3],고[1,Var1 + 4],고[1,Var1 + 1],저[1,Var1 + 3],저[1,Var1 + 4],저[1,Var1 + 1]); If 수치표시여부 == 1 Then { Text[0] = Text_New(저[2,Var1 + 3],저[2,Var1 + 4],저[2,Var1 + 1] - (수치표시위치 * PriceScale), NumToStr(저[2,Var1 + 1],2) + "(-" + NumToStr(고[2,Var1 + 1] - 저[2,Var1 + 1],2) + ", " + NumToStr((고[2,Var1 + 1] - 저[2,Var1 + 1])*100/고[2,Var1 + 1],2) + "%)"); Text[1] = Text_New(고[1,Var1 + 3],고[1,Var1 + 4],고[1,Var1 + 1] + (수치표시위치 * PriceScale), NumToStr(고[1,Var1 + 1],2) + "(+" + NumToStr(고[1,Var1 + 1] - 저[2,Var1 + 1],2) + ", " + NumToStr((고[1,Var1 + 1] - 저[2,Var1 + 1])*100/저[2,Var1 + 1],2) + "%)"); Text[2] = Text_New(저[1,Var1 + 3],저[1,Var1 + 4],저[1,Var1 + 1] - (수치표시위치 * PriceScale), NumToStr(저[1,Var1 + 1],2) + "(-" + NumToStr(고[1,Var1 + 1] - 저[1,Var1 + 1],2) + ", " + NumToStr((고[1,Var1 + 1] - 저[1,Var1 + 1])*100/고[1,Var1 + 1],2) + "%)"); Text_SetStyle(Text[0], 2, 0); Text_SetStyle(Text[1], 2, 1); Text_SetStyle(Text[2], 2, 0); Text_SetSize(Text[0],폰트크기); Text_SetSize(Text[1],폰트크기); Text_SetSize(Text[2],폰트크기); Text_SetBold(Text[0],두껍게); Text_SetBold(Text[1],두껍게); Text_SetBold(Text[2],두껍게); Text_SetColor(Text[0],BLUE); Text_SetColor(Text[1],RED); Text_SetColor(Text[2],BLUE); } } } TL_SetColor(TL[0],선색깔); TL_SetSize(TL[0],선두께); TL_SetColor(TL[1],선색깔); TL_SetSize(TL[1],선두께); TL_SetColor(TL[2],선색깔); TL_SetSize(TL[2],선두께); } Else { Alert("4레벨까지만 가능합니다!!"); } 으로
프로필 이미지
삼족오
2020-02-11
420
글번호 135850
지표
답변완료

문의드립니다

N봉 전의 고가를 돌파하지 않고... n봉 전의 저가를 이탈하는 봉 매도 진입 N봉전의 저가를 이탈하지 않고... n봉 전의 고가를 돌파하는 봉 매수 진입 위 질문입니다.. 대문자N 소문자n에서 숫자가 다릅니다.. 예를 들어서 10봉전의 고가를 돌파하지 않고... 3봉전의 저가를 이탈하는 봉에서 매도 진입 10봉전의 저가를 이탈하지 않고 .... 3봉전의 고가를 돒파하는 봉에서 매수 진입 각각의 봉에서 위 3틱.. 아래 3탁에 표시되게 부탁드립니다 매수청산 매도청산은 표시 안되게 해주세요 ^..^
프로필 이미지
삼족오
2020-02-11
367
글번호 135848
시스템

해피오 님에 의해서 삭제되었습니다.

프로필 이미지
해피오
2020-02-11
107
글번호 135847
지표
답변완료

수평선 우측으로 연장 부탁드립니다

아래 파동선 수식 수평선 전체를 우측으로 연장되게 수정부탁드립니다 감사합니다 좋은하루되세요 Input:length(6); Var:j(0),lastHiVal(0),lastLoVal(0),sBar(0),eBar(0), TL1(0),처리구분(""),T(0),TL2(0),TL3(0); var : hh(0),ll(0),ii(0),diff(0),TL41(0),TL42(0),TL43(0),TL44(0),TL45(0),TL46(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 { T = 1; 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); } TL1 = TL_New(sDate[sBar],sTime[sBar],저점[1,1],sDate[eBar],sTime[eBar],고점[1,1]); TL_SetExtRight(TL2,False); TL2 = TL_New(sDate[1],sTime[1],고점[1,1],sdate,sTime,고점[1,1]); TL_SetColor(TL2,BLUE); TL_SetSize(TL2,3); If 고점[3,1] < 고점[2,1] and 고점[2,1] > 고점[1,1] and 저점[2,1] < 저점[1,1] Then { sBar = Index - 저점[2,2]; eBar = Index - 저점[1,2]; } } } If 처리구분 == "저점처리" Then { T = -1; 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(TL3); } TL1 = TL_New(sDate[sBar],sTime[sBar],고점[1,1],sDate[eBar],sTime[eBar],저점[1,1]); TL_SetExtRight(TL3,False); TL3 = TL_New(sDate[1],sTime[1],저점[1,1],sdate,sTime,저점[1,1]); TL_SetColor(TL3,RED); TL_SetSize(TL3,3); If 저점[2,1] < 저점[1,1] and 저점[2,1] < 저점[3,1] and 고점[2,1] > 고점[1,1] Then { sBar = Index - 고점[2,2]; eBar = Index - 고점[1,2]; } } } TL_SetSize(TL1,1); TL_SetColor(TL1,WHITE); TL_SetEnd(TL2,sdate,stime,고점[1,1]); TL_SetEnd(TL3,sdate,stime,저점[1,1]); TL_SetExtRight(TL2,true); TL_SetExtRight(TL3,true); if T != T[1] then { if T == 1 Then { HH = 고점[2,1]; LL = 저점[1,1]; ii = index-고점[2,2]; diff = abs(HH-LL); } Else { HH = 고점[1,1]; LL = 저점[2,1]; ii = index-저점[2,2]; diff = abs(HH-LL); } TL_Delete(TL41); TL_Delete(TL42); TL_Delete(TL43); TL_Delete(TL44); TL_Delete(TL45); TL_Delete(TL46); TL41 = TL_New(sdate[ii],stime[ii],LL+diff*2.00,sdate,stime,LL+diff*2.00); TL42 = TL_New(sdate[ii],stime[ii],LL+diff*2.618,sdate,stime,LL+diff*2.618); TL43 = TL_New(sdate[ii],stime[ii],LL+diff*3.618,sdate,stime,LL+diff*3.618); TL44 = TL_New(sdate[ii],stime[ii],HH-diff*2.00,sdate,stime,HH-diff*2.00); TL45 = TL_New(sdate[ii],stime[ii],HH-diff*2.618,sdate,stime,HH-diff*2.618); TL46 = TL_New(sdate[ii],stime[ii],HH-diff*3.618,sdate,stime,HH-diff*3.618); TL_SetExtRight(TL41,true); TL_SetExtRight(TL42,true); TL_SetExtRight(TL43,true); TL_SetExtRight(TL44,true); TL_SetExtRight(TL45,true); TL_SetExtRight(TL46,true); TL_SetSize(TL41,2); TL_SetSize(TL42,2); TL_SetSize(TL43,2); TL_SetSize(TL44,2); TL_SetSize(TL45,2); TL_SetSize(TL46,2); }
프로필 이미지
감사1
2020-02-12
322
글번호 135846
지표
답변완료

문의 드립니다.

이평선 5 20 정배열이면서 스토케스틱 오실레이터 12 26 9 기준선0 상관없이 상승 전환되면 매수 손절과 익절은 스토케스틱 오실레이터 하락 전환되면 청산 완료 이평선 5 20 역배열이면서 스토케스틱 오실레이터 12 26 9 기준선0 상관없이 하락 전환되면 매도 손절과 익절은 스토케스틱 오실레이터 상승 전환되면 청산 완료 부탁드립니다.
프로필 이미지
선물대장
2020-02-11
357
글번호 135845
시스템
답변완료

부탁합니다

다시 부탁드립니다. 트릭스지표 input : Period(12),Period1(20); var1 = trix(Period); var2 = ma(C,Period1); if crossup(var1,0) Then value1 = var2; if var2 > value1 Then value1 = var2; if CrossDown(var1,0) Then value2 = var2; if var2 < value2 Then value2 = var2; plot1(value1); plot2(value2); smi지표 input : g(12),r(25),s(2); var1 = ema(ema(c-(highest(H,g) + lowest(L,g))*0.5,r),s) * 100/ (0.5 * ema(ema(highest(H,g)-lowest(L,g),r),s)); plot1(var1); plot2(40); plot3(-40); 1.매수 1-1 ) 트릭스 지표에서 plot1의 가격이 전전봉과 전봉이 같다가 ( 가격이 동일하다 ) 내려오면 매수 ( 단, smi지표의 plot2(40) 이상일때는 신규매수금지 ) 1-2 ) 청산이 되고난후 포지션이 없을경우 plot1 가격이 전전봉과 전봉이 같다가 ( 가격이 동일하다 ) 올라가면 매수 ( 단, plot2 의 가격이 전봉과 같아야함 ) 2. 매수청산 1-1) plot2 가격 밑에서 13틱 ( 종가아닌 실시간체결 - 13틱이면 시장가체결 ) 1-2) 매도신호 (단, 청산신호에는 smi 지표의 plot3(-40) 를 적용하지않음 ) 1-3) plot1 가격 밑에서 25틱 ( 종가기준 ) 매도는 반대 ### 시간적용을 할수있게 부탁합니다. ( 10:30 ~ 12:50 ), ( 14:10 ~ 16:50 ) , ( 23:00 ~ 01:50 ) 생각외로 다른신호가 발생되어 귀찮게 해드리는같네요. 미리 감사드립니다.
프로필 이미지
as8282
2020-02-12
360
글번호 135844
시스템
답변완료

수식 문의 드립니다.

보조차트로 옵션 20개 종목을 추가한후에 거래대금이 가장 많은 상위 4종목의 시가대비 등락률을 각각 표현하고 싶습니다. 감사합니다.
프로필 이미지
무패
2020-02-11
344
글번호 135843
지표
답변완료

수식 수정 부탁드립니다.

아래수식은 먼저번에 작성해 주신 수식입니다. 100틱봉을 주차트로 하고 아래에 data2차트에 10분봉 차트을 추가해서 매수조건과 매도조건은 10분봉 차트로 판단해서 매수조건과 매도 조건을 만족하면 data1 주차트인 100틱봉에서 매수와 매도를 실행 하고 청산은 작성된 아래수식처럼 하지 않고 주차트에서 15틱 이익시 이익청산 15틱 손실시 손실청산하고 싶습니다. 안녕하세요 예스스탁입니다. var : T(0); var : C1(0),C2(0),C3(0),S1(0),S2(0),s3(0); var1 = ma(C,20); if countif(C>O,2) == 2 and C[2] < O[2] Then { C3 = O[1]; C1 = C3[1]; if C2 > value1 and C3 > var1[1] and C1 < C3 Then buy(); } if C < O and C[1] > O[1] Then { C2 = c[1]; value1 = var1[1]; } if countif(C<O,2) == 2 and C[2] > O[2] Then { S3 = O[1]; S1 = S3[1]; if S2 < value2 and C3 < var1[1] and S1 > S3 Then sell(); } if C > O and C[1] < O[1] Then { S2 = c[1]; value2 = var1[1]; } 즐거운 하루되세요 > 종호 님이 쓴 글입니다. > 제목 : 20 이평선 기준 전략 수식 문의합니다. > 매수: 음봉 뒤에 양봉이 2개 연속일 때 이 때의 첫양봉의 시가 = 최초 양봉시가 C1 이후 음봉이 발생하면 음봉 직전 양봉 종가 = C2 다시 음봉뒤에 연속으로 양봉이 2개 연속일 때 이 때의 첫양봉의 시가 = 2번째 연속 양봉시가 C3 음봉 직전 양봉 종가 C2 > 20 이평값 2번째 연속 양봉시가 C3 > 20 이평값 최초 양봉시가 C1 < 2번째 연속 양봉시가 C3 만족하면 매수합니다. 매수청산: 매수후 누적으로 음봉이 2개 발생하면 청산합니다. 매도: 양봉 뒤에 음봉이 2개 연속일 때 이 때의 첫음봉의 시가 = 최초 음봉시가 S1 이후 양봉이 발생하면 양봉 직전 음봉 종가 = S2 다시 양봉뒤에 연속으로 음봉이 2개 연속일 때 이 때의 첫음봉의 시가 = 2번째 연속 음봉시가 S3 양봉 직전 음봉 종가 S2 < 20 이평값 2번째 연속 음봉시가 S3 < 20 이평값 최초 음봉시가 S1 > 2번째 연속 음봉시가 S3 만족하면 매도합니다. 매도청산: 매도후 누적으로 양봉이 2개 발생하면 청산합니다.
프로필 이미지
종호
2020-02-11
366
글번호 135842
시스템
답변완료

청산 수식 부탁드릴께요( 트레일링 )

제가 청산하는 수식은 다음과 같습니다 (1) CCI값이 crossdown에 만족하면 청산 (2) 특정 수익구간에서 음봉시 청산 (3) 일정 수익 발생 후 청산하지 못하고 하락했을때 강제 청산 인데요... 트레일링 스탑을 적용하고 싶습니다. 위 조건을 만족하는 조건에다가 40틱(변수1지정할것임) 상승후 고점에서 -20틱(변수2지정할것임) 하락 시 청산 하는 트레일링 수식 바람니다. 그리고 트레일링은 최적화 수식 돌리면 오류가 많이 발생하나요?? 변수1,2 지정을 최적화하려는데 어떻게 해야할까요??? 항상 감사드림니다. ================= 수식 ==================== Input : CCI기간(20),CCI값(350); Input : 즉시익절1(250),즉시손절1(225); Input : N2(0.6),N3(0); if MarketPosition == 1 then { BuySetup = false; if countif(CrossDown(CCIv,CCI값),BarsSinceEntry) >= 1 and CCIv < CCI값 and C < O Then ExitLong("매수cci청산"); if highest(H,BarsSinceEntry) >= EntryPrice+PriceScale*즉시익절1 and C < O Then ExitLong("즉시익절1"); if highest(H,BarsSinceEntry) >= (EntryPrice+PriceScale*즉시익절1*N2) Then ExitLong("본전청산1",AtStop,EntryPrice+PriceScale*즉시익절1*N3); Else ExitLong("즉시손절1",AtStop,EntryPrice-PriceScale*즉시손절1); }
프로필 이미지
이형지
2020-02-11
358
글번호 135841
시스템