커뮤니티

수식 부탁 드립니다

프로필 이미지
leekss1
2017-04-02 17:50:01
285
글번호 108377
답변완료

첨부 이미지

식을 나름 줄여봤고요,plot30,plot31을plot60 아래로 옮기고 TEMA2 = TEMA1;도 추가해보았슴니다 그런데 plot60이 검은색일때plot31이 plot30에 일치했다가 plot60이다시 연두색이되면 plot31이 다시 원래자리로 돌아가는데요 plot60이 다시 연두색이되면 그때 plot31선의 시작이 plot30 에서 출발하게 수정좀부탁드리겠슴니다 감사합니다 Input: 시간보정(0),폭보정(1.5),지수호가테마LENGTH1(10),급변(0.05); 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 : va91(0); var : va93(0); var : va96(0); VAR : TEMA1(0); VAR : TEMA2(0); VAR : vmin(0); VAR : vmax(0); //************************************************************* BidsMa = ma(bids,Period); AsksMA = ma(asks,Period); value = ma(bids,period)-ma(asks,period)+29000; //************************************************************* //************************************************************* va91=((c-c[1])/c[1]*100); va93=((value-value[1])/value[1]*1.49); //************************************************************* if stime == 시간보정*100 or (stime > 시간보정*100 and stime[1] < 시간보정*100) or Bdate != Bdate[1] Then { PLOT62(100,"시간보정"); idx = 0; var1 = 100; var2 = var1; } Else{ idx = idx+1; var1 = var1+(var1*(va91/100)); var2 = var2+(var2*(va93/95)); } 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); TEMA2 = (3 * E21) - (3 * E22) + (E23); //****************************** vmin = min(TEMA1 ,TEMA2 ); vmax = max(TEMA1 ,TEMA2 ); //****************************** va71 =( TEMA2 - TEMA1 )+100.3; ##################################################################################################### PLOT60(va71,"55",iff(va71[1]-폭보정 > va71,GREEN,iff(va71[1]+폭보정 < va71,GREEN,BLACK))); if abs (va71[1] - va71) < 폭보정 then{ PLOT64(va71-0.1,"커플링"); //var1 = 100; TEMA2 = TEMA1; // PlaySound("C:예스트레이더dataSoundBandi.wav"); } PLOT30(TEMA1 ,"지수테마",iff((TEMA1 )>(TEMA1)[1]+00,BLACK,iff((TEMA1 )<(TEMA1 )[1]-00,BLACK,BLACK))); PLOT31(TEMA2 ,"호가테마"); //PLOT31(TEMA2 ,"호가테마",iff(va71[3]-폭보정 > va71,RED,iff(va71[3]+폭보정 < va71,RED,GREEN))); ######################################################################################################## if CrossUp(( TEMA2 ),(TEMA1)) Then{ PLOT45((vmin )-0.01,"매수막대"); // PlaySound("C:UsersAdministratorDesktop효과click01.wav"); } if CrossDown(( TEMA2 ),(TEMA1)) Then{ PLOT46((vmin )-0.01,"매도막대"); // PlaySound("C:UsersAdministratorDesktop효과click02.wav"); } if va71[1]+급변 < va71 Then { PLOT18((va71 )+0.01,"매도"); } if va71[1]-급변 > va71 Then { PLOT19((va71 )+0.01,"매수"); } if stime == 시간보정*100 then { PLOT62(100,"시간보정"); }
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2017-04-03 14:31:17

