커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

수식 문의 드립니다

안녕하세요 전주와 금주 주봉의 1/3가격, 2/3가격, 1/2가격을 일봉 차트에 나타내는 수식 부탁드립니다.
프로필 이미지
부활
2024-10-10
806
글번호 184136
지표
답변완료

수식변경요청

안녕하세요. 늘 도움 감사드립니다. 다름이 아니라 아래의 수식에서 고가 와 저가 사이에 파일에 첨부한 내용처럼 비율을 넣고 싶습니다. input : af(0.02), maxAF(0.2),추세선두께(1),추세선색1(YELLOW),추세선색2(CYAN),연장선두께(2),연장선색(gray); input : 텍스트출력(1); var : T(0),HH(0),LL(0),HD(0),HT(0),LD(0),LT(0); var : HH1(0),LL1(0),HD1(0),HT1(0),LD1(0),LT1(0); var : TL1(0),TL2(0),cnt(0),count(0); var : TL3(0),TL4(0),TL5(0),TL6(0),TL7(0); var : Tx3(0),Tx4(0),Tx5(0),Tx6(0),Tx7(0); Var : TL11(0),TL22(0); var1 = CSar(af,maxAF); plot1(var1); if crossup(c,var1) Then { T = 1; if C > O Then { HH = H; HD = sdate; HT = stime; } Else { HH = 0; HD = 0; HT = 0; } HH1 = HH[1]; HD1 = HD[1]; HT1 = HT[1]; if LL > 0 Then { #TL1 = TL_new(LD[1],LT[1],LL[1],HD,HT,HH); TL_Delete(TL3); TL_Delete(TL4); TL_Delete(TL5); TL_Delete(TL6); TL_Delete(TL7); TL3 = TL_new(HD[1],HT[1],HH[1],sdate,stime,HH[1]); TL4 = TL_new(HD[1],HT[1],(HH[1]+LL)/2,sdate,stime,(HH[1]+LL)/2); TL5 = TL_new(HD[1],HT[1],LL,sdate,stime,LL); TL6 = TL_new(HD[1],HT[1],HH[1]+(HH[1]-LL)/2,sdate,stime,HH[1]+(HH[1]-LL)/2); TL7 = TL_new(HD[1],HT[1],LL-(HH[1]-LL)/2,sdate,stime,LL-(HH[1]-LL)/2); //추세선 오른쪽 연장설정 TL_SetExtRight(TL3,true); TL_SetExtRight(TL4,true); TL_SetExtRight(TL5,true); TL_SetExtRight(TL6,true); TL_SetExtRight(TL7,true); Text_Delete(TX3); Text_Delete(TX4); Text_Delete(TX5); Text_Delete(TX6); Text_Delete(TX7); value3 = HH[1]; value4 = (HH[1]+LL)/2; value5 = LL; value6 = HH[1]+(HH[1]-LL)/2; value7 = LL-(HH[1]-LL)/2; TX3 = Text_New(sDate,sTime,value3,NumToStr(value3,2)); TX4 = Text_New(sDate,sTime,value4,NumToStr(value4,2)); TX5 = Text_New(sDate,sTime,value5,NumToStr(value5,2)); TX6 = Text_New(sDate,sTime,value6,NumToStr(value6,2)); TX7 = Text_New(sDate,sTime,value7,NumToStr(value7,2)); /* if 텍스트출력 == 1 then { Tx11 = Text_New(HD1,HT1,HH1,NumToStr((HH1-LL1)/PriceScale,0)+NewLine+NumToStr(HH1,2)); Text_SetStyle(tx11,2,1); Text_Delete(tx1); Tx1 = Text_New(HD,HT,HH,NumToStr((HH-LL[1])/PriceScale,0)+NewLine+NumToStr(HH,2)); Text_SetStyle(tx1,2,1); }*/ } #TL11 = TL_New(HD1,HT1,HH1,HD,HT,HH); } if CrossDown(c,var1) Then { T = -1; LL = L; LD = sdate; LT = stime; LL1 = LL[1]; LD1 = LD[1]; LT1 = LT[1]; if HH > 0 Then { #TL2 = TL_new(HD[1],HT[1],HH[1],LD,LT,LL); TL_Delete(TL3); TL_Delete(TL4); TL_Delete(TL5); TL_Delete(TL6); TL_Delete(TL7); TL3 = TL_new(LD[1],LT[1],HH,sdate,stime,HH); TL4 = TL_new(LD[1],LT[1],(HH+LL[1])/2,sdate,stime,(HH+LL[1])/2); TL5 = TL_new(LD[1],LT[1],LL[1],sdate,stime,LL[1]); TL6 = TL_new(LD[1],LT[1],LL[1]-(HH-LL[1])/2,sdate,stime,LL[1]-(HH-LL[1])/2); TL7 = TL_new(LD[1],LT[1],HH[1]+(HH-LL[1])/2,sdate,stime,HH[1]+(HH-LL[1])/2); //추세선 오른쪽 연장설정 TL_SetExtRight(TL3,true); TL_SetExtRight(TL4,true); TL_SetExtRight(TL5,true); TL_SetExtRight(TL6,true); TL_SetExtRight(TL7,true); Text_Delete(TX3); Text_Delete(TX4); Text_Delete(TX5); Text_Delete(TX6); Text_Delete(TX7); value3 = HH; value4 = (HH+LL[1])/2; value5 = LL[1]; value6 = HH+(HH-LL[1])/2; value7 = LL[1]-(HH-LL[1])/2; TX3 = Text_New(sDate,sTime,Value3,NumToStr(Value3,2)); TX4 = Text_New(sDate,sTime,Value4,NumToStr(Value4,2)); TX5 = Text_New(sDate,sTime,Value5,NumToStr(Value5,2)); TX6 = Text_New(sDate,sTime,Value6,NumToStr(Value6,2)); TX7 = Text_New(sDate,sTime,Value7,NumToStr(Value7,2)); /* if 텍스트출력 == 1 then { Tx22 = Text_New(LD1,LT1,LL1,NumToStr((HH1-LL1)/PriceScale,0)+NewLine+NumToStr(LL1,2)); Text_SetStyle(tx22,2,0); Text_Delete(tx2); Tx2 = Text_New(LD,LT,LL,NumToStr((HH[1]-LL)/PriceScale,0)+NewLine+NumToStr(LL,2)); Text_SetStyle(tx2,2,0); }*/ } #TL22 = TL_New(LD1,LT1,LL1,LD,LT,LL); } if T == 1 then { if C < O and (HH == 0 or (HH > 0 and H > HH)) Then { HH = H; HD = sdate; HT = stime; TL_SetEnd(TL1,HD,HT,HH); TL_SetEnd(TL11,HD,HT,HH); /* if 텍스트출력 == 1 then { Text_Delete(tx1); Tx1 = Text_New(HD,HT,HH,NumToStr((HH-LL[1])/PriceScale,0)+NewLine+NumToStr(HH,2)); Text_SetStyle(tx1,2,1); }*/ } } if T == -1 then { if C > O and (LL == 0 or (LL > 0 and L < LL)) Then { LL = L; LD = sdate; LT = stime; TL_SetEnd(TL2,LD,LT,LL); TL_SetEnd(TL22,LD,LT,LL); /* if 텍스트출력 == 1 then { Text_Delete(tx2); Tx2 = Text_New(LD,LT,LL,NumToStr((HH[1]-LL)/PriceScale,0)+NewLine+NumToStr(LL,2)); Text_SetStyle(tx2,2,0); }*/ } } #추세선 두께, 색상 TL_SetSize(TL1,추세선두께); TL_SetSize(TL11,추세선두께); TL_SetSize(TL2,추세선두께); TL_SetSize(TL22,추세선두께); TL_SetColor(TL1,추세선색1); TL_SetColor(TL11,추세선색1); TL_SetColor(TL2,추세선색2); TL_SetColor(TL22,추세선색2); #연장선 두께, 색상 TL_SetSize(TL3,연장선두께); TL_SetSize(TL4,연장선두께); TL_SetSize(TL5,연장선두께); TL_SetSize(TL6,연장선두께); TL_SetSize(TL7,연장선두께); TL_SetColor(TL3,연장선색); TL_SetColor(TL4,연장선색); TL_SetColor(TL5,연장선색); TL_SetColor(TL6,연장선색); TL_SetColor(TL7,연장선색); Text_SetLocation(TX3,sDate,sTime,value3); Text_SetLocation(TX4,sDate,sTime,Value4); Text_SetLocation(TX5,sDate,sTime,Value5); Text_SetLocation(TX6,sDate,sTime,Value6); Text_SetLocation(TX7,sDate,sTime,Value7); Text_SetStyle(TX3,0,1); Text_SetStyle(TX4,0,1); Text_SetStyle(TX5,0,1); Text_SetStyle(TX6,0,1); Text_SetStyle(TX7,0,1);
프로필 이미지
알리섬
2024-10-10
832
글번호 184135
지표

살빼고싶다 님에 의해서 삭제되었습니다.

프로필 이미지
살빼고싶다
2024-10-10
18
글번호 184133
검색

러블리 님에 의해서 삭제되었습니다.

프로필 이미지
러블리
2024-10-10
28
글번호 184126
시스템
답변완료

수식수정

Inputs : Period(20), Sence(1.5), CC_DN(Yellow); Vars: VLineUp(0), VLineDn(0), HHighest(0), LLowest(0), JustChanged(FALSE), VLine(0), DBN(0); Array: Highs[35](0), Lows[35](0), RRange[35](0), UpWave[1](FALSE), DnWave[1](FALSE); If STime == 180000 Then DBN = 0; DBN = DBN + 1; Var1 = Period; Var2 = Var1 - 1; Var3 = Var1 - 2; Var5 = Sence; Var6 = H-L; JustChanged = FALSE; if CurrentBar <= Var2 then begin Highs[CurrentBar] = Close; Lows[CurrentBar] = Close; RRange[CurrentBar] = (H-L) /2; end; if CurrentBar == Var1 then begin if Highs[Var2] >= Highs[Var3] then begin UpWave[1] = TRUE; HHighest = Highs[Var2]; VLineUp = HHighest - (Var5 * MA(Var6,Var2)); #Plot1(VLineUp,"VLineUp"); end; if Highs[Var2] < Highs[Var3] then begin DnWave[1] = TRUE; LLowest = Lows[Var2]; VLineDn = LLowest + (Var5 * MA(Var6,Var2)); #Plot2(VLineDn,"VLineDn"); end; end; if CurrentBar > Var1 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 - (Var5 * MA(Var6,Var2)); VLineDn = LLowest + (Var5 * MA(Var6,Var2)); /*if UpWave[1] then Plot1(VLineUp,"VLineUp", Red); else if DnWave[1] then Plot1(VLineDn,"VLineUp", Blue); */ end; input : P(10),short(12),long(26),sig(9); var : mav(0),macdo(0); mav = ma(C,P); MACDo = MACD_OSC(short,long,sig); if upwave[1] and c > o and mav > mav[1] Then Buy(); if dnwave[1] and c < o and mav < mav[1] Then Sell(); if MarketPosition == 1 Then { if dnwave[1] and macdo < 0 Then ExitLong("bx"); } if MarketPosition == -1 Then { if upwave[1] and macdo > 0 Then ExitLong("sx"); } 안녕하세요 위식에서 청산시 불필요한 청산부분이 중복으로 발생됨니다(sx) Sx부분 발생되지 않도록 삭제해주세요.
프로필 이미지
아트정
2024-10-10
737
글번호 184125
시스템
답변완료

종목 검색 부탁드립니다.

1. 캔들이(종가) 일목균형 선행스팬 2 를 돌파할때 종목검색식. 2. 캔들이(종가) 일목균형 선행스팬 2 위에 있는 (단,선행스팬2 에서 상단 5% 이내) 종목검색식 부탁드립니다.
프로필 이미지
일지매7
2024-10-10
995
글번호 184124
종목검색
답변완료

해외선물 동일종목 타주기 사용관련

항상 감사를 드립니다. 예스랭귀지 가이드를 봐도 어려워 질문을 드립니다. 해외선물나스닥 시스템매매을 함에 있어 30분붕보다 작은 분봉에서 매매할 시 30분봉이 양봉일 때에는 매수진입만 30분봉이 음봉일 때에는 매도 진입만 가능하도록 알려주시면 고맙겠습니다.
프로필 이미지
하날랑
2024-10-09
784
글번호 184123
시스템
답변완료

수식 부탁합니다

1. 매수 진입후 10봉이 경과한 뒤, 현재 가격이 진입 가격보다 상승했다가 다시 진입 가격보다 하락할 경우, 즉시 청산하는 수식 2. 매도 진입후 10봉이 경과한 뒤, 현재 가격이 진입 가격보다 하락했다가 다시 진입 가격보다 상승할 경우, 즉시 청산하는 수식 부탁합니다
프로필 이미지
하늘만큼11
2024-10-09
910
글번호 184122
시스템

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

프로필 이미지
bw
2024-10-09
2
글번호 184121
지표
답변완료

질문 드립니다.

안녕하세요! 항상 친절한 답변 감사드립니다. 1. 분봉주기에서, 오늘 날짜 기준으로, 전일의 특정시간(ex:142959 ~ 151459) 고가를 변수지정하려면 아래와 같이 가능한가요? value1 = timehigh(142959, 151459)[1] 가능하다면, 이해가 가질 않는 부분은, '분봉주기'임에도 불구하고 [1]가 어떻게 적용 가능하냐는 겁니다. [n]은 n봉전을 의미하는데 '분봉주기'에서 어찌가능한지 이해가 가질 않습니다. 만일 분봉이라면 해당 구문은 (1분봉일 시, 가령 현재시간 90514을 가정한다면) 1분봉전의 시점에서 142959~151459의 고가를 찾아야함이 옳은 것 아닌가요??? 2. "분봉주기"에서의 일봉 이격도 작성이 아래와 같이 가능한지 확인 부탁드립니다. (5일 이동평균기준, 현재봉이 아닌 1봉전에 이격수준을 확정) 2.1 첫번째 방법 for cnt = 1 to 5 begin va1 = var1 + dayclose(n); end var2 = var1/5; var3 = dayclose(1)/var2 * 100 //var3는 이격도 2.2 두번째 방법 var3 = AccumN(dayclose, 5)[1] //여기서도 만일가능하다면, 첫번째 질문의 답변과 같은 맥락으로 함수가 작동할까요?? 3. 포지션함수에서 DEF가 어떻게 작동하는지, 사례 혹은 자료가 있으실까요? 이 질문은 다소 불편하시거나 답변하시기 오래걸리시면 패스하셔도 괜찮습니다. 4. 조건식 "if date != date[1] then"의 역할을 잘 모르겠습니다. 분봉주기에서 자주 보이는데 해당 구문을 누락할 시 어떤 참사가 발생하는지 혹시 답변 가능하실까요? 5. dayindex의 역할을 자세히 설명가능하실까요?? 메뉴얼에서는 분봉에서 당일 봉의 번호라고 기재되어 있는데 그러면 언제 사용하던 '0'이 아닌가요??? 더하여, 여러 구문 등에서 등장하는, dayindex > 0 의 목적을 좀 알고 싶습니다. 6. 구문의 작동 방식에 관한 질문입니다. 아래의 구문이 20봉이내에 5일/20일 이평의 골든크로스 종목을 검색한다고 알고 있습니다. 골든크로스 시점의 봉 번호를 i1에 저장한 그것을 index와 비교하는 구문인데 2)번째줄의 index와 4)번째줄의 차이를 모르겠습니다. 2)번째 줄의 index는 앞의 조건 발생 시, 발동(?)하며 i1에 값을 담아주는데, 어떻게 4)번째 줄의 index는 이전 20개 봉의 위치를 갑자기 출력해내며 i1과 값을 비교하는 작동을 하는지 이해가 가질 않습니다 (구문 자체의 문제가 있어서, 답변이 어려우시거나 껄끄러우시면 넘어가셔도 괜찮습니다) 1)if crossup(ma(c,5), ma(c,20)) then 2) i1 = index; 3) 4) if index <= i1 +20 and index >= i1 then 5) find(1); 초보자라 답답한, 그리고 어설픈 질문을 드려 죄송합니다..
프로필 이미지
아침식사됩니다
2024-10-10
796
글번호 184120
검색