커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

문의드립니다

Input : Period1(5); Var1 = ((H+L)/2)[1] - ((H+L)/2); Var2 = (Upvol[1]) - (Upvol); Var3 = WMA(Var1/Var2,Period1)*100; Plot1(Var3[1]); Var11 = ((H+L)/2)[1] - ((H+L)/2); Var21 = (DownVol[1]) - (DownVol); Var31 = WMA(Var11/Var21,Period1)*100; Plot2(Var31[1]); 이렇게 수식을 만들어 보았습니다 그런데 같은 900틱챠트로 수직분할을하여 양쪽에서 보았는데 서로 다르게 나타납니다 왜그렇까요? 또 시간이지나서 다시 500틱챠트로 봤다가 다시 900틱챠트로보면 모양이 다르게 나타납니다 늘 같은 모양으로 나타나게 할수는 없을까요?
프로필 이미지
처음처럼22
2020-08-25
887
글번호 141759
지표
답변완료

수식변환 부탁드립니다.

안녕하세요. 하기 두개의 수식은 시그널메이커에서 작성한 것인데요, 예스트레이더로 변환 부탁드려요. 수식1) Vars : Period1(14), Period2(179); Vars : ST_Ma1(0), ST_Ma2(0); ST_Ma1 = AvgFast((O+H+L+C)/4, Period1); ST_Ma2 = AvgFast((O+H+L+C)/4, Period2); // 일봉 기준 파란색 Vars : vShortP7(14), vLongP7(173), vSigP7(1); Vars : vMACD7(0), vSignal7(0); vMACD7 = MACD(C, vShortP7, vLongP7); vSignal7 = XAverage(vMACD7, vSigP7); param : BuyA_ShortLeng(15) // 단기 이동평균 기간 , BuyA_LongLeng(35) // 장기 이동평균 기간 ; var : BuyA_V1(0), BuyA_V2(0), BuyA_Result(FALSE); BuyA_V1 = SMA(Volume, BuyA_ShortLeng); BuyA_V2 = SMA(Volume, BuyA_LongLeng); BuyA_Result = FALSE; IF BuyA_V1 >= BuyA_V2 Then BuyA_Result = TRUE; param : vDn (92), vUp (700); If BuyA_V1 > vDN And BuyA_V1 < vUp And vMACD7 < 0 And CrossDown(ST_Ma1, ST_Ma2) Then Sell("V매도"); ///////////////////////////////////////////////////////////////////////////// 수식2) Inputs : RangeLength(3), XAvgLength(49), BarstoEnter(17), Factor(13); Vars : BuyEntry(0), BuySetup(False), BuyCounter(0), LongExitTarget(0); Vars : SP00(0), AtrV(0); SP00 = SignalPosition; AtrV = ATR(30); Condition1 = High == Highest(High, RangeLength); Condition2 = Close > High[2]; Condition3 = ema(Close, XAvgLength) > ema(Close, XAvgLength)[1]; If SP00 <> 1 AND Condition1 AND Condition2 AND Condition3 Then Begin BuyEntry = MedianPrice[2]; BuyCounter = 0; BuySetup = True; LongExitTarget = High + Factor * (High - BuyEntry); End; If BuyCounter > BarstoEnter Then BuySetup = False Else BuyCounter = BuyCounter + 1; If SP00 = 1 Then Begin BuySetup = False; ExitLong("",atlimit,LongExitTarget); End; If BuySetup Then Buy("B",atlimit,BuyEntry); //# ATR Protective Stop Inputs: ProtectiveATRs(3); If SP00 <> 0 Then ExitLong("EL_Protective Stop", atstop, EntryPrice - (AtrV * ProtectiveATRs)); ///////////////////////////////////////////////////////////////////////////////////
프로필 이미지
판사
2020-08-25
952
글번호 141758
시스템
답변완료

수식 부탁드립니다.

거래는 분봉으로 합니다. 참조종목 data2와 data3에는 각각 다른 종목의 일봉을 엽니다. 전일까지의 두 참조종목의 종가상승률의 상관관계를 구해서, 당일 분봉 거래의 필터로 활용하고 싶습니다. 예를 들어, 전일까지 data2와 data3의 20봉 종가상승률의 상관관계를 구하는 수식을 알고 싶습니다.
프로필 이미지
중박주식
2020-08-25
948
글번호 141757
지표
답변완료