안녕하세요 예스스탁입니다. PLOT60(va71,"55",iff(va71[1]-폭보정 > va71,GREEN,iff(va71[1]+폭보정 < va71,GREEN,BLACK))); 검은색이 va71[1]-폭보정 > va71 조건을 만족하지 않고 va71[1]+폭보정 < va71 조건도 만족하지 않을때 입니다. 조건이 잘못지정되어 있습니다. Input: 시간보정(0),폭보정(1.5),지수호가테마LENGTH1(10),급변(0.05); 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 : va91(0); var : va93(0); var : va96(0); VAR : TEMA1(0); VAR : TEMA2(0); VAR : vmin(0); VAR : vmax(0); //************************************************************* BidsMa = ma(bids,Period); AsksMA = ma(asks,Period); value = ma(bids,period)-ma(asks,period)+29000; //************************************************************* //************************************************************* va91=((c-c[1])/c[1]*100); va93=((value-value[1])/value[1]*1.49); //************************************************************* if stime == 시간보정*100 or (stime > 시간보정*100 and stime[1] < 시간보정*100) or Bdate != Bdate[1] Then { PLOT62(100,"시간보정"); idx = 0; var1 = 100; var2 = var1; } Else{ idx = idx+1; var1 = var1+(var1*(va91/100)); var2 = var2+(var2*(va93/95)); } 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); TEMA2 = (3 * E21) - (3 * E22) + (E23); //****************************** vmin = min(TEMA1 ,TEMA2 ); vmax = max(TEMA1 ,TEMA2 ); //****************************** va71 =( TEMA2 - TEMA1 )+100.3; ##################################################################################################### PLOT60(va71,"55",iff(va71[1]-폭보정 > va71,GREEN,iff(va71[1]+폭보정 < va71,GREEN,BLACK))); if abs (va71[1] - va71) < 폭보정 then{ PLOT64(va71-0.1,"커플링"); //var1 = 100; // PlaySound("C:예스트레이더dataSoundBandi.wav"); } if !(va71[1]-폭보정 > va71) and !(va71[1]+폭보정 < va71) Then TEMA2 = TEMA1; PLOT30(TEMA1 ,"지수테마",iff((TEMA1 )>(TEMA1)[1]+00,BLACK,iff((TEMA1 )<(TEMA1 )[1]-00,BLACK,BLACK))); PLOT31(TEMA2 ,"호가테마"); //PLOT31(TEMA2 ,"호가테마",iff(va71[3]-폭보정 > va71,RED,iff(va71[3]+폭보정 < va71,RED,GREEN))); ######################################################################################################## if CrossUp(( TEMA2 ),(TEMA1)) Then{ PLOT45((vmin )-0.01,"매수막대"); // PlaySound("C:UsersAdministratorDesktop효과click01.wav"); } if CrossDown(( TEMA2 ),(TEMA1)) Then{ PLOT46((vmin )-0.01,"매도막대"); // PlaySound("C:UsersAdministratorDesktop효과click02.wav"); } if va71[1]+급변 < va71 Then { PLOT18((va71 )+0.01,"매도"); } if va71[1]-급변 > va71 Then { PLOT19((va71 )+0.01,"매수"); } if stime == 시간보정*100 then { PLOT62(100,"시간보정"); } 즐거운 하루되세요 > leekss1 님이 쓴 글입니다. > 제목 : 수식 부탁 드립니다 > 식을 나름 줄여봤고요,plot30,plot31을plot60 아래로 옮기고 TEMA2 = TEMA1;도 추가해보았슴니다 그런데 plot60이 검은색일때plot31이 plot30에 일치했다가 plot60이다시 연두색이되면 plot31이 다시 원래자리로 돌아가는데요 plot60이 다시 연두색이되면 그때 plot31선의 시작이 plot30 에서 출발하게 수정좀부탁드리겠슴니다 감사합니다 Input: 시간보정(0),폭보정(1.5),지수호가테마LENGTH1(10),급변(0.05); 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 : va91(0); var : va93(0); var : va96(0); VAR : TEMA1(0); VAR : TEMA2(0); VAR : vmin(0); VAR : vmax(0); //************************************************************* BidsMa = ma(bids,Period); AsksMA = ma(asks,Period); value = ma(bids,period)-ma(asks,period)+29000; //************************************************************* //************************************************************* va91=((c-c[1])/c[1]*100); va93=((value-value[1])/value[1]*1.49); //************************************************************* if stime == 시간보정*100 or (stime > 시간보정*100 and stime[1] < 시간보정*100) or Bdate != Bdate[1] Then { PLOT62(100,"시간보정"); idx = 0; var1 = 100; var2 = var1; } Else{ idx = idx+1; var1 = var1+(var1*(va91/100)); var2 = var2+(var2*(va93/95)); } 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); TEMA2 = (3 * E21) - (3 * E22) + (E23); //****************************** vmin = min(TEMA1 ,TEMA2 ); vmax = max(TEMA1 ,TEMA2 ); //****************************** va71 =( TEMA2 - TEMA1 )+100.3; ##################################################################################################### PLOT60(va71,"55",iff(va71[1]-폭보정 > va71,GREEN,iff(va71[1]+폭보정 < va71,GREEN,BLACK))); if abs (va71[1] - va71) < 폭보정 then{ PLOT64(va71-0.1,"커플링"); //var1 = 100; TEMA2 = TEMA1; // PlaySound("C:예스트레이더dataSoundBandi.wav"); } PLOT30(TEMA1 ,"지수테마",iff((TEMA1 )>(TEMA1)[1]+00,BLACK,iff((TEMA1 )<(TEMA1 )[1]-00,BLACK,BLACK))); PLOT31(TEMA2 ,"호가테마"); //PLOT31(TEMA2 ,"호가테마",iff(va71[3]-폭보정 > va71,RED,iff(va71[3]+폭보정 < va71,RED,GREEN))); ######################################################################################################## if CrossUp(( TEMA2 ),(TEMA1)) Then{ PLOT45((vmin )-0.01,"매수막대"); // PlaySound("C:UsersAdministratorDesktop효과click01.wav"); } if CrossDown(( TEMA2 ),(TEMA1)) Then{ PLOT46((vmin )-0.01,"매도막대"); // PlaySound("C:UsersAdministratorDesktop효과click02.wav"); } if va71[1]+급변 < va71 Then { PLOT18((va71 )+0.01,"매도"); } if va71[1]-급변 > va71 Then { PLOT19((va71 )+0.01,"매수"); } if stime == 시간보정*100 then { PLOT62(100,"시간보정"); }