커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

문의 드립니다.

안녕하세요. 저번에 도와주셔서 감사드립니다. 아래 수식에 시간만 나오게 해주셨는데 시간에 시분초 나오게 되어있는데 너무 햇갈려서 이것을 시:분:초 이렇게 수정할 수 있을까요? 또 고가에서 저가까지 몇틱이고 저가에서 고가까지 몇틱인지 표시 나오게 해줄 수 없을까요? 그러니까 고가에서 저가까지 시간 나오고 그 시간 아래에 +몇틱인지 표시 나왔으면 좋겠습니다. 또 저가에서 고가까지 시간 나오고 그 시간 위에 +몇틱인지 표시 나오게 하고 싶습니다. 감사합니다. 주말 잘 보내세요~~!! input:length(4),종가사용여부(0),파동선두께(5),수치표시(1),수평선표시(1); Var:j(0),jj(0),HH(0),LL(0),최종고가(0),최종저가(0),최종꼭지점(""),처리구분(""), TL1(0),Text1(0),tl2(0),tl3(0),tl4(0),tl5(0),T(0); Array:고[10,4](0),저[10,4](0); // 1:가격,2:Index,3:sDate,4:sTime #==========================================# HH = IFF(종가사용여부==1,C,H); LL = IFF(종가사용여부==1,C,L); If Index == 0 Then { 고[1,1] = HH; 저[1,1] = LL; } Condition1 = Highest(HH,length) == HH and 최종고가 <> HH; Condition2 = 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] = Index; 고[1,3] = sDate; 고[1,4] = sTime; TL1 = TL_New(저[1,3],저[1,4],저[1,1],고[1,3],고[1,4],고[1,1]); If 수치표시 == 1 Then { Text1 = Text_New(고[1,3],고[1,4],고[1,1],NumToStr(고[1,4],0)); Text_SetStyle(Text1, 2, 1); Text_SetColor(Text1,BLACK); } TL_SetSize(TL1,파동선두께); TL_SetColor(TL1,red); } Else If 고[1,1] < HH Then // 1번 고점보다 높은 고가 출현 { 고[1,1] = HH; 고[1,2] = Index; 고[1,3] = sDate; 고[1,4] = sTime; TL_SetEnd(TL1,고[1,3],고[1,4],고[1,1]); // 시작점은 변동없고 끝점의 위치가 현재 봉으로 연장된 것임 If 수치표시 == 1 Then { Text_SetLocation(Text1,고[1,3],고[1,4],고[1,1]); Text_SetString(Text1,NumToStr(고[1,4],0)); } } 최종꼭지점 = "고점"; } #==========================================# 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] = Index; 저[1,3] = sDate; 저[1,4] = sTime; TL1 = TL_New(고[1,3],고[1,4],고[1,1],저[1,3],저[1,4],저[1,1]); If 수치표시 == 1 Then { Text1 = Text_New(저[1,3],저[1,4],저[1,1],NumToStr(저[1,4],0)); Text_SetStyle(Text1, 2, 0); Text_SetColor(Text1,BLACK); } TL_SetSize(TL1,파동선두께); TL_SetColor(TL1,blue); } Else If 저[1,1] > LL then { 저[1,1] = LL; 저[1,2] = Index; 저[1,3] = sDate; 저[1,4] = sTime; TL_SetEnd(TL1,저[1,3],저[1,4],저[1,1]); If 수치표시 == 1 Then { Text_SetLocation(Text1,저[1,3],저[1,4],저[1,1]); Text_SetString(Text1,NumToStr(저[1,4],0)); } } 최종꼭지점 = "저점"; } if T == -1 and T[1] != -1 Then { if 수평선표시 == 1 Then { TL2 = TL_New(고[2,3],고[2,4],고[2,1],sdate,stime,고[2,1]); TL_Delete(TL3); TL3 = TL_New(고[1,3],고[1,4],고[1,1],sdate,stime,고[1,1]); TL_SetExtRight(TL3,true); } TL_SetSize(TL1,파동선두께); TL_SetColor(TL1,BLUE); TL_SetSize(TL1,파동선두께); TL_SetColor(TL1,BLUE); } if T == 1 and T[1] != 1 Then { if 수평선표시 == 1 Then { TL4= TL_New(저[2,3],저[2,4],저[2,1],sdate,stime,저[2,1]); TL_Delete(TL5); TL5= TL_New(저[1,3],저[1,4],저[1,1],sdate,stime,저[1,1]); TL_SetExtRight(TL5,true); } TL_SetSize(TL1,파동선두께); TL_SetColor(TL1,RED); TL_SetSize(TL1,파동선두께); TL_SetColor(TL1,RED); }
프로필 이미지
스오어스
2022-05-13
1576
글번호 158817
지표
답변완료