수식문의 드립니다(갭보정)

Inputs: FastLen(5), MedLen(20), SlowLen(60); Variables: FastAvg(0), MedAvg(0), SlowAvg(0); FastAvg = MA(Close, FastLen); MedAvg = MA(Close, MedLen); SlowAvg = MA(Close, SlowLen); If (FastAvg[1] < MedAvg[1] OR MedAvg[1] < SlowAvg[1]) AND (FastAvg > MedAvg AND MedAvg > SlowAvg) Then Buy ("MAC3_LE"); If (FastAvg[1] > MedAvg[1] OR MedAvg[1] > SlowAvg[1]) AND (FastAvg < MedAvg AND MedAvg < SlowAvg) Then Sell ("MAC3_SE"); 평범한 MA3 정배열 역배열 함수입니다 이식을 갭보정하고 싶습니다 참고로 3분봉에서 사용하려 합니다 추가로 Macd 베이스라인도 갭보정 부탁드립니다
프로필 이미지
paranstr
2020-08-25
1090
글번호 141756
시스템
답변완료

부탁좀 드리겠습니다.

TRIXv = TRIX(period); emav = ema(c,Period); if crossup(TRIXv,0) Then { value1 = emav; value3 = emav; } if CrossDown(TRIXv,0) Then value2 = emav; if value1 > 0 and emav > value1 Then value1 = emav; if value2 > 0 and emav < value2 Then value2 = emav; if value3 > 0 and emav < value3 Then value3 = emav; plot1(value1); plot2(value2); plot3(max(value1,emav)); plot4(max(value3,emav)); 2) 변환부탁드립니다 highest(high,기간) lowest(low,기간) ((highest(high,기간))+(lowest(low,기간)))/2 3) highest(h,period) HIL=valuewhen(1,(highest(h(1),period)<highest(h,period)),((highest(high,Period)+lowest(low,Period))/2)); highest(H, period)-(((highest(H, period)-HIL)/3)*1) HIL=valuewhen(1,(highest(h(1),period)<highest(h,period)),((highest(high,Period)+lowest(low,Period))/2)); highest(H, period)-(((highest(H, period)-HIL)/4)*3) HIL=valuewhen(1,(highest(h(1),period)<highest(h,period)),((highest(high,Period)+lowest(low,Period))/2)); highest(H, period)-(((highest(H, period)-HIL)/5)*3) HIL=valuewhen(1,(highest(h(1),period)<highest(h,period)),((highest(high,Period)+lowest(low,Period))/2)); highest(H, period)-(((highest(H, period)-HIL)/6)*4) period = 300 4) 수식1> highest(h, period) 수식2> A = (highest(h, period) + lowest(l, period))/2; B = highest(h, period); A + (B-A)*4/6 수식3> A = (highest(h, period) + lowest(l, period))/2; B = highest(h, period); A + (B-A)*3/4 수식4> A = (highest(h, period) + lowest(l, period))/3; B = highest(h, period); A + (B-A)*2/5 수식5> (highest(h, period) + lowest(l, period))/4 period=2000
프로필 이미지
harrywin
2020-08-25
1024
글번호 141755
지표
답변완료

문의 드립니다.

수식 문의드립니다. *최고가 대비 지정한 틱 수까지 하락(상승)할 때마다 해당 틱수 캔들에 수평선이 그어질 수 있도록 수식이 가능한지요. 가능하다면 부탁드립니다. *캔들에 선이 그어지는 가격에 대한 수치는 외부변수로 조정 가능하게 부탁드립니다. *예를 들어 크루드오일의 경우 최고점이 42.60이고 지정 틱수가 30틱이면 고점 대비 30틱 하락(상승)한 지점에 수평선이 그려지고 다시 30틱 하락할 때 캔들에 계속 수평선이 그려지게 부탁드립니다. 항상 감사드립니다.
프로필 이미지
태양같이
2020-08-24
1053
글번호 141754
지표
답변완료

buy 함수를 for 문과 함께 사용하는 방법이 있을까요?

