커뮤니티

수식부탁드립니다-------------

프로필 이미지
leekss1
2017-02-26 19:06:32
140
글번호 107252
답변완료
/*tema1이 20봉중 가장 낮거나 가장높은 값이면 tema1에 tema2를 일치시켜주세요 감사합니다 매번 번거롭게해서미안합니다*/ Input: 보정시각(0),호가더하기(0),지수더하기(0),폭보정(1.5),지수호가테마LENGTH1(10),순매수LENGTH2(10),급변(0.05) ,순매수테마보정한계(0.3),순매수테마급증보정(0.5),순매수테마급감보정(0.5) ,지수테마보정한계(0.3),지수테마급증보정(0.5),지수테마급감보정(0.5) ; var : AsksMA(0),BidsMA(0), Period(1),idx(0),EP(0),E11(0),E12(0),E13(0),E21(0),E22(0),E23(0); Var : value(0); Var : valuec(0); var : va71(0); var : va80(0); var : va81(0); var : va90(0); var : va91(0); var : va92(0); var : va93(0); var : va94(0); var : va95(0); VAR : TEMA1(0); VAR : TEMA2(0); VAR : TEMA3(0); VAR : vmin(0); VAR : vmax(0); BidsMa = ma(bids,Period); AsksMA = ma(asks,Period); value = ma(bids,period)-ma(asks,period)+29000; Plot2(BidsMA, "매수잔량이평"); Plot3(AsksMA, "매도잔량이평"); Plot4(value, "차"); //************************************************************** //************************************************************* va91=((c-c[1])/c[1]*100)*20000/20000; va93=((value-value[1])/value[1]*70)*125/2900; if Bdate != Bdate[1] Then{ idx = 0; var1 = 100; var2 = 100; plot10(var1); plot11(var2); plot51(var2 +호가더하기 ); } Else{ idx = idx+1; var1 = var1+(var1*(va91/100)); var2 = var2+(var2*(va93/95)); plot10(var1+지수더하기 ); plot11(var2+호가더하기 ); plot51(var2+호가더하기 ); TEMA3 = (3 * Ema(var2+호가더하기 ,순매수LENGTH2)) - (3 * Ema(Ema(var2+호가더하기 ,순매수LENGTH2),순매수LENGTH2)) + (Ema(Ema(Ema(var2+호가더하기 ,순매수LENGTH2),순매수LENGTH2),순매수LENGTH2)); if TEMA3 >TEMA3[1]+순매수테마보정한계 then TEMA3 = ((TEMA3 -TEMA3[1])*순매수테마급증보정)+TEMA3[1]; if TEMA3 <TEMA3[1]-순매수테마보정한계 then TEMA3 = TEMA3[1]-((TEMA3[1] -TEMA3)*순매수테마급감보정); if TEMA3 >TEMA3[1]+50 then TEMA3 = ((TEMA3 -TEMA3[1])*0.9)+TEMA3[1]; if TEMA3 <TEMA3[1]-50 then TEMA3 = TEMA3[1]-((TEMA3[1] -TEMA3)*0.9); plot52(TEMA3,"순매수테마"); } if var2-var1 > 폭보정 Then var2=var1; if var1-var2 > 폭보정 Then var2=var1; EP = 2/(지수호가테마LENGTH1+1); if idx == 0 Then{ E11 = var1; E21 = var2; } Else{ E11 = var1 * EP + E11 * (1-EP); E21 = var2 * EP + E21 * (1-EP); } if idx <= 1 Then{ E12 = E11; E22 = E21; } Else{ E12 = E11 * EP + E12 * (1-EP); E22 = E21 * EP + E22 * (1-EP); } if idx <= 2 Then{ E13 = E12; E23 = E22; } Else{ E13 = E12 * EP + E13 * (1-EP); E23 = E22 * EP + E23 * (1-EP); } TEMA1 = (3 * E11) - (3 * E12) + (E13); if TEMA1 >TEMA1[1]+지수테마보정한계 then TEMA1 = ((TEMA1 -TEMA1[1])*지수테마급증보정)+TEMA1[1]; if TEMA1 <TEMA1[1]-지수테마보정한계 then TEMA1 = TEMA1[1]-((TEMA1[1] -TEMA1)*지수테마급감보정); if TEMA2 >TEMA2[1]+지수테마보정한계 then TEMA2 = ((TEMA2 -TEMA2[1])*지수테마급증보정)+TEMA2[1]; if TEMA2 <TEMA2[1]-지수테마보정한계 then TEMA2 = TEMA2[1]-((TEMA2[1] -TEMA2)*지수테마급감보정); TEMA2 = (3 * E21) - (3 * E22) + (E23); PLOT30(TEMA1+지수더하기 ,"지수테마",iff((TEMA1 +지수더하기 )>(TEMA1 +지수더하기)[1]+00,BLACK,iff((TEMA1 +지수더하기 )<(TEMA1 +지수더하기 )[1]-00,BLACK,BLACK))); PLOT31(TEMA2 +호가더하기,"호가테마"); if stime == 보정시각 then TEMA1 = TEMA2; vmin = min(TEMA1 ,TEMA1 ,va71); vmax = max(TEMA1 ,TEMA1 ,va71); if TEMA1+지수더하기> TEMA2+호가더하기 Then{ var80 = (TEMA1+지수더하기- TEMA2 +호가더하기 )*0.5+TEMA2+호가더하기 ; } if TEMA1 < TEMA2+호가더하기 Then{ var80 = (TEMA2+호가더하기 -TEMA1+지수더하기)*0.5+TEMA1+지수더하기 ; } PLOT17(var80,"지호평균"); //테마합 일정 수량차이상의 급등락 표시 if TEMA3 > TEMA3[1]+ 급변 Then{plot21(vmin-0.05,"급등");} if TEMA3 < TEMA3[1]- 급변 Then{plot22(vmin-0.05,"급락");} va71 =( TEMA2+호가더하기 - TEMA1+지수더하기 )+100; if (va71[1] )< (va71)then { PLOT25((va71 )-0.02,"매수예비"); //PlaySound("C:₩예스트레이더₩data₩Sound₩pp.wav"); } if (va71[1] )> (va71) Then{ PLOT26((va71 )-0.02,"매도예비"); // PlaySound("C:₩예스트레이더₩data₩Sound₩dingdong.wav"); } PLOT60(va71,"55"); if (TEMA1[1]+지수더하기 )< (TEMA1+지수더하기) and (va71[1] )< (va71)then { PLOT45((va71 )-0.02,"매수막대"); PlaySound("C:₩예스트레이더₩data₩Sound₩up.wav"); } if (TEMA1[1]+지수더하기 )> (TEMA1+지수더하기) and (va71[1] )> (va71) Then{ PLOT46((va71 )-0.02,"매도막대"); PlaySound("C:₩예스트레이더₩data₩Sound₩dingdong.wav"); } if va71[1]+급변 < va71 Then { PLOT18((va71 )+0.01,"매도"); } if va71[1]-급변 > va71 Then { PLOT19((va71 )+0.01,"매수"); }
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2017-02-27 18:02:58

