커뮤니티

수식수정부탁드립니다=======

프로필 이미지
leekss1
2017-03-02 04:54:35
118
글번호 107375
답변완료
/*보정치로 보정하기전의 ( TEMA2+호가더하기/1000 )을 plot90으로 표시하고싶습니다 부탁드립니다*/ 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 : va61(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 : va96(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 +호가더하기/1000 ); } Else{ idx = idx+1; var1 = var1+(var1*(va91/100)); if abs(va71[5]-va71) <= 보정치/10000 Then var2 = var1; else var2 = var2+(var2*(va93/95)); plot10(var1+지수더하기/1000 ); plot11(var2+호가더하기/1000 ); plot51(var2+호가더하기/1000 ); TEMA3 = (3 * Ema(var2+호가더하기/1000 ,순매수LENGTH2)) - (3 * Ema(Ema(var2+호가더하기/1000 ,순매수LENGTH2),순매수LENGTH2)) + (Ema(Ema(Ema(var2+호가더하기/1000 ,순매수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; //if va71[1] < va71 and va71[1] + 0.05 > va71 then var2=var1; //if va71[1] > va71 and va71[1] - 0.05 > va71 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+지수더하기/1000 ,"지수테마",iff((TEMA1 +지수더하기/1000 )>(TEMA1 +지수더하기/1000)[1]+00,BLACK,iff((TEMA1 +지수더하기/1000 )<(TEMA1 +지수더하기/1000 )[1]-00,BLACK,BLACK))); PLOT31(TEMA2 +호가더하기/1000,"호가테마"); vmin = min(TEMA1+지수더하기/1000 ,TEMA2+호가더하기/1000 ); vmax = max(TEMA1+지수더하기/1000 ,TEMA2+호가더하기/1000 ); if TEMA1+지수더하기/1000> TEMA2+호가더하기/1000 Then{ var80 = (TEMA1+지수더하기/1000- TEMA2 +호가더하기/1000 )*0.5+TEMA2+호가더하기/1000 ; } if TEMA1 < TEMA2+호가더하기/1000 Then{ var80 = (TEMA2+호가더하기/1000 -TEMA1+지수더하기/1000)*0.5+TEMA1+지수더하기/1000 ; } PLOT17(var80,"지호평균"); //테마합 일정 수량차이상의 급등락 표시 if TEMA3 > TEMA3[1]+ 급변 Then{plot21(vmin-0.05,"급등");} if TEMA3 < TEMA3[1]- 급변 Then{plot22(vmin-0.05,"급락");} va71 =( TEMA2+호가더하기/1000 - TEMA1+지수더하기/1000 )+100; if ( TEMA2+호가더하기/1000 )[1] < ( TEMA2+호가더하기/1000 ) and (TEMA1+지수더하기/1000)[1] < (TEMA1+지수더하기/1000) Then{ PLOT25((vmin )-0.02,"매수예비"); //PlaySound("C:₩예스트레이더₩data₩Sound₩pp.wav"); } if ( TEMA2+호가더하기/1000 )[1] > ( TEMA2+호가더하기/1000 ) and (TEMA1+지수더하기/1000)[1] > (TEMA1+지수더하기/1000) Then{ PLOT26((vmin )-0.02,"매도예비"); // PlaySound("C:₩예스트레이더₩data₩Sound₩dingdong.wav"); } PLOT60(va71,"55"); if CrossUp (( TEMA2+호가더하기/1000 ),(TEMA1+지수더하기/1000)) Then{ //if (TEMA1[1]+지수더하기/1000 )< (TEMA1+지수더하기/1000) and (va71[1] )< (va71)then { PLOT45((vmin )-0.02,"매수막대"); PlaySound("C:₩예스트레이더₩data₩Sound₩up.wav"); } if CrossDown (( TEMA2+호가더하기/1000 ),(TEMA1+지수더하기/1000)) Then{ // if (TEMA1[1]+지수더하기/1000 )> (TEMA1+지수더하기/1000) and (va71[1] )> (va71) Then{ PLOT46((vmin )-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,"매수"); } va96 = (tema1 - tema2)*1000; PLOT61(va96,"66");
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2017-03-02 14:05:39

안녕하세요 예스스탁입니다. 죄송하지만 문의하신 내용은 작성방법을 잘 모르겠습니다. 도움을 드리지 못해 죄송합니다. 즐거운 하루되세요 > leekss1 님이 쓴 글입니다. > 제목 : 수식수정부탁드립니다======= > /*보정치로 보정하기전의 ( TEMA2+호가더하기/1000 )을 plot90으로 표시하고싶습니다 부탁드립니다*/ 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 : va61(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 : va96(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 +호가더하기/1000 ); } Else{ idx = idx+1; var1 = var1+(var1*(va91/100)); if abs(va71[5]-va71) <= 보정치/10000 Then var2 = var1; else var2 = var2+(var2*(va93/95)); plot10(var1+지수더하기/1000 ); plot11(var2+호가더하기/1000 ); plot51(var2+호가더하기/1000 ); TEMA3 = (3 * Ema(var2+호가더하기/1000 ,순매수LENGTH2)) - (3 * Ema(Ema(var2+호가더하기/1000 ,순매수LENGTH2),순매수LENGTH2)) + (Ema(Ema(Ema(var2+호가더하기/1000 ,순매수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; //if va71[1] < va71 and va71[1] + 0.05 > va71 then var2=var1; //if va71[1] > va71 and va71[1] - 0.05 > va71 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+지수더하기/1000 ,"지수테마",iff((TEMA1 +지수더하기/1000 )>(TEMA1 +지수더하기/1000)[1]+00,BLACK,iff((TEMA1 +지수더하기/1000 )<(TEMA1 +지수더하기/1000 )[1]-00,BLACK,BLACK))); PLOT31(TEMA2 +호가더하기/1000,"호가테마"); vmin = min(TEMA1+지수더하기/1000 ,TEMA2+호가더하기/1000 ); vmax = max(TEMA1+지수더하기/1000 ,TEMA2+호가더하기/1000 ); if TEMA1+지수더하기/1000> TEMA2+호가더하기/1000 Then{ var80 = (TEMA1+지수더하기/1000- TEMA2 +호가더하기/1000 )*0.5+TEMA2+호가더하기/1000 ; } if TEMA1 < TEMA2+호가더하기/1000 Then{ var80 = (TEMA2+호가더하기/1000 -TEMA1+지수더하기/1000)*0.5+TEMA1+지수더하기/1000 ; } PLOT17(var80,"지호평균"); //테마합 일정 수량차이상의 급등락 표시 if TEMA3 > TEMA3[1]+ 급변 Then{plot21(vmin-0.05,"급등");} if TEMA3 < TEMA3[1]- 급변 Then{plot22(vmin-0.05,"급락");} va71 =( TEMA2+호가더하기/1000 - TEMA1+지수더하기/1000 )+100; if ( TEMA2+호가더하기/1000 )[1] < ( TEMA2+호가더하기/1000 ) and (TEMA1+지수더하기/1000)[1] < (TEMA1+지수더하기/1000) Then{ PLOT25((vmin )-0.02,"매수예비"); //PlaySound("C:₩예스트레이더₩data₩Sound₩pp.wav"); } if ( TEMA2+호가더하기/1000 )[1] > ( TEMA2+호가더하기/1000 ) and (TEMA1+지수더하기/1000)[1] > (TEMA1+지수더하기/1000) Then{ PLOT26((vmin )-0.02,"매도예비"); // PlaySound("C:₩예스트레이더₩data₩Sound₩dingdong.wav"); } PLOT60(va71,"55"); if CrossUp (( TEMA2+호가더하기/1000 ),(TEMA1+지수더하기/1000)) Then{ //if (TEMA1[1]+지수더하기/1000 )< (TEMA1+지수더하기/1000) and (va71[1] )< (va71)then { PLOT45((vmin )-0.02,"매수막대"); PlaySound("C:₩예스트레이더₩data₩Sound₩up.wav"); } if CrossDown (( TEMA2+호가더하기/1000 ),(TEMA1+지수더하기/1000)) Then{ // if (TEMA1[1]+지수더하기/1000 )> (TEMA1+지수더하기/1000) and (va71[1] )> (va71) Then{ PLOT46((vmin )-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,"매수"); } va96 = (tema1 - tema2)*1000; PLOT61(va96,"66");