Input : base_price(1000); Arrays : b_price[4](0), b_qty[4](0); Vars: cnt(1); For cnt = 1 to 3 { b_price[cnt] = base_price * (1 - cnt * 0.02); //가격 배열 만들기 b_qty[cnt] = cnt; //수량 배열 만들기 } If sdate == 20200824 && sTime == 100000 Then //한줄씩 buy 사용 /* { MessageLog("Price:%.0f, Qty:%.0f, Close:%.0f", b_price[1], b_qty[1], Close); Buy("Buy1", AtLimit, b_price[1], b_qty[1]); MessageLog("Price:%.0f, Qty:%.0f, Close:%.0f", b_price[2], b_qty[2], Close); Buy("Buy2", AtLimit, b_price[2], b_qty[2]); MessageLog("Price:%.0f, Qty:%.0f, Close:%.0f", b_price[3], b_qty[3], Close); Buy("Buy3", AtLimit, b_price[3], b_qty[3]); } */ { //For문 사용 For cnt = 1 to 3 { MessageLog("Price:%.0f, Qty:%.0f, Close:%.0f", b_price[cnt], b_qty[cnt], Close); Buy("Buy", AtLimit, b_price[cnt], b_qty[cnt]); } } For 문 없이 사용하면 작동하는데 For 문을 쓰면 매수 이름이 같아져 작동이 안되는듯 합니다. For 문을 사용해서 buy 함수를 쓰는 방법이 있을까요? 항상 감사합니다. ^^!
프로필 이미지
매너모드
2020-08-24
1006
글번호 141753
시스템
답변완료

부탁 드립니다.

도움에 깊이 감사 드립니다. ADX지표에 사용되는 DIPLUS함수의 타주기 즉 1)분봉 차트에서 예를 들어 10분봉에서 60분봉지표 2)60분봉 차트에서 일봉 지표 장시간 번거로우시겠지만 부탁드리오며 미리 경배로 깊이 감사 드립니다. Inputs: Length(NumericSimple) ; Variables: Counter(0), TRange(0), MyRange(Length), PlusDM14(0), PlusDM(0), MinusDM(0); If CurrentBar == 1 Then Begin MyRange = Length; DIPlus = 0; PlusDM14 = 0; TRange = 0; For Counter = 0 To MyRange - 1 Begin If High[Counter] - High[Counter+1] < 0 Then PlusDM = 0; Else PlusDM = High[Counter] - High[Counter+1]; If Low[Counter+1] - Low[Counter] < 0 Then MinusDM = 0; Else MinusDM = Low[Counter+1] - Low[Counter]; If MinusDM >= PlusDM Then PlusDM = 0; TRange = TRange + TrueRange[Counter]; PlusDM14 = PlusDM14 + PlusDM; End; If TRange <> 0 Then DIPlus = 100 * PlusDM14 / TRange; Else DIPlus = 0 ; End Else If CurrentBar > 1 Then Begin If High[0] - High[1] < 0 Then PlusDM = 0; Else PlusDM = High[0] - High[1]; If Low [1] - Low [0] < 0 Then MinusDM = 0; Else MinusDM = Low[1] - Low[0]; If MinusDM >= PlusDM Then PlusDM = 0; If MyRange > 0 Then Begin TRange = TRange[1] - (TRange[1] / MyRange) + TrueRange; PlusDM14 = PlusDM14[1] - (PlusDM14[1] / MyRange) + PlusDM; End; If TRange <> 0 Then DIPlus = 100 * PlusDM14 / TRange; Else DIPlus = 0 ; End ; 참조1) TrueRange = TrueHigh - TrueLow; 참조2) If C[1] > H then TrueHigh = C[1]; else TrueHigh = H; 참조3) If C[1] < L then TrueLow = C[1]; else TrueLow = L;
프로필 이미지
뮬리
2020-08-24
895
글번호 141751
지표
답변완료

외인 누적 선물평균가를 표시

90틱 챠트에 외국인 선물 누적 평균가를 수평선으로 표시하고 싶습니다.
프로필 이미지
오늘도수익
2020-08-24
821
글번호 141748
지표
답변완료

문의드립니다

data2 차트에서 60 봉 기간내 첫번째로 가장 낮은값 두번째로 가장 낮은값 세번째로 가장 낮은값 각각 지표식을 얻고 싶습니다 감사합니다
프로필 이미지
파인애플
2020-08-24
794
글번호 141743
지표