커뮤니티

문의 드립니다!

프로필 이미지
유로파54
2024-01-13 21:35:58
689
글번호 175714
답변완료
안녕하세요! 아래 2개수식을 아침 9시부터 적용(시작)이 되는 수식으로 각각 변환 부탁드립니다 감사합니다! ----------------------------------------------------- (수식 1) INPUT : RsiPeriod(13),PLPeriod(2),TSLPeriod(7), BandPeriod(34), 표준편차(1.6185); var :RSIV(0), RSIPL(0), TSL(0), MidBand(0), UpBand(0),DnBand(0) ; var : TL1(0), TL2(0), TLi1(0), TLi2(0), TX1(0), TX2(0), TX3(0), TX4(0), TX5(0), TX6(0); var : TXi1(0),TXi2(0),TXi3(0),TXi4(0); #RSI RSIV = RSI(RSIPeriod); #RSI시그널1 RSIPL = ma(RSIV,PLPeriod); #RSI시그널2 TSL = ma(RSIV,TSLPeriod); #RSI 볼밴 중단 MidBand = ma(RSIV,BandPeriod); #RSI 볼밴 상단 UpBand = MidBand + (표준편차 * std(RSIV, BandPeriod)); #RSI 볼밴 하단 DnBand = MidBand - (표준편차 * std(RSIV, BandPeriod)); #RSI시그널1이 50이하에서 상승반전 if RSIPL > RSIPL[1] and RSIPL[1] < RSIPL[2] and RSIPL < 50 then { #RSI시그널1값 var1 = RSIPL[1]; #직전 상승반전시 RSI시그널1값 var2 = var1[1]; #저가 var3 = L[1]; #직전 상승반전시 저가 var4 = var3[1]; #날짜 var5 = sdate[1]; var6 = var5[1]; #시간 var7 = stime[1]; var8 = var7[1]; #현재 RSI시그널1값이 직전 상승반전시 RSI시그널1값보다 크고 #현재 저가는 직전 상승반전시 저가보다 작으면 1 if var1 > var2 and var3 < var4 then var9 = 1; } else #상승반전아니면 0 var9 = 0; if var9 == 1 then { TL1 = TL_New(var6,var8,var4,var5,var7,var3); TL_SetSize(TL1, 5); TL_SetColor(TL1, magenta); TLi1= TL_New_self(var6,var8,var2,var5,var7,var1); TL_SetSize(TLi1, 5); TL_SetColor(TLi1, magenta); TX1 = Text_new(var5, var7, L, "★"); Text_SetColor(Tx1,black); Text_SetStyle(Tx1,0,0); Text_SetSize(Tx1,18);#크기 PlaySound("C:₩예스트레이더(X64)₩data₩Sound₩.wav"); TXi1 = Text_New_Self(var5, var7, var1, "★"); Text_SetColor(Txi1,black); Text_SetStyle(Txi1,0,0); Text_SetSize(Txi1,18);#크기 PlaySound("C:₩예스트레이더(X64)₩data₩Sound₩.wav"); } if CrossUp(RSIPL, DnBand) then { TX3 = Text_new(sdate, stime, L, "▲"); Text_SetColor(Tx3,black); Text_SetStyle(Tx3,2,0); Text_SetSize(Tx3,10);#크기 TXi3 = Text_New_Self(sdate, stime, RSIPL, "▲"); Text_SetColor(Txi3,black); Text_SetStyle(Txi3,2,0); Text_SetSize(Txi3,10);#크기 } #RSI시그널1이 50위에서 하락반전 if RSIPL < RSIPL[1] and RSIPL[1] > RSIPL[2] and RSIPL > 50 then { #RSI시그널1값 var11 = RSIPL[1]; #직전 상승반전시 RSI시그널1값 var12 = var11[1]; #고가 var13 = H[1]; #직전 상승반전시 고가값 var14 = var13[1]; #날짜 var15 = sdate[1]; var16 = var15[1]; #시간 var17 = stime[1]; var18 = var17[1]; #현재 RSI시그널1값이 직전 하락반전시 RSI시그널1값보다 작고 #현재 고가는 직전 하락반전시 고가보다 크면 1 if var11 < var12 and var13 > var14 then var19 = 1; } else #하락반전 아니면 0 var19 = 0; if var19 == 1 then { TL2 = TL_New(var16,var18,var14,var15,var17,var13); TL_SetSize(TL2, 5); TL_SetColor(TL2, Blue); TLi2= TL_New_self(var16,var18,var12,var15,var17,var11); TL_SetSize(TLi2, 5); TL_SetColor(TLi2, Blue); TX2 = Text_new(var15, var17, H, "★"); Text_SetColor(Tx2,black); Text_SetStyle(Tx2,0,1); Text_SetSize(Tx2,18);#크기 PlaySound("C:₩예스트레이더(X64)₩data₩Sound₩.wav"); TXi2 = Text_New_Self(var15, var17, var11, "★"); Text_SetColor(Txi2,black); Text_SetStyle(Txi2,0,1); Text_SetSize(Txi2,18);#크기 PlaySound("C:₩예스트레이더(X64)₩data₩Sound₩.wav"); } if CrossDown(RSIPL, UpBand) then { TX4 = Text_new(sdate, stime, H, "▼"); Text_SetColor(Tx4,black); Text_SetStyle(Tx4,2,1); Text_SetSize(Tx4,18);#크기 TXi4 = Text_New_Self(sdate, stime, RSIPL, "▼"); Text_SetColor(Txi4,black); Text_SetStyle(Txi4,2,1); Text_SetSize(Txi4,18);#크기 } plot1(RSIPL, "RSIPL",Lgreen,def,0); plot2(TSL,"TSL",DarkRed,def,1); plot3(MidBand,"MidBand",Yellow,def,1); plot4(UpBand,"UpBand",Blue,def,0); plot5(DnBand,"DnBand",Magenta,def,0); if CrossUp(RSIPL,DnBand) then plot6(RSIPL, "상향돌파시점"); if CrossDown(RSIPL, UpBand) then plot7(RSIPL, "하향이탈시점"); if var9 == 1 then plot8(RSIPL, "상승다이버전스"); if var19 == 1 then plot9(RSIPL, "하락다이버전스"); (수식 2) input : af(0.2), maxAF(0.3); input : 텍스트출력(0),선굵기(5); var : T(0),cnt(0),count(0); var : HH1(0),LL1(0),HD1(0),HT1(0),LD1(0),LT1(0),day1(0),day0(0),TL3(0); var : TL1(0),TL2(0),tx1(0),tx2(0),tx11(0),tx22(0),idx(0),tx99(0),tx88(0); Array : HD[20](0),HT[20](0),HH[20](0),LD[20](0),LT[20](0),LL[20](0); Array : HI[20](0),LI[20](0); var1 = CSar(af,maxAF); if bdate != bdate[1] Then { day0 = sdate; day1 = day0[1]; } if crossup(c,var1) Then { T = 1; HH[0] = H; HD[0] = sdate; HT[0] = stime; HI[0] = index; for cnt = 1 to 19 { HD[cnt] = HD[cnt-1][1]; HT[cnt] = HT[cnt-1][1]; HH[cnt] = HH[cnt-1][1]; HI[cnt] = HI[cnt-1][1]; } if LL[0] > 0 Then { Condition1 = false; for cnt = 1 to 19 { if Condition1 == false and abs(LL[0]-LL[cnt]) <= PriceScale*1 and LD[cnt] >= day1 Then { Condition1 = true; TL1 = TL_New(LD[cnt],LT[cnt],LL[cnt],LD[0],LT[0],LL[0]); TL_SetSize(TL1,선굵기); TL_SetColor(TL1,cyan); idx = abs(LI[0]-LI[cnt]); //tx99 = Text_New(LD[0],LT[0],LL[0],NumToStr(idx,0)); Text_SetColor(tx99,cyan); Text_SetStyle(tx99,0,3); Text_SetBold(tx99,2); PlaySound("C:₩예스트레이더(x64)₩data₩Sound₩.wav"); } } } } if CrossDown(c,var1) Then { T = -1; LL[0] = L; LD[0] = sdate; LT[0] = stime; LI[0] = index; for cnt = 1 to 19 { LD[cnt] = LD[cnt-1][1]; LT[cnt] = LT[cnt-1][1]; LL[cnt] = LL[cnt-1][1]; LI[cnt] = LI[cnt-1][1]; } if HH[0] > 0 Then { Condition2 = false; for cnt = 1 to 19 { if Condition2 == false and abs(HH[0]-HH[cnt]) <= PriceScale*1 and HD[cnt] >= day1 Then { Condition2 = true; TL2 = TL_New(HD[cnt],HT[cnt],HH[cnt],HD[0],HT[0],HH[0]); TL_SetSize(TL2,선굵기); TL_SetColor(TL2,cyan); idx = abs(HI[0]-HI[cnt]); //tx99 = Text_New(HD[0],HT[0],HH[0],NumToStr(idx,0)); Text_SetColor(tx99,cyan); Text_SetStyle(tx99,0,3); Text_SetBold(tx99,2); PlaySound("C:₩예스트레이더(x64)₩data₩Sound₩.wav"); } } } } if T == 1 then { if H > HH[0] Then { HH[0] = H; HD[0] = sdate; HT[0] = stime; if Condition3 == false and abs(HH[0]-HH[cnt]) <= PriceScale*1 and HD[cnt] >= day1 Then { Condition3 = true; TL3 = TL_New(HD[cnt],HT[cnt],HH[cnt],HD[0],HT[0],HH[0]); TL_SetSize(TL3,선굵기); TL_SetColor(TL3,cyan); idx = abs(HI[0]-HI[cnt]); //tx88 = Text_New(HD[0],HT[0],HH[0],NumToStr(idx,0)); Text_SetColor(tx88,cyan); Text_SetStyle(tx88,0,3); Text_SetBold(tx88,2); PlaySound("C:₩예스트레이더(x64)₩data₩Sound₩.wav"); } } } if T == -1 then { if L < LL[0] Then { LL[0] = L; LD[0] = sdate; LT[0] = stime; if Condition3 == false and abs(LL[0]-LL[cnt]) <= PriceScale*1 and LD[cnt] >= day1 Then { Condition3 = true; TL3 = TL_New(LD[cnt],LT[cnt],LL[cnt],LD[0],LT[0],LL[0]); TL_SetSize(TL3,선굵기); TL_SetColor(TL3,cyan); idx = abs(LI[0]-LI[cnt]); //tx88 = Text_New(LD[0],LT[0],LL[0],NumToStr(idx,0)); Text_SetColor(tx88,cyan); Text_SetStyle(tx88,0,3); Text_SetBold(tx88,2); PlaySound("C:₩예스트레이더(x64)₩data₩Sound₩.wav"); } } }
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2024-01-15 15:47:22

