커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

부탁드립니다.

1. 종가가 음봉이면서 과거 직전 15개이내의 음봉중에 고가와 저가의 길이가 가장 긴 음봉이면 빨강색으로, 종가가 양봉이면서 과거 직전 15개이내의 양봉중에 고가와 저가의 길이가 가장 긴 양봉이면 파란색으로 구현해 주세요 2. 종가가 양봉이면서 과거 직전 15개이내의 음봉중에 고가와 저가의 길이가 가장 긴 음봉의 길이보다 더 길면 파란색으로, 종가가 음봉이면서 과거 직전 15개이내의 양봉중에 고가와 저가의 길이가 가장 긴 양봉의 길이보다 더 길면 빨강색으로 구현해 주세요 고맙습니다.
프로필 이미지
서태공
2024-07-11
745
글번호 181374
강조
답변완료

문의드립니다

1 0봉(현재봉) 제외하고 1봉전 거래대금 2봉전 거래대금 3봉전 거래대금 .... 몇봉전 거래대금을 차례로 누적하여 누적 거래대금이 5000천억 돌파할때 까지 걸리는 봉의 갯수를 나타내는지표 2 거래대금을 누적하는 지표를 만들고 누적거래대금이 0 에서 2000천억 구간 사이의 최고값과 최저값 2000천억 에서 4000천억 구간 사이의 최고값과 최저값 4000천억 에서 6000천억 구간 사이의 최고값과 최저값 ..... 2000천억 배수를 돌파할때 마다 그 사이 구간의 최고값과 최저값 감사합니다
프로필 이미지
파인애플
2024-07-11
680
글번호 181373
지표
답변완료

지표 계산 문의드립니다.

