커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

옵션매도 님에 의해서 삭제되었습니다.

프로필 이미지
옵션매도
2020-11-10
12
글번호 143761
지표
답변완료

문의

data1 선물 data2 콜연결atm0 data3 풋연결atm0 양합(data2+data3) 생성된 양합으로 진입합니다. 데이트레이딩 1) if stime >= 100000 and 금일 양합 open - 금일 양합(1.00 ~ 2.00) then sell(); 10시 부터 금일 양합이 090000기준 양합 시가 - (1.00 ~ 2.00)이면 sell 2) if stime >= 100000 and 전일 양합 저점 - 금일 양합(1.00 ~ 2.00) then sell(); 10시 부터 금일 양합이 전일 양합 저점 - (1.00 ~ 2.00) 이면 sell 수식 부탁드립니다.
프로필 이미지
목마와숙녀
2020-11-10
437
글번호 143760
시스템
답변완료

지표수정

69836번 5일선만 봉의종가 라인선표현 잘부탁드립니다
프로필 이미지
용각산
2020-11-10
434
글번호 143759
지표
답변완료

문의 드립니다.

안녕하세요 관리자님 우선 늘 감사 드립니다. 제가 아래와 같이 하고 싶은데 방법을 몰라서 문의 드립니다. 매수 1 매수 2 매수 3 매도 1 매도 2 매도 3 매수 청산 1 매수 청산 2 매수 청산 3 매도 청산 1 매도 청산 2 매도 청산 3 매수1 진입된 것은 매수 청산 1으로만 진행 매수2 진입된 것은 매수 청산 2으로만 진행 매수3 진입된 것은 매수 청산 3으로만 진행 매도1 진입된 것은 매도 청산 1으로만 진행 매도2 진입된 것은 매도 청산 2으로만 진행 매도3 진입된 것은 매도 청산 3으로만 진행 위와 같이 하고 싶은데 현재는 매수 1로 진입된 것이 매수청산 2나 3으로도 청산 되서요 어떻게 해야 되는지 문의 드립니다. ## 단기 매도매수 수식 ## Condition31 = CrossDown(DZwave3, SEP[11]) and CrossDown(DZwave3, SEP[10]); Condition32 = CrossDown(DZwave3, SEP[10]) and CrossDown(DZwave3, SEP[9]); Condition33 = CrossDown(DZwave3, SEP[9]) and CrossDown(DZwave3, SEP[8]); Condition34 = CrossDown(DZwave3, SEP[8]) and CrossDown(DZwave3, SEP[7]); Condition35 = CrossDown(DZwave3, SEP[7]) and CrossDown(DZwave3, SEP[6]); Condition36 = CrossDown(DZwave3, SEP[6]) and CrossDown(DZwave3, SEP[5]); Condition37 = CrossDown(DZwave3, SEP[5]) and CrossDown(DZwave3, SEP[4]); Condition38 = CrossDown(DZwave3, SEP[4]) and CrossDown(DZwave3, SEP[3]); Condition39 = CrossDown(DZwave3, SEP[3]) and CrossDown(DZwave3, SEP[2]); Condition40 = CrossDown(DZwave3, SEP[2]) and CrossDown(DZwave3, SEP[1]); Condition41 = CrossDown(DZwave3, SEP[1]) and CrossDown(DZwave3, SEP[0]); Condition42 = CrossUp(DZwave3, BUP[11]) and CrossUp(DZwave3, BUP[10]); Condition43 = CrossUp(DZwave3, BUP[10]) and CrossUp(DZwave3, BUP[9]); Condition44 = CrossUp(DZwave3, BUP[9]) and CrossUp(DZwave3, BUP[8]); Condition45 = CrossUp(DZwave3, BUP[8]) and CrossUp(DZwave3, BUP[7]); Condition46 = CrossUp(DZwave3, BUP[7]) and CrossUp(DZwave3, BUP[6]); Condition47 = CrossUp(DZwave3, BUP[6]) and CrossUp(DZwave3, BUP[5]); Condition48 = CrossUp(DZwave3, BUP[5]) and CrossUp(DZwave3, BUP[4]); Condition49 = CrossUp(DZwave3, BUP[4]) and CrossUp(DZwave3, BUP[3]); Condition50 = CrossUp(DZwave3, BUP[3]) and CrossUp(DZwave3, BUP[2]); Condition51 = CrossUp(DZwave3, BUP[2]) and CrossUp(DZwave3, BUP[1]); Condition52 = CrossUp(DZwave3, BUP[1]) and CrossUp(DZwave3, BUP[0]); ## 단기 매도매수 청산수식 ## Condition53 = CrossUp(DZwave3, SEP[0]) and CrossUp(DZwave3, SEP[1]); Condition54 = CrossUp(DZwave3, SEP[1]) and CrossUp(DZwave3, SEP[2]); Condition55 = CrossUp(DZwave3, SEP[2]) and CrossUp(DZwave3, SEP[3]); Condition56 = CrossUp(DZwave3, SEP[3]) and CrossUp(DZwave3, SEP[4]); Condition57 = CrossUp(DZwave3, SEP[4]) and CrossUp(DZwave3, SEP[5]); Condition58 = CrossUp(DZwave3, SEP[5]) and CrossUp(DZwave3, SEP[6]); Condition59 = CrossUp(DZwave3, SEP[6]) and CrossUp(DZwave3, SEP[7]); Condition60 = CrossUp(DZwave3, SEP[7]) and CrossUp(DZwave3, SEP[8]); Condition61 = CrossUp(DZwave3, SEP[8]) and CrossUp(DZwave3, SEP[9]); Condition62 = CrossUp(DZwave3, SEP[9]) and CrossUp(DZwave3, SEP[10]); Condition63 = CrossUp(DZwave3, SEP[10]) and CrossUp(DZwave3, SEP[11]); Condition64 = CrossDown(DZwave3, BUP[0]) and CrossDown(DZwave3, BUP[1]); Condition65 = CrossDown(DZwave3, BUP[1]) and CrossDown(DZwave3, BUP[2]); Condition66 = CrossDown(DZwave3, BUP[2]) and CrossDown(DZwave3, BUP[3]); Condition67 = CrossDown(DZwave3, BUP[3]) and CrossDown(DZwave3, BUP[4]); Condition68 = CrossDown(DZwave3, BUP[4]) and CrossDown(DZwave3, BUP[5]); Condition69 = CrossDown(DZwave3, BUP[5]) and CrossDown(DZwave3, BUP[6]); Condition70 = CrossDown(DZwave3, BUP[6]) and CrossDown(DZwave3, BUP[7]); Condition71 = CrossDown(DZwave3, BUP[7]) and CrossDown(DZwave3, BUP[8]); Condition72 = CrossDown(DZwave3, BUP[8]) and CrossDown(DZwave3, BUP[9]); Condition73 = CrossDown(DZwave3, BUP[9]) and CrossDown(DZwave3, BUP[10]); Condition74 = CrossDown(DZwave3, BUP[10]) and CrossDown(DZwave3, BUP[11]); { If MarketPosition == 0 and (T == 1) and Condition52 == true Then { Buy("B1"); } If MarketPosition == 0 and (T == 1) and Condition51 == true Then { Buy("B2"); } If MarketPosition == 0 and (T == 1) and Condition50 == true Then { Buy("B3"); } If MarketPosition == 0 and (T == -1) and Condition31 == true Then { Sell("S1"); } If MarketPosition == 0 and (T == -1) and Condition32 == true Then { Sell("S2"); } If MarketPosition == 0 and (T == -1) and Condition33 == true Then { Sell("S3"); } if MarketPosition == 1 Then { if CrossDown(DZwave3, BUP[0]) or Condition65 == true or Condition66 == true Then { ExitLong("BX1"); } if CrossDown(DZwave3, BUP[1]) or Condition66 == true or Condition67 == true Then { ExitLong("BX2"); } if CrossDown(DZwave3, BUP[2]) or Condition67 == true or Condition68 == true Then { ExitLong("BX3"); } } if MarketPosition == -1 Then { if CrossUp(DZwave3, SEP[11]) or Condition62 == true or Condition61 == true Then { ExitShort("SX1"); } if CrossUp(DZwave3, SEP[10]) or Condition61 == true or Condition60 == true Then { ExitShort("SX2"); } if CrossUp(DZwave3, SEP[9]) or Condition60 == true or Condition59 == true Then { ExitShort("SX3"); } } }
프로필 이미지
blueo
2020-11-10
519
글번호 143758
시스템
답변완료

