커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

수식변환 문의

항상 도움 주심에 감사드립니다^^ 아래 키움 수식을 변환 부탁드립니다 z=c>o and c>highest(c(1),10) and avg(c,5)>avg(c,5,1) and c>avg(c,5)and Crossup(C,avg(C, Period))
프로필 이미지
체리피커
2023-01-06
1488
글번호 165171
시스템
답변완료

지표/종목검색식 부탁드립니다

수고 많으십니다^^ 1.A= 종가가 전일종가보다 10% 이상 상승한경우 2.B = 50일만에 처음 오늘 A가 발생한경우 3.C = B의 경우가 오늘포함 지난 60일간 1번이상 발생한 종목 4. C 종목중에서 오늘 종가가 10%상승이 발생한 날의 고가를 뚫고 상승한종목 작성을 하다보니 3번에서 4번으로 넘어가는것이 잘 안돼서 문의 드립니다. 예) IF COUNTIF(C>C[1]*0.1 , 50)==1 AND COUNTIF(C>C[1]*0.1 , 1)==1 THEN 이것은 A가 60일중 오늘 발생한것인데 이걸 B라고 하면 IF COUNTIF(B , 60)==1 AND COUNTIF(B , 1)==1 이렇게 되는데 궁금한것이 이중에서 A발생 기준일 고가를 오늘 종가가 돌파하는걸 표시하는게 궁금합니다. 지표와 종목검색식 부탁드립니다. 감사합니다.
프로필 이미지
qaz74
2023-01-06
1460
글번호 165170
지표
답변완료

수식 재문의

친절한 답변 감사드립니다. 아래에 도움 주신 수식 중 누적값을 약간 수정하여 ㄱ. 시작 날짜와 시간을 지정하고 ㄴ. ㄱ 으로 부터 현재까지의 값을 누적하도록 변경하고 싶습니다. 감사합니다. ------ 아래 --------- Input : Period(20); Var : P1(0), P2(0), P3(0); P1 = OI * C; P2 = (AccumN(M,Period) / AccumN(V,Period)) * OI; P3 = P1 / P2; //Plot1(P1); //Plot2(P2); Plot3(P3*100); .
프로필 이미지
부똘이
2023-01-06
1117
글번호 165169
지표
답변완료

수식추가