안녕하세요 예스스탁입니다. TEMA2 = (3 * E21) - (3 * E22) + (E23); 위의 내용을 아래와 같이 수정했습니다. if highest(tema1,20) == tema1 or lowest(tema1,20) == tema1 Then TEMA2 = tema1; else TEMA2 = (3 * E21) - (3 * E22) + (E23); tema1이 20봉 최고가나 최저가이면 tema2를 tema1과 같은 값으로 저장합니다 Input: 보정시각(0),호가더하기(0),지수더하기(0),폭보정(1.5),지수호가테마LENGTH1(10),순매수LENGTH2(10),급변(0.05) ,순매수테마보정한계(0.3),순매수테마급증보정(0.5),순매수테마급감보정(0.5) ,지수테마보정한계(0.3),지수테마급증보정(0.5),지수테마급감보정(0.5) ; var : AsksMA(0),BidsMA(0), Period(1),idx(0),EP(0),E11(0),E12(0),E13(0),E21(0),E22(0),E23(0); Var : value(0); Var : valuec(0); var : va71(0); var : va80(0); var : va81(0); var : va90(0); var : va91(0); var : va92(0); var : va93(0); var : va94(0); var : va95(0); VAR : TEMA1(0); VAR : TEMA2(0); VAR : TEMA3(0); VAR : vmin(0); VAR : vmax(0); BidsMa = ma(bids,Period); AsksMA = ma(asks,Period); value = ma(bids,period)-ma(asks,period)+29000; Plot2(BidsMA, "매수잔량이평"); Plot3(AsksMA, "매도잔량이평"); Plot4(value, "차"); //************************************************************** //************************************************************* va91=((c-c[1])/c[1]*100)*20000/20000; va93=((value-value[1])/value[1]*70)*125/2900; if Bdate != Bdate[1] Then{ idx = 0; var1 = 100; var2 = 100; plot10(var1); plot11(var2); plot51(var2 +호가더하기 ); } Else{ idx = idx+1; var1 = var1+(var1*(va91/100)); var2 = var2+(var2*(va93/95)); plot10(var1+지수더하기 ); plot11(var2+호가더하기 ); plot51(var2+호가더하기 ); TEMA3 = (3 * Ema(var2+호가더하기 ,순매수LENGTH2)) - (3 * Ema(Ema(var2+호가더하기 ,순매수LENGTH2),순매수LENGTH2)) + (Ema(Ema(Ema(var2+호가더하기 ,순매수LENGTH2),순매수LENGTH2),순매수LENGTH2)); if TEMA3 >TEMA3[1]+순매수테마보정한계 then TEMA3 = ((TEMA3 -TEMA3[1])*순매수테마급증보정)+TEMA3[1]; if TEMA3 <TEMA3[1]-순매수테마보정한계 then TEMA3 = TEMA3[1]-((TEMA3[1] -TEMA3)*순매수테마급감보정); if TEMA3 >TEMA3[1]+50 then TEMA3 = ((TEMA3 -TEMA3[1])*0.9)+TEMA3[1]; if TEMA3 <TEMA3[1]-50 then TEMA3 = TEMA3[1]-((TEMA3[1] -TEMA3)*0.9); plot52(TEMA3,"순매수테마"); } if var2-var1 > 폭보정 Then var2=var1; if var1-var2 > 폭보정 Then var2=var1; EP = 2/(지수호가테마LENGTH1+1); if idx == 0 Then{ E11 = var1; E21 = var2; } Else{ E11 = var1 * EP + E11 * (1-EP); E21 = var2 * EP + E21 * (1-EP); } if idx <= 1 Then{ E12 = E11; E22 = E21; } Else{ E12 = E11 * EP + E12 * (1-EP); E22 = E21 * EP + E22 * (1-EP); } if idx <= 2 Then{ E13 = E12; E23 = E22; } Else{ E13 = E12 * EP + E13 * (1-EP); E23 = E22 * EP + E23 * (1-EP); } TEMA1 = (3 * E11) - (3 * E12) + (E13); if TEMA1 >TEMA1[1]+지수테마보정한계 then TEMA1 = ((TEMA1 -TEMA1[1])*지수테마급증보정)+TEMA1[1]; if TEMA1 <TEMA1[1]-지수테마보정한계 then TEMA1 = TEMA1[1]-((TEMA1[1] -TEMA1)*지수테마급감보정); if TEMA2 >TEMA2[1]+지수테마보정한계 then TEMA2 = ((TEMA2 -TEMA2[1])*지수테마급증보정)+TEMA2[1]; if TEMA2 <TEMA2[1]-지수테마보정한계 then TEMA2 = TEMA2[1]-((TEMA2[1] -TEMA2)*지수테마급감보정); if highest(tema1,20) == tema1 or lowest(tema1,20) == tema1 Then tema2 = tema1; else TEMA2 = (3 * E21) - (3 * E22) + (E23); PLOT30(TEMA1+지수더하기 ,"지수테마",iff((TEMA1 +지수더하기 )>(TEMA1 +지수더하기)[1]+00,BLACK,iff((TEMA1 +지수더하기 )<(TEMA1 +지수더하기 )[1]-00,BLACK,BLACK))); PLOT31(TEMA2 +호가더하기,"호가테마"); if stime == 보정시각 then TEMA1 = TEMA2; vmin = min(TEMA1 ,TEMA1 ,va71); vmax = max(TEMA1 ,TEMA1 ,va71); if TEMA1+지수더하기> TEMA2+호가더하기 Then{ var80 = (TEMA1+지수더하기- TEMA2 +호가더하기 )*0.5+TEMA2+호가더하기 ; } if TEMA1 < TEMA2+호가더하기 Then{ var80 = (TEMA2+호가더하기 -TEMA1+지수더하기)*0.5+TEMA1+지수더하기 ; } PLOT17(var80,"지호평균"); //테마합 일정 수량차이상의 급등락 표시 if TEMA3 > TEMA3[1]+ 급변 Then{plot21(vmin-0.05,"급등");} if TEMA3 < TEMA3[1]- 급변 Then{plot22(vmin-0.05,"급락");} va71 =( TEMA2+호가더하기 - TEMA1+지수더하기 )+100; if (va71[1] )< (va71)then { PLOT25((va71 )-0.02,"매수예비"); //PlaySound("C:₩예스트레이더₩data₩Sound₩pp.wav"); } if (va71[1] )> (va71) Then{ PLOT26((va71 )-0.02,"매도예비"); // PlaySound("C:₩예스트레이더₩data₩Sound₩dingdong.wav"); } PLOT60(va71,"55"); if (TEMA1[1]+지수더하기 )< (TEMA1+지수더하기) and (va71[1] )< (va71)then { PLOT45((va71 )-0.02,"매수막대"); PlaySound("C:₩예스트레이더₩data₩Sound₩up.wav"); } if (TEMA1[1]+지수더하기 )> (TEMA1+지수더하기) and (va71[1] )> (va71) Then{ PLOT46((va71 )-0.02,"매도막대"); PlaySound("C:₩예스트레이더₩data₩Sound₩dingdong.wav"); } if va71[1]+급변 < va71 Then { PLOT18((va71 )+0.01,"매도"); } if va71[1]-급변 > va71 Then { PLOT19((va71 )+0.01,"매수"); } 즐거운 하루되세요 > leekss1 님이 쓴 글입니다. > 제목 : 수식부탁드립니다------------- > /*tema1이 20봉중 가장 낮거나 가장높은 값이면 tema1에 tema2를 일치시켜주세요 감사합니다 매번 번거롭게해서미안합니다*/ Input: 보정시각(0),호가더하기(0),지수더하기(0),폭보정(1.5),지수호가테마LENGTH1(10),순매수LENGTH2(10),급변(0.05) ,순매수테마보정한계(0.3),순매수테마급증보정(0.5),순매수테마급감보정(0.5) ,지수테마보정한계(0.3),지수테마급증보정(0.5),지수테마급감보정(0.5) ; var : AsksMA(0),BidsMA(0), Period(1),idx(0),EP(0),E11(0),E12(0),E13(0),E21(0),E22(0),E23(0); Var : value(0); Var : valuec(0); var : va71(0); var : va80(0); var : va81(0); var : va90(0); var : va91(0); var : va92(0); var : va93(0); var : va94(0); var : va95(0); VAR : TEMA1(0); VAR : TEMA2(0); VAR : TEMA3(0); VAR : vmin(0); VAR : vmax(0); BidsMa = ma(bids,Period); AsksMA = ma(asks,Period); value = ma(bids,period)-ma(asks,period)+29000; Plot2(BidsMA, "매수잔량이평"); Plot3(AsksMA, "매도잔량이평"); Plot4(value, "차"); //************************************************************** //************************************************************* va91=((c-c[1])/c[1]*100)*20000/20000; va93=((value-value[1])/value[1]*70)*125/2900; if Bdate != Bdate[1] Then{ idx = 0; var1 = 100; var2 = 100; plot10(var1); plot11(var2); plot51(var2 +호가더하기 ); } Else{ idx = idx+1; var1 = var1+(var1*(va91/100)); var2 = var2+(var2*(va93/95)); plot10(var1+지수더하기 ); plot11(var2+호가더하기 ); plot51(var2+호가더하기 ); TEMA3 = (3 * Ema(var2+호가더하기 ,순매수LENGTH2)) - (3 * Ema(Ema(var2+호가더하기 ,순매수LENGTH2),순매수LENGTH2)) + (Ema(Ema(Ema(var2+호가더하기 ,순매수LENGTH2),순매수LENGTH2),순매수LENGTH2)); if TEMA3 >TEMA3[1]+순매수테마보정한계 then TEMA3 = ((TEMA3 -TEMA3[1])*순매수테마급증보정)+TEMA3[1]; if TEMA3 <TEMA3[1]-순매수테마보정한계 then TEMA3 = TEMA3[1]-((TEMA3[1] -TEMA3)*순매수테마급감보정); if TEMA3 >TEMA3[1]+50 then TEMA3 = ((TEMA3 -TEMA3[1])*0.9)+TEMA3[1]; if TEMA3 <TEMA3[1]-50 then TEMA3 = TEMA3[1]-((TEMA3[1] -TEMA3)*0.9); plot52(TEMA3,"순매수테마"); } if var2-var1 > 폭보정 Then var2=var1; if var1-var2 > 폭보정 Then var2=var1; EP = 2/(지수호가테마LENGTH1+1); if idx == 0 Then{ E11 = var1; E21 = var2; } Else{ E11 = var1 * EP + E11 * (1-EP); E21 = var2 * EP + E21 * (1-EP); } if idx <= 1 Then{ E12 = E11; E22 = E21; } Else{ E12 = E11 * EP + E12 * (1-EP); E22 = E21 * EP + E22 * (1-EP); } if idx <= 2 Then{ E13 = E12; E23 = E22; } Else{ E13 = E12 * EP + E13 * (1-EP); E23 = E22 * EP + E23 * (1-EP); } TEMA1 = (3 * E11) - (3 * E12) + (E13); if TEMA1 >TEMA1[1]+지수테마보정한계 then TEMA1 = ((TEMA1 -TEMA1[1])*지수테마급증보정)+TEMA1[1]; if TEMA1 <TEMA1[1]-지수테마보정한계 then TEMA1 = TEMA1[1]-((TEMA1[1] -TEMA1)*지수테마급감보정); if TEMA2 >TEMA2[1]+지수테마보정한계 then TEMA2 = ((TEMA2 -TEMA2[1])*지수테마급증보정)+TEMA2[1]; if TEMA2 <TEMA2[1]-지수테마보정한계 then TEMA2 = TEMA2[1]-((TEMA2[1] -TEMA2)*지수테마급감보정); TEMA2 = (3 * E21) - (3 * E22) + (E23); PLOT30(TEMA1+지수더하기 ,"지수테마",iff((TEMA1 +지수더하기 )>(TEMA1 +지수더하기)[1]+00,BLACK,iff((TEMA1 +지수더하기 )<(TEMA1 +지수더하기 )[1]-00,BLACK,BLACK))); PLOT31(TEMA2 +호가더하기,"호가테마"); if stime == 보정시각 then TEMA1 = TEMA2; vmin = min(TEMA1 ,TEMA1 ,va71); vmax = max(TEMA1 ,TEMA1 ,va71); if TEMA1+지수더하기> TEMA2+호가더하기 Then{ var80 = (TEMA1+지수더하기- TEMA2 +호가더하기 )*0.5+TEMA2+호가더하기 ; } if TEMA1 < TEMA2+호가더하기 Then{ var80 = (TEMA2+호가더하기 -TEMA1+지수더하기)*0.5+TEMA1+지수더하기 ; } PLOT17(var80,"지호평균"); //테마합 일정 수량차이상의 급등락 표시 if TEMA3 > TEMA3[1]+ 급변 Then{plot21(vmin-0.05,"급등");} if TEMA3 < TEMA3[1]- 급변 Then{plot22(vmin-0.05,"급락");} va71 =( TEMA2+호가더하기 - TEMA1+지수더하기 )+100; if (va71[1] )< (va71)then { PLOT25((va71 )-0.02,"매수예비"); //PlaySound("C:₩예스트레이더₩data₩Sound₩pp.wav"); } if (va71[1] )> (va71) Then{ PLOT26((va71 )-0.02,"매도예비"); // PlaySound("C:₩예스트레이더₩data₩Sound₩dingdong.wav"); } PLOT60(va71,"55"); if (TEMA1[1]+지수더하기 )< (TEMA1+지수더하기) and (va71[1] )< (va71)then { PLOT45((va71 )-0.02,"매수막대"); PlaySound("C:₩예스트레이더₩data₩Sound₩up.wav"); } if (TEMA1[1]+지수더하기 )> (TEMA1+지수더하기) and (va71[1] )> (va71) Then{ PLOT46((va71 )-0.02,"매도막대"); PlaySound("C:₩예스트레이더₩data₩Sound₩dingdong.wav"); } if va71[1]+급변 < va71 Then { PLOT18((va71 )+0.01,"매도"); } if va71[1]-급변 > va71 Then { PLOT19((va71 )+0.01,"매수"); }