수식문의드립니다

안녕하세요~ 아래 수식 array, for 활용해 줄이려고 해봤는데 한것이 맞는지 확인 및 모르는 부분 답변 부탁드리겠습니다! input : IB(1.5), OB(1.5), ML(12), L01(12163), L02(12139), L03(12115), L04(12091), L05(12067), L06(12043), L07(12019), L08(11995), L09(11973), L10(11949); var : Bsystem(true), Ssystem(true); if MarketPosition == 0 && condition11 == true && L <= L01 && C > L01-OB && C < L01+IB Then buy("b01"); if MarketPosition == 0 && condition12 == true && L <= L02 && C > L02-OB && C < L02+IB Then buy("b02"); if MarketPosition == 0 && condition13 == true && L <= L03 && C > L03-OB && C < L03+IB Then buy("b03"); if MarketPosition == 0 && condition14 == true && L <= L04 && C > L04-OB && C < L04+IB Then buy("b04"); if MarketPosition == 0 && condition15 == true && L <= L05 && C > L05-OB && C < L05+IB Then buy("b05"); if MarketPosition == 0 && condition16 == true && L <= L06 && C > L06-OB && C < L06+IB Then buy("b06"); if MarketPosition == 0 && condition17 == true && L <= L07 && C > L07-OB && C < L07+IB Then buy("b07"); if MarketPosition == 0 && condition18 == true && L <= L08 && C > L08-OB && C < L08+IB Then buy("b08"); if MarketPosition == 0 && condition19 == true && L <= L09 && C > L09-OB && C < L09+IB Then buy("b09"); if MarketPosition == 0 && condition10 == true && L <= L10 && C > L10-OB && C < L10+IB Then buy("b10"); 1. input의 L1, L2, L3, ... 자동계산 (등간격, array 활용) var : i(0); array : LL[9](0); LL[5] = 12067; For i = 0 to 5 {LL[4-i] = LL[5-i] + 2*ML;} For i = 5 to 9 {LL[i+1] = LL[i] - 2*ML;} => 중앙값 LL[5] 입력시, 위아래 등간격으로 자동 계산 => 맞는지 확인 부탁드립니다 2. condition11, condition12, condition13, ... 한번에 처리 array : BC[9](False); => 이렇게 array 설정해 false 입력하면 실행문의 condition과 동일하게 처리되는지 확인 부탁드립니다 3. 실행문 반복문 처리 위에 1, 2가 맞다는 전제하에 var : i(0); array : LL[9](0), BC[9](False); LL[5] = 12067; For i = 0 to 5 {LL[4-i] = LL[5-i] + 2*ML;} For i = 5 to 9 {LL[i+1] = LL[i] - 2*ML;} for i = 0 to 9 { if marketposition == 0 && BC[i] == true && L <= L[i] && C > L[i]-OB && C < L[i]+IB then buy("b{i}"); } => 상단의 실행문을 이렇게 반복문으로 바꾸는게 맞는지 확인 부탁드립니다 => buy("b{i}") 이 부분은 문자열인 "b01", "b02", "b03", ... 을 i로 어떻게 처리하는지 몰라 일단 저렇게 표시해놨는데, 이 부분도 숫자가 똑같이 증가하도록 가르쳐주시면 감사하겠습니다 감사합니다
프로필 이미지
jshwang2
2022-05-12
1376
글번호 158816
시스템
답변완료

문의 드립니다.

바쁘신 업무에 수고가 많으십니다. 항상 친절히 가르쳐 주셔셔 감사 드려요 ^^ 하기 요청내용 업무협조 부탁 드립니다. == 아 래 == A. 일목 전환선이 기준선을 상향 돌파 B. 일목 전환선이 엔벨로프 상단 저항선 돌파 C 1봉전 종가대비 0봉전 시가득락율 3% 이하 D 1봉전 종가대비 0봉전 종가득락율 3% 이상 ※ A and B and C and D => 이런 기준으로 검색식 부탁 드립니다. - 이 상 -
프로필 이미지
옥스
2022-05-12
1295
글번호 158815
종목검색
답변완료

수식 변환 문의