Inputs : Period(20), Sence(1.5), CC_DN(Yellow); Input : BBP1(20), dv1(2); input : BBP2(20),dv2(2),P2(10); var : BBdown(0,Data1),BBUp(0,Data1),BandB(0,Data1); var : bbup2(0,Data2),bbdn2(0,Data2),mav2(0,Data2),B(0,Data1),S(0,Data1),X(0,Data1); Vars: VLineUp(0,Data1), VLineDn(0,Data1), HHighest(0,Data1), LLowest(0,Data1), JustChanged(FALSE,Data1), VLine(0,Data1), DBN(0,Data1); var : ci(0,Data1),t(0,Data1),v1(0,Data1),v2(0,Data1),v3(0,Data1),v5(0,Data1),v6(0,Data1); Array: Highs[35](0,Data1), Lows[35](0,Data1), RRange[35](0,Data1), UpWave[1](FALSE,Data1), DnWave[1](FALSE,Data1); If data1(STime == 180000) Then DBN = 0; DBN = DBN + 1; v1 = Period; v2 = v1 - 1; v3 = v1 - 2; v5 = Sence; v6 = data1(H-L); JustChanged = FALSE; if Data1(Index) >= Period Then ci = ci+1; if ci <= v2 then begin Highs[ci] = Close; Lows[ci] = Close; RRange[ci] = (H-L) /2; end; if ci == v1 then begin if Highs[v2] >= Highs[v3] then begin UpWave[1] = TRUE; HHighest = Highs[v2]; VLineUp = HHighest - (v5 * data1(MA(v6,v2))); end; if Highs[v2] < Highs[v3] then begin DnWave[1] = TRUE; LLowest = Lows[v2]; VLineDn = LLowest + (v5 * data1(MA(v6,v2))); end; end; if CurrentBar > v1 then begin if DnWave[1] and Close > VLineDn then begin DnWave[1] = FALSE; UpWave[1] = TRUE; JustChanged = TRUE; HHighest = Close; LLowest = 0; end; if UpWave[1] and Close < VLineUp and JustChanged == FALSE then begin UpWave[1] = FALSE; DnWave[1] = TRUE; JustChanged = TRUE; LLowest = Close; HHighest = 0; end; if JustChanged == FALSE then begin if Close > HHighest then HHighest = Close; else if Close < LLowest then LLowest = Close; end; VLineUp = HHighest - (v5 * data1(MA(v6,v2))); VLineDn = LLowest + (v5 * data1(MA(v6,v2))); if UpWave[1] then t = 1; else if DnWave[1] then t= -1; end; BBDown = data1(BollBandDown(BBP1,Dv1)); BBUp = data1(BollBandUp(BBP1,Dv1)); BandB = Data1(((C-BBDown)/(BBUp-BBDown))*100); bbup2 = Data2(BollBandUp(BBP2,dv2)); bbdn2 = Data2(BollBandUp(BBP2,dv2)); mav2 = Data2(ma(C,P2)); if t == 1 and crossup(BandB,0) and bbup2-bbdn2 <= PriceScale*100 and Data2(C>O) and Data2(C>mav2) Then Buy("b"); if t == -1 and crossdown(BandB,0) and bbup2-bbdn2 <= PriceScale*100 and Data2(C<O) and Data2(C<mav2) Then Sell("s"); if MarketPosition == 1 Then { if Data2(C<O and mav2 < mav2[1]) Then ExitLong("bx1"); if Data2(C>=BBup2) Then ExitLong("bx2"); if Data2(CrossUp(c,bbup2)) Then B = 1; if B == 1 and data2(C < O) Then { B = 2; X = data2(L); } if B == 2 and data2(C < X) Then { B = 0; ExitLong("bx3"); } } Else B = 0; if MarketPosition == -1 Then { if Data2(C>O and mav2 > mav2[1]) Then ExitShort("sx1"); if Data2(C<=BBdn2) Then ExitShort("sx2"); if Data2(CrossDown(c,bbdn2)) Then S = 1; if S == 1 and data2(C > O) Then { S = 2; X = data2(H); } if S == 2 and data2(C > X) Then { S = 0; ExitShort("sx3"); } } Else S = 0; 안녕하세요 위식에서 청산조건 변경부탁 드려요 볼밴터치돌파 삭제 음봉발생후연속음봉 발생후 전봉의저점돌파시 매매수청산 매도청산 양봉발생후다음봉도 양봉시 전봉의고점돌파시 청산
프로필 이미지
아트정
2023-01-06
1175
글번호 165164
시스템
답변완료

macd 문의 드립니다.

안녕하세요 아래 식을 3분봉에서 적용하려고 합니다. 1. macd 값이 상승으로 전환하면 매수, 하락으로 바뀌면 매도로 스위칭 2. 익절 160틱 손절 80틱 3. 매수 후 스위칭 되지 않고 익절이 되면 최초로 발생하는 3분봉 5이평선 이하에서 재매수 4. 매수 후 손절이 되면 macd라인이 상방이면 바로 다음 3분봉 시초가에 재매수 5. 매도 후 스위칭 되지 않고 익절이 되면 최초로 발생하는 3분봉 5이평선 이상에서 재매도 6. 매도 후 손절이 되면 macd라인이 하방이면 바로 다음 3분봉 시초가에 재매도 7. 거래 개시 09시 거래 종료 익일 05시30분 8. 최초 진입은 수동으로 거래 시작. 아래 식에 어떻게 추가 하면 되는지 문의 드립니다. input : StartTime(090000),EndTime(053000); input : 익절틱수(160),손절틱수(80); input : shortPeriod(12), longPeriod(26); Var : value(0); value = MACD(shortPeriod, longPeriod); if value > value[1] Then buy(); Else sell(); 감사합니다
프로필 이미지
동백초보
2023-01-06
1659
글번호 165163
시스템
답변완료

수식부탁합니다