[5034]양음양 일봉기준을 80틱 기준으로 하려면 어떻게 해야하는지요

if ma(c,5) > ma(c,20) and ma(V,5)[1] >= 100000 and C > 1000 and C > O and C[1] < O[1] and C[2] > O[2] then find(1); 위 식은 일봉을 기준으로한 [5034]번 양음양 패턴 검색식입니다. 이것을 일봉이 아니라 80틱 기준으로 바꾸어 검색을 하려면 어떻게 해야하는지요(위 이동평균선 역시 80틱 기준으로 바꾸려고 합니다.)
프로필 이미지
플로어
2020-11-10
654
글번호 143757
검색
답변완료

문의드립니다

1)Input:barCnt(5); Var:j(0),turnPntBit(""),TL1(0),TL33(0),TL44(0),HD(0),HT(0),LD(0),LT(0),HH(0),LL(0); Array:valArr[10](0),barArr[10](0),turnPntArr[10](""); // 봉이 새로 생겼으므로 봉개수 관리하는 변수들의 봉개수 값 1씩 증가 For j = 0 To 9 { barArr[j] = barArr[j] + 1; } 상승추세선과 하락추세선의 마지막값출력테스트를 나오게 부탁드립니다, // 고점조건 = 5-1-5에서 가운데 고가가 좌측 5봉과 우측 5봉 고가보다 높다 // 저점조건 = 5-1-5에서 가운데 저가가 좌측 5봉과 우측 5봉 저가보다 낮다 Condition1 = Highest(H,barCnt)[barCnt+1] <= H[barCnt] and H[barCnt] > Highest(H,barCnt); Condition2 = Lowest(L,barCnt)[barCnt+1] >= L[barCnt] and L[barCnt] < Lowest(L,barCnt); // 전환점구분 null값으로 초기화; // if 고점조건, 저점조건 동시 만족시 then // if 이전 고점,저점 범위를 모두 벗어났을 때 // 전환점구분 = 고저점; // else if 이전 고점을 갱신했다면 전환점구분 = 고점; // else if 이전 저점을 갱신했다면 전환점구분 = 저점; // else if 전환점배열의 현재(배열상 1번째)값이 고점이면 전환점구분 = 저점; // else if 전환점배열의 현재 값이 저점이면 전환점구분 = 고점; // else if 고점조건 만족하면 전환점구분 = 고점; // else if 저점조건 만족하면 전환전구분 = 저점; turnPntBit = ""; If Condition1 and Condition2 Then { If Max(valArr[1],valArr[2]) < H[barCnt] and Min(valArr[1],valArr[2]) > L[barCnt] Then turnPntBit = "HiLo"; Else If Max(valArr[1],valArr[2]) < H[barCnt] Then turnPntBit = "Hi"; Else If Min(valArr[1],valArr[2]) > L[barCnt] Then turnPntBit = "Lo"; Else If turnPntArr[1] == "Hi" Then turnPntBit = "Lo"; Else If turnPntArr[1] == "Lo" Then turnPntBit = "Hi"; } Else If Condition1 Then turnPntBit = "Hi"; Else If Condition2 Then turnPntBit = "Lo"; // if 전환점구분에 값이 있을 때만 아래 실행, 없으면 통과 If turnPntBit <> "" Then { // if 전환점구분이 고저점이면 then // 이전 파동은 연장시키고 아래에서 새로이 파동선을 추가토록 한다. If turnPntBit == "HiLo" Then { valArr[1] = IFF(turnPntArr[1] == "Hi",H[barCnt],L[barCnt]); barArr[1] = barCnt; TL_SetEnd(TL1,sDate[barArr[1]],sTime[barArr[1]],valArr[1]); If turnPntArr[1] == "Hi" Then turnPntBit = "Lo"; Else turnPntBit = "Hi"; } // if 신규 전환점구분이 현재(전환점배열 1번째)와 다르면 then // 배열값들을 이전값으로 Move; 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 전환점구분이 바뀌었거나 또는 // (전환점구분은 안바뀌었는데 // (이전 고점보다 높은 고점이 발생했거나 또는 // 이전 저점보다 낮은 저점이 발생했으면)) then If turnPntBit <> turnPntArr[1] or (turnPntBit == turnPntArr[1] and ((turnPntBit == "Hi" and valArr[1] < H[barCnt]) or (turnPntBit == "Lo" and valArr[1] > L[barCnt]))) Then { // 값 배열에는 고점 또는 저점을 대입; // 봉개수 배열에는 입력변수의 봉개수 대입; // 전환점 배열에 전환점구분값을 대입; valArr[1] = IFF(turnPntBit == "Hi",H[barCnt],L[barCnt]); barArr[1] = barCnt; turnPntArr[1] = turnPntBit; // if 이전봉대비 전환점구분이 바뀌었다면 추세선 새로 그리고; // else 전환점구분이 안바뀌었으면 값만 바뀐거므로 추세선 연장; 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,0); TL_SetColor(TL1,BLACK); var : TL11(0),TL12(0),hhh(0),lll(0),mmm(0),mm1(0),mm2(0),mm3(0),mm4(0); if turnPntArr[1][0] == "Hi" Then { hhh = valArr[1]; TL_Delete(TL11); TL_SetExtRight(TL11,true); TL_SetColor(TL11,BLUE); TL_SetSize(TL11,0); mmm = (hhh-lll)/5; TL_Delete(mm1); TL_SetExtRight(mm1,true); TL_SetColor(mm1,BLACK); TL_SetSize(mm1,0); TL_Delete(mm2); TL_SetExtRight(mm2,true); TL_SetColor(mm2,BLACK); TL_SetSize(mm2,0); TL_Delete(mm3); TL_SetExtRight(mm3,true); TL_SetColor(mm3,BLACK); TL_SetSize(mm3,0); TL_Delete(mm4); TL_SetExtRight(mm4,true); TL_SetColor(mm4,BLACK); TL_SetSize(mm4,0); } if turnPntArr[1][0] == "Lo" Then { lll = valArr[1]; TL_Delete(TL12); TL_SetExtRight(TL12,true); TL_SetColor(TL12,LGREEN); TL_SetSize(TL12,0); mmm = (hhh-lll)/5; TL_Delete(mm1); TL_SetExtRight(mm1,true); TL_SetColor(mm1,BLACK); TL_SetSize(mm1,0); TL_Delete(mm2); TL_SetExtRight(mm2,true); TL_SetColor(mm2,BLACK); TL_SetSize(mm2,0); TL_Delete(mm3); TL_SetExtRight(mm3,true); TL_SetColor(mm3,BLACK); TL_SetSize(mm3,0); TL_Delete(mm4); TL_SetExtRight(mm4,true); TL_SetColor(mm4,BLACK); TL_SetSize(mm4,0); } if bdate != BDate[1] Then{ HD = sdate; HT = stime; LD = sdate; LT = stime; HH = H; LL = L; } if H > HH Then{ HH = H; HD = sdate; HT = stime; } TL_Delete(TL33); if turnPntArr[1][0] == "Hi" Then{ TL33 = TL_New(sDate[barArr[1]],sTime[barArr[1]],valArr[1],HD,HT,dayhigh); } if turnPntArr[1][0] == "Lo" Then{ TL33 = TL_New(sDate[barArr[2]],sTime[barArr[2]],valArr[2],HD,HT,dayhigh); } TL_SetExtRight(TL33,true); TL_SetColor(TL33,LGREEN); TL_SetSize(TL33,1); if L < LL Then{ LL = L; LD = sdate; LT = stime; } TL_Delete(TL44); if turnPntArr[1][0] == "Hi" Then{ TL44 = TL_New(sDate[barArr[2]],sTime[barArr[2]],valArr[2],LD,LT,daylow); } if turnPntArr[1][0] == "Lo" Then{ TL44 = TL_New(sDate[barArr[1]],sTime[barArr[1]],valArr[1],LD,LT,daylow); } TL_SetExtRight(TL44,true); TL_SetColor(TL44,BLACK); TL_SetSize(TL44,1); 상승추세선 과 하락추세선의 마지막값이 나오게 출력테스트를부탁드립니다,~~ 봉과 추세선이 만나는지점도텍스트출력부탁드립니다 2) Input:length(5); Var:j(0),lastHiVal(0),lastLoVal(0),sBar(0),eBar(0),TL1(0),TL2(0),TL3(0),Text1(0),처리구분(""), TL_Val1(0),TL_Val2(0); Var:TL11(0),TL12(0),TL13(0),TL14(0),TL15(0),TL16(0),TL17(0),TL18(0),TL19(0),TL20(0); Var:TL21(0),TL22(0),TL23(0),TL24(0),TL25(0),TL26(0),TL27(0),TL28(0),TL29(0),TL30(0),mav(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; TL_Delete(TL1); TL_Delete(TL2); If TL_GetBeginDate(TL1) == sDate[sBar] and TL_GetBeginTime(TL1) == sTime[sBar] Then { Text_Delete(Text1); If 고점[3,1][1] < 고점[2,1][1] and 고점[2,1][1] > 고점[1,1][1]and 저점[2,1][1] < 저점[1,1][1] Then TL_Delete(TL2); } TL1 = TL_New(sDate[sBar],sTime[sBar],저점[1,1],sDate[eBar],sTime[eBar],고점[1,1]); TL2 = TL_New(sDate[eBar+1],sTime[eBar+1],고점[1,1]+ PriceScale*1,sDate[eBar],sTime[eBar],고점[1,1]+PriceScale*1); TL_SetExtRight(Tl2,true); TL_SetColor(Tl2,CYAN); TL_SetSize(TL2,2); TL_SetColor(TL1,BLACK); TL_SetSize(TL1,0); 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 { 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; TL_Delete(TL1); TL_Delete(TL2); If TL_GetBeginDate(TL1) == sDate[sBar] and TL_GetBeginTime(TL1) == sTime[sBar] Then { Text_Delete(Text1); If 저점[2,1][1] < 저점[1,1][1] and 저점[2,1][1] < 저점[3,1][1] and 고점[2,1][1] > 고점[1,1][1] Then TL_Delete(TL3); } TL1 = TL_New(sDate[sBar],sTime[sBar],고점[1,1],sDate[eBar],sTime[eBar],저점[1,1]); TL2 = TL_New(sDate[eBar+1],sTime[eBar+1],저점[1,1]- PriceScale*1,sDate[eBar],sTime[eBar],저점[1,1]-PriceScale*1); TL_SetExtRight(Tl2,true); TL_SetColor(Tl2,RED); TL_SetSize(TL2,2); TL_SetColor(TL1,BLACK); TL_SetSize(TL1,0); If 저점[2,1] < 저점[1,1] and 저점[2,1] < 저점[3,1] and 고점[2,1] > 고점[1,1] Then { sBar = Index - 고점[2,2]; eBar = Index - 고점[1,2]; } } } mav = ma(C,20); 고점수평선이 확정되어 수평선이 나오면 고점수평선으로부터+50틱에 레드색으로 수평선이 나오게~~반대로 저점수평선이 확정되어 저점을찍으면 저점수평선으로 부턱-50틱에 블루색으로 수평선이 나오게 ~~수평선은 트리로 나오게 해주세요, 2)당일시가기준으로 상승시+50틱마다수평선이나오게 하고십습니다, 당일시가기준으로 하락시-50틱마다 수평선이나오게 하고십습니다 +는 래드색 -는 블루색,, 수평선 마지막값이 나오도록 톄스트출력을 하고십습니다, 3)전일고점과 저점을 기준으로 +50,-50틱마다 2번과갗이 수평선이나오게 하고 전일은 전일이란 글씨가 나오게 ~~수치값테스트술력을 해주세요, 4)당일고점과 저점을 기준으로 +50틱 -50틱 마다 1번이나 2번과갗이 당일이란 글씨가나오게 하고 수치갑텍스트 출력을 하고십습니다, 1234번 색갈을 다 다르게 하게 조정하게끔부탁드립니다~~미리감사드립다,
프로필 이미지
장군
2020-11-10
657
글번호 143756
지표