수고하십니다. 아래 식을 yes language로 변환 가능한지요? 수고하세요... ##s.cript는 쓰기금지 단어라고 해서 s 다음에 점을 추가했으니 제외해 주세요## 혹시 몰라서 엑셀 파일로도 첨부 합니다 ########### input SFactor = 3.618; #SuperTrend Factor input SPd = 5; #SuperTrend Length input lenColoured = 18; input lenSlow = 89; #Slow MA Length input hideSuperTrend = yes; def na = Double.Nan; s.cript nz { ##s.cript는 쓰기금지 단어라고 해서 s 다음에 점을 추가했으니 제외해 주세요## input data = 0; input data2 = -1; def ret_val = if IsNaN(data) then if data2 == -1 then 0 else data2 else data; plot nz = ret_val; } def src = close; def len = lenColoured; plot ma_coloured = wma(2 * wma(src, len / 2) - wma(src, len), round(sqrt(len))) ; # Hull WMA = (2*WMA (n/2) ? WMA (n)), sqrt (n)) ma_coloured.setHiding(hideSuperTrend); plot ma_slow = Expaverage(src,lenslow); def clrdirection = if ma_coloured > ma_coloured[3] then 1 else if ma_coloured < ma_coloured[3] then -1 else nz(clrdirection[1],1); # Supertrend Calculations def SUp=hl2-(SFactor*atr(SPd)); def SDn=hl2+(SFactor*atr(SPd)); def STrendUp = if close[1] > nz(STrendUp[1],0) then max(SUp,nz(STrendUp[1],0)) else SUp; def STrendDown = if close[1] < nz(STrendDown[1],0) then min(SDn,nz(STrendDown[1],0)) else SDn; def STrend = if close > nz(STrendDown[1],0) then 1 else if close< nz(STrendUp[1],0) then -1 else nz(STrend[1],1); def stbuy = if clrdirection == 1 and STrend==1 then nz(stbuy[1])+1 else 0; def stsell = if clrdirection ==-1 and STrend==-1 then nz(stsell[1])+1 else 0; plot long = If stbuy == 1 then Yes else no ; long.hide(); plot short = if stSell == 1 then yes else no ; short.hide(); plot LongLineMarker = if long then low else na; LongLineMarker.SetPaintingStrategy(PaintingStrategy.ARROW_UP); LongLineMarker.SetDefaultColor(Color.Green); plot ShortLineMarker = if short then High else na; ShortLineMarker.SetPaintingStrategy(PaintingStrategy.ARROW_DOWN); ShortLineMarker.SetDefaultColor(Color.Red);
프로필 이미지
오이도인
2022-05-15
1452
글번호 158814
지표
답변완료

질문입니다

input : P1(5),P2(10),P3(20),P4(60),P5(120); var : T(0),Xcond1(False),Xcond2(False),Xcond3(False),Xcond4(False),Xcond5(False); var1 = WMa(C,P1); var2 = WMa(C,P2); var3 = WMa(C,P3); var4 = WMa(C,P4); var5 = WMa(C,P5); Condition1 = var1 > Var2 and Var2 > Var3; Condition2 = var1 < Var2 and Var2 < Var3; if Condition1 == true Then T = 1; if Condition2 == true Then T = -1; if Condition1 == true and Var3 > Var4 and Var3 > Var5 Then Buy(); if MarketPosition == 1 Then { if T != T[1] and T == 1 Then ExitLong(); if CurrentContracts > CurrentContracts[1] then { xcond1 = False; xcond2 = False; xcond3 = False; xcond4 = False; xcond5 = False; } if CurrentContracts < CurrentContracts[1] Then { if LatestExitName(0) == "bx1" Then Xcond1 = true; if LatestExitName(0) == "bx2" Then Xcond2 = true; if LatestExitName(0) == "bx3" Then Xcond3 = true; if LatestExitName(0) == "bx4" Then Xcond4 = true; if LatestExitName(0) == "bx5" Then Xcond5 = true; } if Xcond1 == False Then ExitLong("bx1",AtStop,EntryPrice*0.99,"",1,1); if Xcond2 == False Then ExitLong("bx2",AtStop,EntryPrice*0.98,"",1,1); if Xcond3 == False Then ExitLong("bx3",AtStop,EntryPrice*0.97,"",1,1); if Xcond4 == False and CrossDown(c,Var4) Then ExitLong("bx4",OnClose,DEf,"",1,1); if Xcond5 == False and CrossDown(c,Var5) Then ExitLong("bx5",OnClose,DEf,"",1,1); } Else { xcond1 = False; xcond2 = False; xcond3 = False; xcond4 = False; xcond5 = False; } 추가해야 할게 있는데 , 1번 : 진입신호때 천만원 자동진입! 2번 : 이 식에서 분할청산 추가해주세요! 1) 1퍼일때 전체물량20퍼 청산 2) 2퍼일때 전체물량20퍼 청산 3) 3퍼일때 전체물량20퍼 청산 4) 위로 가다가 var1,var2 역배열되서 꺾일때 전체물량20퍼 청산 5) 위로 가다가 var2,var3 역배열되서 꺾일때 전체물량20퍼 청산 3번 4,5번 위에서 1,2,3다시 정배열이면 분할청산 중 조건에 뜨지 않아 정리되지 않았었던 기존물량 모두 다 정리하고, 자동 재진입 4번 : 손절일때도 분할추가요 1) 1퍼일때 전체물량20퍼 손절 2) 2퍼일때 전체물량20퍼 손절 3) 3퍼일때 전체물량20퍼 손절 4) 위로 못가고 var1,var2 역배열일때 전체물량20퍼 손절 5) 위로 못가고 var2,var3 역배열일때 전체물량20퍼 손절 늘 감사드립니다
프로필 이미지
조하트
2022-05-12
1409
글번호 158813
시스템
답변완료