input:length(6); Var:j(0),jj(0),HH(0),LL(0),최종고가(0),최종저가(0),최종꼭지점(""),처리구분(""), TL1(0),Text1(0),TL2(0),TL3(0),TL4(0),TL5(0),TL12(0),TL13(0),TL14(0),TL15(0),T(0),고점변곡(""),저점변곡(""); var : clr1(0),clr2(0),BE(0),SE(0); Array:고[10,4](0),저[10,4](0); // 1:가격,2:Index,3:sDate,4:sTime #==========================================# HH = IFF(0==1,data2(C),data2(H)); LL = IFF(0==1,data2(C),data2(L)); If data2(Index) == 0 Then { 고[1,1] = HH; 저[1,1] = LL; } Condition1 = data2(Highest(HH,length)) == HH and 최종고가 <> HH; Condition2 = data2(Lowest (LL,length)) == LL and 최종저가 <> LL; 처리구분 = ""; If Condition1 and Condition2 Then // 기간고점과 기간저점 동시 발생 { If 최종꼭지점 == "저점" Then { If 저[1,1] > LL Then 처리구분 = "저점처리"; Else 처리구분 = "고점처리"; } Else If 최종꼭지점 == "고점" Then { If 고[1,1] < HH Then 처리구분 = "고점처리"; Else 처리구분 = "저점처리"; } } Else If Condition1 Then 처리구분 = "고점처리"; Else If Condition2 Then 처리구분 = "저점처리"; #==========================================# If 처리구분 == "고점처리" Then { T = 1; 최종고가 = HH; // 신규고점을 체크하기 위해 저장 If 최종꼭지점 == "저점" Then { For j = 10 DownTo 2 { For jj = 1 To 4 { 고[j,jj] = 고[j-1,jj]; } } 고[1,1] = HH; 고[1,2] = data2(Index); 고[1,3] = data2(sDate); 고[1,4] = data2(sTime); TL1 = TL_New(저[1,3],저[1,4],저[1,1],고[1,3],고[1,4],고[1,1]); If 1 == 1 Then { Text1 = Text_New(고[1,3],고[1,4],고[1,1],NumToStr(고[1,1],2)); Text_SetStyle(Text1, 0, 1); Text_SetColor(Text1,Red); } TL_SetSize(TL1,1); TL_SetColor(TL1,Gray); } Else If 고[1,1] < HH Then // 1번 고점보다 높은 고가 출현 { 고[1,1] = HH; 고[1,2] = data2(Index); 고[1,3] = data2(sDate); 고[1,4] = data2(sTime); TL_SetEnd(TL1,고[1,3],고[1,4],고[1,1]); // 시작점은 변동없고 끝점의 위치가 현재 봉으로 연장된 것임 If 1 == 1 Then { Text_SetLocation(Text1,고[1,3],고[1,4],고[1,1]); Text_SetString(Text1,NumToStr(고[1,1],2)); } } 최종꼭지점 = "고점"; } #==========================================# If 처리구분 == "저점처리" Then { T = -1; 최종저가 = LL; If 최종꼭지점 == "고점" then { For j = 10 DownTo 2 { For jj = 1 To 4 { 저[j,jj] = 저[j-1,jj]; } } 저[1,1] = LL; 저[1,2] = data2(Index); 저[1,3] = data2(sDate); 저[1,4] = data2(sTime); TL1 = TL_New(고[1,3],고[1,4],고[1,1],저[1,3],저[1,4],저[1,1]); If 1 == 1 Then { Text1 = Text_New(저[1,3],저[1,4],저[1,1],NumToStr(저[1,1],2)); Text_SetStyle(Text1, 0, -1); Text_SetColor(Text1,Blue); } TL_SetSize(TL1,1); TL_SetColor(TL1,Gray); } Else If 저[1,1] > LL then { 저[1,1] = LL; 저[1,2] = data2(Index); 저[1,3] = data2(sDate); 저[1,4] = data2(sTime); TL_SetEnd(TL1,저[1,3],저[1,4],저[1,1]); If 1 == 1 Then { Text_SetLocation(Text1,저[1,3],저[1,4],저[1,1]); Text_SetString(Text1,NumToStr(저[1,1],2)); } } 최종꼭지점 = "저점"; } if T == -1 and T[1] != -1 Then { TL12 = TL_New(고[2,3],고[2,4],고[2,1],data2(sdate),data2(stime),고[2,1]); TL_Delete(TL13); TL13 = TL_New(고[1,3],고[1,4],고[1,1],data2(Sdate),data2(Stime),고[1,1]); TL_SetExtRight(TL13,true); TL_SetSize(TL13,2); TL_SetColor(TL12,clr1); TL_SetSize(TL12,2); clr1 = Pink; TL_SetColor(TL13,Pink); } if T == 1 and T[1] != 1 Then { TL14= TL_New(저[2,3],저[2,4],저[2,1],data2(sdate),data2(stime),저[2,1]); TL_Delete(TL15); TL15= TL_New(저[1,3],저[1,4],저[1,1],data2(sdate),data2(stime),저[1,1]); TL_SetExtRight(TL15,true); TL_SetColor(TL14,clr2); TL_SetSize(TL14,2); clr2 = LightBlue; TL_SetColor(TL15,clr2); TL_SetSize(TL15,2); } #================================================================# VAR:mav5(0),mav10(0),mav20(0),mav40(0),mav60(0),mav120(0),aa(0); mav5=ma(c,5); mav10=ma(c,10); mav20=ma(c,20); mav40=ma(c,40); mav60=ma(c,60); mav120=ma(c,120); condition1=CountIf(mav10<mav20,20) >= 10 and 저[1,1] <mav20[Index-저[1,2]] and 고[1,1]>mav20[Index-고[1,2]]; 박스처리 감사합니다 수식을 쬐끔 바꿔보겠습니다 1.if CountIf(mav10<mav20,20) >= 10 and 저[1,1] <mav20[Index-저[1,2]] and mav20 위에서 고[1,1]이 확정된다면.. 이런 수식이었으면 했는데 condition1 은 고점이 확정되기 전에 완성되는 경우가 있습 니다 논리의 충돌로 안되는 건가요? 2. CountIf(mav10<mav20,20) >= 조건 and 조건이 10을 만족한후 정배열이 되면 정배열된갯수(x)만큼 조건에서 차감(조건=10-x) 이후 다시 역배열이 되면 조건은 다시 10 으로 한다 이러면 가능할지.. 감사합니다~
프로필 이미지
하늘거지
2023-01-06
1008
글번호 165162
지표
답변완료