로꼬로꼬 님에 의해서 삭제되었습니다.

프로필 이미지
로꼬로꼬
2020-11-10
1
글번호 143755
지표

겐지 님에 의해서 삭제되었습니다.

프로필 이미지
겐지
2020-11-10
4
글번호 143754
시스템
답변완료

69831번 수정부탁드립니다

답변 너무 감사드립니다. 제가 설명이 조금 부족하였던 것 같습니다. 제가 원하는 것은 하루 1번 진입이 아니라 주어진 시간 동안에 매수식(또는 매도식)에서 첫번째 진입후 익절 청산 혹은 손절 청산이 된 이후에 곧 바로 이어서 동일한 방식으로 하루 최대 12회까지 매수식에서는 매수를 매도식에서는 매도를 계속해서 진입을 하는 방식입니다. 손절과 익절 및 진입횟수는 외부변수로 작성가능 부탁드리겠습니다. 운영자님의 식을 적용해 본 결과 주어진 시간에서 첫번째 진입 후 이어서 진입이 되지를 않고 다음날 진입(즉 하루에 한 번 진입)이 되는 것 같습니다. 수정이 가능하였으면 감사하겠습니다. (1)매수식(분봉에 적용) 거래시간 한국시간 기준 19시부터 익일 02시 50분까지 1,첫번째 양봉에 매수(손절15틱 익절 30틱)진입 2.먼저 진입된 매수포지션이 손절 또는 익절 청산 된 후 다음봉 양봉에 매수진입(손절 15틱 익절 30틱) 3.이런 방법으로 먼저 진입되어진 것이 손절되거나 익절되어 청산되면(무포지션 상태) 곧바로 양봉에만 계속 매수진입과 청산을 연속적으로 반복합니다. 4.매수진입 하루 총한도 12회까지 가능 (2)매도식(분봉에 적용) 1,첫번째 음봉에 매도(손절15틱 익절 30틱)진입 2.먼저 진입된 매도포지션이 손절 또는 익절 청산 된 후 다음봉 음봉에 매도진입(손절 15틱 익절 30틱) 3.이런 방법으로 먼저 진입되어진 것이 손절되거나 익절되어 청산되면(무포지션 상태) 곧바로 음봉에만 계속 매도진입과 청산을 연속적으로 반복합니다. 3.매도진입 하루 총한도 12회까지 가능 매수식과 매도식을 분리 운영할 계획입니다. 손절과 익절 및 진입횟수는 외부변수로 작성가능 부탁드리겠습니다. > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 수식 문의 드립니다. > 안녕하세요 예스스탁입니다. 1 input : StartTime(190000),EndTime(025000),익절틱수(30),손절틱수(15); var : Tcond(false),count(0); if StartTime < EndTime Then { SetStopEndofday(EndTime); } Else { if sDate != sDate[1] Then SetStopEndofday(EndTime); } if (sdate != sdate[1] and stime >= EndTime) or (sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then Tcond = False; if (sdate != sdate[1] and stime >= StartTime) or (sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then { if StartTime > EndTime Then SetStopEndofday(0); Tcond = true; count = 0; } if Tcond == true Then { if C > O Then { count = count+1; if MarketPosition == 0 and TotalTrades == TotalTrades[1] and count == 1 Then Buy(); } } SetStopProfittarget(PriceScale*익절틱수,PointStop); SetStopLoss(PriceScale*손절틱수,PointStop); 2 input : StartTime(190000),EndTime(025000),익절틱수(30),손절틱수(15); var : Tcond(false),count(0); if StartTime < EndTime Then { SetStopEndofday(EndTime); } Else { if sDate != sDate[1] Then SetStopEndofday(EndTime); } if (sdate != sdate[1] and stime >= EndTime) or (sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then Tcond = False; if (sdate != sdate[1] and stime >= StartTime) or (sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then { if StartTime > EndTime Then SetStopEndofday(0); Tcond = true; count = 0; } if Tcond == true Then { if C < O Then { count = count+1; if MarketPosition == 0 and TotalTrades == TotalTrades[1] and count == 1 Then Sell(); } } SetStopProfittarget(PriceScale*익절틱수,PointStop); SetStopLoss(PriceScale*손절틱수,PointStop); 3 INPUTS: R(4), S(8), U(6),SMTHLEN(10); var : Truestrength(0),Truestrengthsig(0),T(0); Truestrength = TSI(C, R, S, U); Truestrengthsig = Ema(TSI(C, R, S, U), SMTHLEN); if CrossUp(Truestrength,Truestrengthsig) and C > O Then T = 1; if CrossDown(Truestrength,Truestrengthsig) and C > O Then T = -1; if T == 1 and C > O Then { T = 2; Buy(); } if T == -1 and C < O Then { T = -2; Sell(); } 즐거운 하루되세요 > 황금룰 님이 쓴 글입니다. > 제목 : 수식 문의 드립니다. > (1)매수식 거래시간 한국시간 기준 19시부터 익일 02시 50분까지 1,첫번째 양봉에 매수 손절=-15틱 익절=+30틱 2.손절 또는 익절 청산후 다음봉 양봉에 매수 3.매수진입 총한도 12회 (2)매도식 1.첫번째 음봉에 매도 손절=-15틱 익절=+30틱 2.손절 또는 익절 청산후 다음봉 음봉에 매도 3.매도진입 총한도 12회 매수식과 매도식을 분리 운영할 계획입니다. 손절과 익절 및 진입횟수는 외부변수로 작성가능 부탁드리겠습니다. (3)True Strength Index 지표를 기준으로 ERGOTIC가 SIGLIN을 골든크로스 하면 양봉에 매수 데드크로스이면 음봉에 매도식 부탁드립니다.
프로필 이미지
황금룰
2020-11-09
608
글번호 143753
시스템