신호수식 부탁드립니다

문의한 답변 빠르게 주셔서 너무너무 감사드립니다///적용하기엔 신호가 너무 안나와서요 다른 질문 드립니다 볼린저밴드(60.2) 상단에 음봉캔들 발생시 매도신호 볼린저밴드(60.2) 하단에 양봉캔들 발생시 매수신호 나올 수 있게 부탁드립니다 아직 초보라 응용이 안돼서요 ...꾸벅
프로필 이미지
하늘의거울
2022-05-12
1252
글번호 158804
시스템
답변완료

문의드립니다

var: tx1(0), tx2(0); if stime > 090000 and stime < 153000 Then{ var1 = c[1]+1; Var2 = c[1]-1; } Plot1(var1, "+1"); Plot2(var2, "-1"); ------------------------------ 위식에서 라인 아래에 텍스트(글씨 표시)로 표시되게 부탁드려요 색상은 블루색상 글씨로 부탁합니다 감사합니다
프로필 이미지
러블리
2022-05-12
1340
글번호 158803
지표
답변완료

문의드립니다.

다름이아니라 5이평 < 20이평이면서 N%이상 하락한 음봉이 출현한뒤 M봉이내에서 5이평 > 20이평이면서 N%이상 상승한 양봉이 나올때 매수, 그반대로는 매도인 시스템식을 만들고 싶습니다. 그리고 트레이딩 스탑관련 문의도 하나 더 드립니다. 위의 수식으로 2계약을 동시에 매수한 이후 20틱 수익 달성후 10틱 하락하면 1개 청산, 40틱 수익 달성후에는 20틱 하락하면 나머지 1개도, 그반대도 마찬가지인 청산식을 만들고 싶습니다. 이때 5이평과 20이평 데드(골드)가 되면 보유계약수에 관계없이 바로 청산하고 싶습니다. 수년동안 도움주셔서 늘 감사드립니다.
프로필 이미지
카르마다
2022-05-12
1281
글번호 158799
시스템
답변완료

수식문의

60분상의 50이동평균선을 5분봉에 가져와서 볼 수 있도록 지표수식 부탁합니다. 또한 60분봉상의 price channel를 5분봉에 가져와서 볼 수 있도록 수식 부탁드립니다.
프로필 이미지
kalpa
2022-05-12
1381
글번호 158796
지표
답변완료

문의 드립니다.

항상 감사드립니다. 조건검색 매수/매도 확인부탁드립니다. (검색 수식) A. 일봉상 전일대비 주가등락률 순위 예시) 1 ~ 100위 변수값 지정 가능토록 B. 분챠트 1분봉에서 주가가 볼린져밴드 상단선 돌파 C. 분챠트 1분봉에서 2차피봇 저항선 돌파 A+B+C 조건식 해당시 매수 D. 분챠트상 주가가 하락하여 볼린져밴드상단선을 크로스 다운시 매도 P.S 일봉상 볼린저 밴드를 분봉상 볼린져 동일한 조건으로 구현할수 있도록 방법 문의드립니다.
프로필 이미지
관스
2022-05-12
1597
글번호 158791
사용자 함수