원격 접속 부탁드립니다 010-2116-8510

data2 에 plot 을 이용한 지표를 그리고 싶습니다.
프로필 이미지
목포댁
2023-01-06
588
글번호 165161
시스템
답변완료

stop loss 코드

수고 많으십니다. stop loss 코드 문의 드립니다. 매수 stop loss 조건: - 현재 봉의 종가가 진입 시점부터 과거 5봉 중의 최저점을 하회 할 경우 매도 stop loss - 현재 봉의 종가가 진입 시점부터 과거 5봉 중의 최고점을 상화 할 경우 감사합니다.
프로필 이미지
구천룡
2023-01-06
890
글번호 165157
시스템
답변완료

문의 드립니다.

안녕하세요 설명을 글로 하기 어려워 통화와 원격 부탁드립니다.
프로필 이미지
라몬
2023-01-06
831
글번호 165156
지표
답변완료

문의드립니다

안녕하세요? 아래수식은 margenta 색상만 표현되는데 첨부사진에 그려본것처럼 cyan 색상도 더러 표현되는 수식이 가능하다면 구합니다 감사합니다 input:length(6); Var:j(0),jj(0),HH(0),LL(0),최종고가(0),최종저가(0),최종꼭지점(""),처리구분(""), TL1(0),Text1(0),TL2(0),TL3(0),TL4(0),TL5(0),TL12(0),TL13(0),TL14(0),TL15(0),T(0),고점변곡(""),저점변곡(""); var : clr1(0),clr2(0),BE(0),SE(0); Array:고[10,4](0),저[10,4](0); // 1:가격,2:Index,3:sDate,4:sTime #==========================================# HH = IFF(0==1,data2(C),data2(H)); LL = IFF(0==1,data2(C),data2(L)); If data2(Index) == 0 Then { 고[1,1] = HH; 저[1,1] = LL; } Condition1 = data2(Highest(HH,length)) == HH and 최종고가 <> HH; Condition2 = data2(Lowest (LL,length)) == LL and 최종저가 <> LL; 처리구분 = ""; If Condition1 and Condition2 Then // 기간고점과 기간저점 동시 발생 { If 최종꼭지점 == "저점" Then { If 저[1,1] > LL Then 처리구분 = "저점처리"; Else 처리구분 = "고점처리"; } Else If 최종꼭지점 == "고점" Then { If 고[1,1] < HH Then 처리구분 = "고점처리"; Else 처리구분 = "저점처리"; } } Else If Condition1 Then 처리구분 = "고점처리"; Else If Condition2 Then 처리구분 = "저점처리"; #==========================================# If 처리구분 == "고점처리" Then { T = 1; 최종고가 = HH; // 신규고점을 체크하기 위해 저장 If 최종꼭지점 == "저점" Then { For j = 10 DownTo 2 { For jj = 1 To 4 { 고[j,jj] = 고[j-1,jj]; } } 고[1,1] = HH; 고[1,2] = data2(Index); 고[1,3] = data2(sDate); 고[1,4] = data2(sTime); TL1 = TL_New(저[1,3],저[1,4],저[1,1],고[1,3],고[1,4],고[1,1]); If 1 == 1 Then { Text1 = Text_New(고[1,3],고[1,4],고[1,1],NumToStr(고[1,1],2)); Text_SetStyle(Text1, 0, 1); Text_SetColor(Text1,Red); } TL_SetSize(TL1,1); TL_SetColor(TL1,Gray); } Else If 고[1,1] < HH Then // 1번 고점보다 높은 고가 출현 { 고[1,1] = HH; 고[1,2] = data2(Index); 고[1,3] = data2(sDate); 고[1,4] = data2(sTime); TL_SetEnd(TL1,고[1,3],고[1,4],고[1,1]); // 시작점은 변동없고 끝점의 위치가 현재 봉으로 연장된 것임 If 1 == 1 Then { Text_SetLocation(Text1,고[1,3],고[1,4],고[1,1]); Text_SetString(Text1,NumToStr(고[1,1],2)); } } 최종꼭지점 = "고점"; } #==========================================# If 처리구분 == "저점처리" Then { T = -1; 최종저가 = LL; If 최종꼭지점 == "고점" then { For j = 10 DownTo 2 { For jj = 1 To 4 { 저[j,jj] = 저[j-1,jj]; } } 저[1,1] = LL; 저[1,2] = data2(Index); 저[1,3] = data2(sDate); 저[1,4] = data2(sTime); TL1 = TL_New(고[1,3],고[1,4],고[1,1],저[1,3],저[1,4],저[1,1]); If 1 == 1 Then { Text1 = Text_New(저[1,3],저[1,4],저[1,1],NumToStr(저[1,1],2)); Text_SetStyle(Text1, 0, -1); Text_SetColor(Text1,Blue); } TL_SetSize(TL1,1); TL_SetColor(TL1,Gray); } Else If 저[1,1] > LL then { 저[1,1] = LL; 저[1,2] = data2(Index); 저[1,3] = data2(sDate); 저[1,4] = data2(sTime); TL_SetEnd(TL1,저[1,3],저[1,4],저[1,1]); If 1 == 1 Then { Text_SetLocation(Text1,저[1,3],저[1,4],저[1,1]); Text_SetString(Text1,NumToStr(저[1,1],2)); } } 최종꼭지점 = "저점"; } if T == -1 and T[1] != -1 Then { TL12 = TL_New(고[2,3],고[2,4],고[2,1],data2(sdate),data2(stime),고[2,1]); TL_Delete(TL13); TL13 = TL_New(고[1,3],고[1,4],고[1,1],data2(Sdate),data2(Stime),고[1,1]); TL_SetExtRight(TL13,true); TL_SetSize(TL13,2); TL_SetColor(TL12,clr1); TL_SetSize(TL12,2); clr1 = Pink; TL_SetColor(TL13,Pink); } if T == 1 and T[1] != 1 Then { TL14= TL_New(저[2,3],저[2,4],저[2,1],data2(sdate),data2(stime),저[2,1]); TL_Delete(TL15); TL15= TL_New(저[1,3],저[1,4],저[1,1],data2(sdate),data2(stime),저[1,1]); TL_SetExtRight(TL15,true); TL_SetColor(TL14,clr2); TL_SetSize(TL14,2); clr2 = LightBlue; TL_SetColor(TL15,clr2); TL_SetSize(TL15,2); } #================================================================# VAR:mav5(0),mav10(0),mav20(0),mav40(0),mav60(0),mav120(0),aa(0); mav5=ma(c,5); mav10=ma(c,10); mav20=ma(c,20); mav40=ma(c,40); mav60=ma(c,60); mav120=ma(c,120); condition11=CountIf(mav10<mav20,20) >= 10 and t==1 and 저[1,1] <mav20[Index-저[1,2]] and 고[1,1]>mav20[Index-고[1,2]]; var:box1(0); if t == 1 Then { if t != t[1] Then Condition12 = false; if condition11 == true and Condition12 == False Then { Condition12 = true; Box1 = Box_New(저[1,3],저[1,4],저[1,1],고[1,3],고[1,4],고[1,1]); Box_Setcolor(box1,MAGENTA); Box_Setfill(box1,true,100,true); } if Condition12 == true Then Box_SetEnd(box1,고[1,3],고[1,4],고[1,1]); }
프로필 이미지
새벽에
2023-01-06
888
글번호 165154
지표