var:n(2); // SwingHigh, SwingLow에서 좌우 날개에 해당하는 봉의 개수 var : 파동선두께(2) // 파동선의 두께. 0 ~ 5 ; var : dayH(0),dayL(0); var : nowH(0),nowL(0); var : strongH(0),strongL(0); Var:j(0),jj(0),HH(0),LL(0),TL_H(0),TL_L(0),TL_L_1(0),TL_L_2(0),TL_L_3(0),TL_H_1(0),TL_H_2(0),TL_H_3(0),최종꼭지점(""),처리구분(""); Array:고[10,4](0),저[10,4](0); // 1:가격,2:Index,3:sDate,4:sTime var : t1(0),t2(0); if Index==0 Then ClearDebug; 파동선두께 = 1; #==========================================# HH = H; // IFF(조건식,참일 때 결과,거짓일 때 결과) LL = L; // SwingHigh 정의 Condition1 = Highest(HH,n)[n+1] <= HH[n] and HH[n] > Highest(HH,n); // SwingLow 정의 Condition2 = Lowest (LL,n)[n+1] >= LL[n] and LL[n] < Lowest (LL,n); 처리구분 = ""; If Condition1 and Condition2 Then // 긴 장대봉에서는 SwingHigh와 SwingLow가 동시에 나타날 수 있다. { If 최종꼭지점 == "저점" Then { If 저[1,1] > LL[n] Then 처리구분 = "저점처리"; Else 처리구분 = "고점처리"; } Else If 최종꼭지점 == "고점" Then { If 고[1,1] < HH[n] Then 처리구분 = "고점처리"; Else 처리구분 = "저점처리"; } } Else If Condition1 and 저[1,1] < HH[n] Then 처리구분 = "고점처리"; // SwingHigh 조건이 돼도 저점보다 낮으면 가격이 계속 하락중이므로 무시한다. Else If Condition2 and 고[1,1] > LL[n] Then 처리구분 = "저점처리"; // SwingLow 조건이 돼도 고점보다 높으면 가격이 계속 상승중이므로 무시한다. //========================================== If 처리구분 == "고점처리" Then { If 최종꼭지점 == "저점" Then { For j = 10 DownTo 2 { For jj = 1 To 4 // 2차원 배열이므로 For문안에 또 For문이 올 수 있다. { 고[j,jj] = 고[j-1,jj]; } } 고[1,1] = HH[n]; // 가격 고[1,2] = Index - n; // Index 고[1,3] = sDate[n]; // 날짜 고[1,4] = sTime[n]; // 시각 TL_H = TL_New(저[1,3],저[1,4],저[1,1],고[1,3],고[1,4],고[1,1]); // 신규 추세선 생성 TL_SetSize(TL_H,파동선두께); TL_SetColor(TL_H,Red); } Else If 고[1,1] < HH[n] Then // 고점 다음에 다시 고점이 온 경우로 신규 고점이 더 높아야 의미가 있다. { 고[1,1] = HH[n]; 고[1,2] = Index - n; 고[1,3] = sDate[n]; 고[1,4] = sTime[n]; TL_SetEnd(TL_H,고[1,3],고[1,4],고[1,1]); // 시작점은 변동없고 끝점의 위치가 현재 봉으로 연장된 것임 TL_SetSize(TL_H,파동선두께); } 최종꼭지점 = "고점"; // 이전 꼭지점이 무엇인지 판단하기 쉽도록 변수에 상태를 저장 } //========================================== If 처리구분 == "저점처리" Then { If 최종꼭지점 == "고점" then { For j = 10 DownTo 2 { For jj = 1 To 4 { 저[j,jj] = 저[j-1,jj]; } } 저[1,1] = LL[n]; 저[1,2] = Index - n; 저[1,3] = sDate[n]; 저[1,4] = sTime[n]; TL_L = TL_New(고[1,3],고[1,4],고[1,1],저[1,3],저[1,4],저[1,1]); TL_H_3 = TL_H_2; TL_H_2 = TL_H_1; TL_H_1 = TL_H; TL_SetSize(TL_L,파동선두께); TL_SetColor(TL_L,Blue); //var1 = NthHighest(1,strongL,고[1,2]-저[2,2]+1)[저[1,2]-고[1,2]+n]; //var2 = NthHighest(2,strongL,고[1,2]-저[2,2]+1)[저[1,2]-고[1,2]+n]; //var3 = NthHighest(3,strongL,고[1,2]-저[2,2]+1)[저[1,2]-고[1,2]+n]; Var13 = 고[1,2]-저[2,2]+1; var14 = 저[1,2]-고[1,2]+n; t1 = 고[1,2]-저[2,2]+1; t2 = 저[1,2]-고[1,2]+n; //* MessageLog("%.2f %.2f %.2f %.f %.f %.f %.f %.f %.2f ",Asks/Bids,고[1,2]-저[2,2]+1, 저[1,2]-고[1,2]+n,sTime, 고[1,3],고[1,4], 저[2,3],저[2,4], NthHighest(1,Asks/Bids,고[1,2]-저[2,2]+1)[저[1,2]-고[1,2]+n]); //*/ //var1 = NthHighest(1,Asks/Bids,Var13)[var14]; var2 = NthHighest(2,Asks/Bids,Var13)[var14]; var3 = NthHighest(3,Asks/Bids,Var13)[var14]; //var1 = NthHighest(1,Asks/Bids,고[1,2]-저[2,2]+1)[저[1,2]-고[1,2]+n]; //var2 = NthHighest(2,Asks/Bids,고[1,2]-저[2,2]+1)[저[1,2]-고[1,2]+n]; //var3 = NthHighest(3,Asks/Bids,고[1,2]-저[2,2]+1)[저[1,2]-고[1,2]+n]; MessageLog("%.2f %.2f %.2f %.f %.f %.f %.f %.f %.f %.f %.f %.f %.f %.f %.f %.f" ,var1,Var2,Var3,var11,Var12 ,NthHighestBar(1,Asks/Bids,고[1,2]-저[2,2]+1)[저[1,2]-고[1,2]+n], NthHighestBar(2,Asks/Bids,고[1,2]-저[2,2]+1)[저[1,2]-고[1,2]+n] ,NthHighestBar(3,Asks/Bids,고[1,2]-저[2,2]+1)[저[1,2]-고[1,2]+n] ,NthHighestBar(1,Asks/Bids,Var13)[var14] ,NthHighestBar(2,Asks/Bids,Var13)[var14] ,NthHighestBar(3,Asks/Bids,Var13)[var14] ,NthHighestBar(1,Asks/Bids,t1)[t2] ,NthHighestBar(2,Asks/Bids,t1)[t2] ,NthHighestBar(3,Asks/Bids,t1)[t2] ); } Else If 저[1,1] > LL[n] then { 저[1,1] = LL[n]; 저[1,2] = Index - n; 저[1,3] = sDate[n]; 저[1,4] = sTime[n]; TL_SetEnd(TL_L,저[1,3],저[1,4],저[1,1]); TL_SetSize(TL_L,파동선두께); } 최종꼭지점 = "저점"; } 질문1 제룡전기 1분봉 1300봉 기준으로 해당지표를돌려보면 24년7월8일 9시59분에 결과값이 매우이상합니다. ,NthHighestBar(1,Asks/Bids,고[1,2]-저[2,2]+1)[저[1,2]-고[1,2]+n], NthHighestBar(2,Asks/Bids,고[1,2]-저[2,2]+1)[저[1,2]-고[1,2]+n] ,NthHighestBar(3,Asks/Bids,고[1,2]-저[2,2]+1)[저[1,2]-고[1,2]+n] 와 ,NthHighestBar(1,Asks/Bids,Var13)[var14] ,NthHighestBar(2,Asks/Bids,Var13)[var14] ,NthHighestBar(3,Asks/Bids,Var13)[var14] 와 ,NthHighestBar(1,Asks/Bids,t1)[t2] ,NthHighestBar(2,Asks/Bids,t1)[t2] ,NthHighestBar(3,Asks/Bids,t1)[t2] 는 모두 같은 값이출력되어야하는데 16 17 15 로 출력되고 2 0 3 2 0 3 이렇게 출력됩니다. 매우이상합니다 이런식으로 되면 어떻게 수식을작성해야되는지막막합니다. 해당 구간에서는 ,NthHighestBar(1,Asks/Bids,고[1,2]-저[2,2]+1)[저[1,2]-고[1,2]+n], NthHighestBar(2,Asks/Bids,고[1,2]-저[2,2]+1)[저[1,2]-고[1,2]+n] ,NthHighestBar(3,Asks/Bids,고[1,2]-저[2,2]+1)[저[1,2]-고[1,2]+n] 결과값이 맞는걸로나오는데 이게 아니라 다른종목에서는 반대의 결과로 ,NthHighestBar(1,Asks/Bids,고[1,2]-저[2,2]+1)[저[1,2]-고[1,2]+n], NthHighestBar(2,Asks/Bids,고[1,2]-저[2,2]+1)[저[1,2]-고[1,2]+n] ,NthHighestBar(3,Asks/Bids,고[1,2]-저[2,2]+1)[저[1,2]-고[1,2]+n] 값이 틀리고 변수로 저장해서 한게 맞는케이스가 간혹나옵니다 디버깅하는데 한계가있는데 디버깅해주십시오 제가 잘못사용하는건지... 아님 프로그램에 버그가있는건지궁금합니다. 질문2 제룡전기 1분봉 1300봉 기준으로 해당지표를돌려보면 24년7월10일 9시9분에 결과값이 매우이상합니다. 0.0 1..7 1.#R 이렇게나오는데요 여기에는 이런 값이 나올수없을뿐더러 이렇게 1.#R로 계산이되는일은 없어야되는곳인데 이렇게 값이 완전다르거나 없는값으로 나오는경우도 많습니다. 확인 부탁드리빈다.
프로필 이미지
여유로운투자
2024-07-11
806
글번호 181372
지표

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