안녕하세요 예스스탁입니다. 문의하신 내용은 작성해 보는데 시간이 많이 소모됩니다. 업무상 이정이상 요구되는 내용은 작성해 드리기 어렵습니다. 도움을 드리지 못해 죄송합니다. 즐거운 하루되세요 > 유로파54 님이 쓴 글입니다. > 제목 : 문의 드립니다! > 안녕하세요! 아래 2개수식을 아침 9시부터 적용(시작)이 되는 수식으로 각각 변환 부탁드립니다 감사합니다! ----------------------------------------------------- (수식 1) INPUT : RsiPeriod(13),PLPeriod(2),TSLPeriod(7), BandPeriod(34), 표준편차(1.6185); var :RSIV(0), RSIPL(0), TSL(0), MidBand(0), UpBand(0),DnBand(0) ; var : TL1(0), TL2(0), TLi1(0), TLi2(0), TX1(0), TX2(0), TX3(0), TX4(0), TX5(0), TX6(0); var : TXi1(0),TXi2(0),TXi3(0),TXi4(0); #RSI RSIV = RSI(RSIPeriod); #RSI시그널1 RSIPL = ma(RSIV,PLPeriod); #RSI시그널2 TSL = ma(RSIV,TSLPeriod); #RSI 볼밴 중단 MidBand = ma(RSIV,BandPeriod); #RSI 볼밴 상단 UpBand = MidBand + (표준편차 * std(RSIV, BandPeriod)); #RSI 볼밴 하단 DnBand = MidBand - (표준편차 * std(RSIV, BandPeriod)); #RSI시그널1이 50이하에서 상승반전 if RSIPL > RSIPL[1] and RSIPL[1] < RSIPL[2] and RSIPL < 50 then { #RSI시그널1값 var1 = RSIPL[1]; #직전 상승반전시 RSI시그널1값 var2 = var1[1]; #저가 var3 = L[1]; #직전 상승반전시 저가 var4 = var3[1]; #날짜 var5 = sdate[1]; var6 = var5[1]; #시간 var7 = stime[1]; var8 = var7[1]; #현재 RSI시그널1값이 직전 상승반전시 RSI시그널1값보다 크고 #현재 저가는 직전 상승반전시 저가보다 작으면 1 if var1 > var2 and var3 < var4 then var9 = 1; } else #상승반전아니면 0 var9 = 0; if var9 == 1 then { TL1 = TL_New(var6,var8,var4,var5,var7,var3); TL_SetSize(TL1, 5); TL_SetColor(TL1, magenta); TLi1= TL_New_self(var6,var8,var2,var5,var7,var1); TL_SetSize(TLi1, 5); TL_SetColor(TLi1, magenta); TX1 = Text_new(var5, var7, L, "★"); Text_SetColor(Tx1,black); Text_SetStyle(Tx1,0,0); Text_SetSize(Tx1,18);#크기 PlaySound("C:₩예스트레이더(X64)₩data₩Sound₩.wav"); TXi1 = Text_New_Self(var5, var7, var1, "★"); Text_SetColor(Txi1,black); Text_SetStyle(Txi1,0,0); Text_SetSize(Txi1,18);#크기 PlaySound("C:₩예스트레이더(X64)₩data₩Sound₩.wav"); } if CrossUp(RSIPL, DnBand) then { TX3 = Text_new(sdate, stime, L, "▲"); Text_SetColor(Tx3,black); Text_SetStyle(Tx3,2,0); Text_SetSize(Tx3,10);#크기 TXi3 = Text_New_Self(sdate, stime, RSIPL, "▲"); Text_SetColor(Txi3,black); Text_SetStyle(Txi3,2,0); Text_SetSize(Txi3,10);#크기 } #RSI시그널1이 50위에서 하락반전 if RSIPL < RSIPL[1] and RSIPL[1] > RSIPL[2] and RSIPL > 50 then { #RSI시그널1값 var11 = RSIPL[1]; #직전 상승반전시 RSI시그널1값 var12 = var11[1]; #고가 var13 = H[1]; #직전 상승반전시 고가값 var14 = var13[1]; #날짜 var15 = sdate[1]; var16 = var15[1]; #시간 var17 = stime[1]; var18 = var17[1]; #현재 RSI시그널1값이 직전 하락반전시 RSI시그널1값보다 작고 #현재 고가는 직전 하락반전시 고가보다 크면 1 if var11 < var12 and var13 > var14 then var19 = 1; } else #하락반전 아니면 0 var19 = 0; if var19 == 1 then { TL2 = TL_New(var16,var18,var14,var15,var17,var13); TL_SetSize(TL2, 5); TL_SetColor(TL2, Blue); TLi2= TL_New_self(var16,var18,var12,var15,var17,var11); TL_SetSize(TLi2, 5); TL_SetColor(TLi2, Blue); TX2 = Text_new(var15, var17, H, "★"); Text_SetColor(Tx2,black); Text_SetStyle(Tx2,0,1); Text_SetSize(Tx2,18);#크기 PlaySound("C:₩예스트레이더(X64)₩data₩Sound₩.wav"); TXi2 = Text_New_Self(var15, var17, var11, "★"); Text_SetColor(Txi2,black); Text_SetStyle(Txi2,0,1); Text_SetSize(Txi2,18);#크기 PlaySound("C:₩예스트레이더(X64)₩data₩Sound₩.wav"); } if CrossDown(RSIPL, UpBand) then { TX4 = Text_new(sdate, stime, H, "▼"); Text_SetColor(Tx4,black); Text_SetStyle(Tx4,2,1); Text_SetSize(Tx4,18);#크기 TXi4 = Text_New_Self(sdate, stime, RSIPL, "▼"); Text_SetColor(Txi4,black); Text_SetStyle(Txi4,2,1); Text_SetSize(Txi4,18);#크기 } plot1(RSIPL, "RSIPL",Lgreen,def,0); plot2(TSL,"TSL",DarkRed,def,1); plot3(MidBand,"MidBand",Yellow,def,1); plot4(UpBand,"UpBand",Blue,def,0); plot5(DnBand,"DnBand",Magenta,def,0); if CrossUp(RSIPL,DnBand) then plot6(RSIPL, "상향돌파시점"); if CrossDown(RSIPL, UpBand) then plot7(RSIPL, "하향이탈시점"); if var9 == 1 then plot8(RSIPL, "상승다이버전스"); if var19 == 1 then plot9(RSIPL, "하락다이버전스"); (수식 2) input : af(0.2), maxAF(0.3); input : 텍스트출력(0),선굵기(5); var : T(0),cnt(0),count(0); var : HH1(0),LL1(0),HD1(0),HT1(0),LD1(0),LT1(0),day1(0),day0(0),TL3(0); var : TL1(0),TL2(0),tx1(0),tx2(0),tx11(0),tx22(0),idx(0),tx99(0),tx88(0); Array : HD[20](0),HT[20](0),HH[20](0),LD[20](0),LT[20](0),LL[20](0); Array : HI[20](0),LI[20](0); var1 = CSar(af,maxAF); if bdate != bdate[1] Then { day0 = sdate; day1 = day0[1]; } if crossup(c,var1) Then { T = 1; HH[0] = H; HD[0] = sdate; HT[0] = stime; HI[0] = index; for cnt = 1 to 19 { HD[cnt] = HD[cnt-1][1]; HT[cnt] = HT[cnt-1][1]; HH[cnt] = HH[cnt-1][1]; HI[cnt] = HI[cnt-1][1]; } if LL[0] > 0 Then { Condition1 = false; for cnt = 1 to 19 { if Condition1 == false and abs(LL[0]-LL[cnt]) <= PriceScale*1 and LD[cnt] >= day1 Then { Condition1 = true; TL1 = TL_New(LD[cnt],LT[cnt],LL[cnt],LD[0],LT[0],LL[0]); TL_SetSize(TL1,선굵기); TL_SetColor(TL1,cyan); idx = abs(LI[0]-LI[cnt]); //tx99 = Text_New(LD[0],LT[0],LL[0],NumToStr(idx,0)); Text_SetColor(tx99,cyan); Text_SetStyle(tx99,0,3); Text_SetBold(tx99,2); PlaySound("C:₩예스트레이더(x64)₩data₩Sound₩.wav"); } } } } if CrossDown(c,var1) Then { T = -1; LL[0] = L; LD[0] = sdate; LT[0] = stime; LI[0] = index; for cnt = 1 to 19 { LD[cnt] = LD[cnt-1][1]; LT[cnt] = LT[cnt-1][1]; LL[cnt] = LL[cnt-1][1]; LI[cnt] = LI[cnt-1][1]; } if HH[0] > 0 Then { Condition2 = false; for cnt = 1 to 19 { if Condition2 == false and abs(HH[0]-HH[cnt]) <= PriceScale*1 and HD[cnt] >= day1 Then { Condition2 = true; TL2 = TL_New(HD[cnt],HT[cnt],HH[cnt],HD[0],HT[0],HH[0]); TL_SetSize(TL2,선굵기); TL_SetColor(TL2,cyan); idx = abs(HI[0]-HI[cnt]); //tx99 = Text_New(HD[0],HT[0],HH[0],NumToStr(idx,0)); Text_SetColor(tx99,cyan); Text_SetStyle(tx99,0,3); Text_SetBold(tx99,2); PlaySound("C:₩예스트레이더(x64)₩data₩Sound₩.wav"); } } } } if T == 1 then { if H > HH[0] Then { HH[0] = H; HD[0] = sdate; HT[0] = stime; if Condition3 == false and abs(HH[0]-HH[cnt]) <= PriceScale*1 and HD[cnt] >= day1 Then { Condition3 = true; TL3 = TL_New(HD[cnt],HT[cnt],HH[cnt],HD[0],HT[0],HH[0]); TL_SetSize(TL3,선굵기); TL_SetColor(TL3,cyan); idx = abs(HI[0]-HI[cnt]); //tx88 = Text_New(HD[0],HT[0],HH[0],NumToStr(idx,0)); Text_SetColor(tx88,cyan); Text_SetStyle(tx88,0,3); Text_SetBold(tx88,2); PlaySound("C:₩예스트레이더(x64)₩data₩Sound₩.wav"); } } } if T == -1 then { if L < LL[0] Then { LL[0] = L; LD[0] = sdate; LT[0] = stime; if Condition3 == false and abs(LL[0]-LL[cnt]) <= PriceScale*1 and LD[cnt] >= day1 Then { Condition3 = true; TL3 = TL_New(LD[cnt],LT[cnt],LL[cnt],LD[0],LT[0],LL[0]); TL_SetSize(TL3,선굵기); TL_SetColor(TL3,cyan); idx = abs(LI[0]-LI[cnt]); //tx88 = Text_New(LD[0],LT[0],LL[0],NumToStr(idx,0)); Text_SetColor(tx88,cyan); Text_SetStyle(tx88,0,3); Text_SetBold(tx88,2); PlaySound("C:₩예스트레이더(x64)₩data₩Sound₩.wav"); } } }