프로필 이미지
tjsdud
2024-07-10
0
글번호 181371
시스템
답변완료

안녕하세요, 수식을 문의드립니다

안녕하세요 예스스탁입니다. 어떤 구조로 변경을 요청하시는지 모르겠습니다. 답변드린 수식은 청산식이고 올려주신 내용은 진입식 내용인데 해당 식 아래에 붙여넣기 하고 사용하시면 됩니다. 즐거운 하루되세요 > 금보 님이 쓴 글입니다. > 제목 : 안녕하세요, 수식을 문의드립니다 > 안녕하세요, 수식을 문의드립니다 저의 문의에 대하여 주신 답변에 감사드리며 <<< RE 안녕하세요 예스스탁입니다. 문의하신 내용을 정확히 이해하지 못했습니다. 0.85 이상 수익이후에 최고가에서 0.25포인트 하락하면 청산하게 작성해 드립니다 if MarketPosition == 1 and highest(h,BarsSinceEntry) >= EntryPrice+0.85 Then ExitLong("bx",AtStop,highest(h,BarsSinceEntry)-0.25); if MarketPosition == -1 and lowest(l,BarsSinceEntry) <= EntryPrice-0.85 Then ExitShort("sx",AtStop,lowest(l,BarsSinceEntry)+0.25); >>> ((( 답변을 주신 수식을 C>= Value20 or C>= Value60 or C>= Value120 등등 몇가지 다른 수식과 같이 적용하려 하오니 ))) 아래의 수식에 적용할수 있도록 # 매수/매도청산 If if MarketPosition == 1 and highest(h,BarsSinceEntry) >= EntryPrice+0.85 Then ExitLong("bx",AtStop,highest(h,BarsSinceEntry)-0.25); or C>= Value20 or C>= Value60 or C>= Value120 Then { Buy(); } # 매도/매수청산 If if MarketPosition == -1 and lowest(l,BarsSinceEntry) <= EntryPrice-0.85 Then ExitShort("sx",AtStop,lowest(l,BarsSinceEntry)+0.25); or C<= Value20 or C<= Value60 or C<= Value120 Then { sell(); } 이러한 수식으로 만들어 주시기 바랍니다 감사합니다
프로필 이미지
금보
2024-07-10
779
글번호 181370
시스템

구름구름 님에 의해서 삭제되었습니다.

프로필 이미지
구름구름
2024-07-10
31
글번호 181369
종목검색
답변완료

문의

코스피 선물연결지수와 코스닥 선물연결지수의 날짜별 시가 고가 저가 종가 데이터를 엑셀로 매일 받아보고 싶습니다. 자동화 하고 싶은데 그게 안되면 수동으로 하는 방법이라도 부탁드려요
프로필 이미지
gunman
2024-07-10
510
글번호 181368
지표
답변완료

문의 드립니다

수고하십니다 1) AFMAX(value1) 으로 가변 되는지요 가능하다면 2) 소수점 아래 5자리수 아래로는 버렸으면 합니다 감사합니다 Input : AF(0.01), AFMAX(Value1); value1 = Data2(c) / Data3(c) ; Input : p(0); var : Diff(0), mav(0); Diff = (C); mav = ma(Diff,P); Var : Direction(0), SAR_Value(Diff), AF_Value(.02), HighValue(diff), LowValue(diff), EP(0),CSARV(0); if Diff == 0 Then Diff = Diff[1]; if EP != 0 Then { if Direction == 1 then { EP = HighValue; SAR_Value = SAR_Value + AF_Value * (EP - SAR_Value); if diff > HighValue then { HighValue = diff; AF_Value = AF_Value + AF; if AF_Value >= AFMAX then AF_Value = AFMAX; } if diff < SAR_Value then { Direction = -1; SAR_Value = EP; AF_Value = 0; EP = 0; LowValue = diff; } } else { EP = LowValue; SAR_Value = SAR_Value + AF_Value * (EP - SAR_Value); if diff < LowValue then { LowValue = diff; AF_Value = AF_Value + Af; if AF_Value >= AFMAX then AF_Value = AFMAX; } if diff > SAR_Value then { Direction = 1; SAR_Value = EP; AF_Value = 0; EP = 0; HighValue = diff; } } CSarv = SAR_Value; } else { if SAR_Value != 0 && EP == 0 then { if Direction == 1 then { EP = HighValue; AF_Value = AF; SAR_Value = SAR_Value + AF_Value * (EP - SAR_Value); if diff > HighValue then { HighValue = diff; AF_Value = AF_Value + AF; if AF_Value >= AFMAX then AF_Value = AFMAX; } } else { EP = LowValue; AF_Value = Af; SAR_Value = SAR_Value + AF_Value * (EP - SAR_Value); if diff < LowValue then { LowValue = diff; AF_Value = AF_Value + AF; if AF_Value >= AFMAX then AF_Value = AFMAX; } } CSarv = SAR_Value; } else { if Direction == 0 then { if diff > diff[1] then Direction = 1; else if diff < diff[1] then Direction = -1; } else { if Direction == 1 then { if diff < diff[1] then { Direction = -1; SAR_Value = HighValue; CSarv = SAR_Value; } } if Direction == -1 then { if diff > diff[1] then { Direction = 1; SAR_Value = LowValue; CSarv = SAR_Value; } } } LowValue = min(diff, LowValue); HighValue = max(diff, HighValue); } } if (diff > CSARV) Then Buy("매수"); if (diff < CSARV) Then ExitLong("청산");
프로필 이미지
dkfvkrh7
2024-07-11
739
글번호 181362
시스템
답변완료

함수요청

안녕하세요? 아래 전략에 대해 스크립트 작성 부탁드립니다. 국내선물 5분봉으로 일중거래를 하고자 합니다. 전영업일 종가 < 20ma < 당일 시가이고 당일의 첫봉의 MACD 오실레터가 양인데 음으로 반전하되 그 반전 시점까지 당일 스토케스틱 %K와 %D 교차가 3번이내였으면 완성시 익봉 시가에 매도 진입 20ma 이탈 완성하거나 MACD 오실레이터가 양전환되면 먼저 도래 되는 시점 익봉 시가에 매도청산 전영업일 종가 > 20ma > 당일 시가이고 당일의 첫봉의 MACD 오실레터가 음인데 양으로 반전하되 그 반전 시점까지 당일 스토케스틱 %K와 %D 교차가 3번이내였으면 완성시 익봉 시가에 매수 진입 20ma 돌파 완성하거나 MACD 오실레이터가 음전환되면 먼저 도래 되는 시점 익봉 시가에 매수청산 매수든 매도는 최대 하루 한번 진입하며 15시 20분 강제청산 하고자 합니다.
프로필 이미지
흰둥이아빠
2024-07-10
611
글번호 181354
시스템
답변완료

문의 드립니다

안녕하세요 볼밴상단을 상향돌파하거나 터치하고 다시 상단안으로 들어오면 매도신호 볼밴하단을 하향돌하거나 터치하고 다시 하단안으로 들어오면 매수신호 이평변수는 변환가능하게 부탁드립니다 감사합니다
프로필 이미지
만강
2024-07-10
617
글번호 181353
시스템