커뮤니티

10분봉 차트에서 60분봉 투자심리선 값 산출

프로필 이미지
占쏙옙트
2024-04-23 12:47:36
1259
글번호 178819
답변완료

첨부 이미지

안녕하세요 10분봉 차트 시스템에 60분봉의 투자심리선 값을 적용하려고 하는데 값이 제대로 반영이 되는건지 확실치 않습니다. 투자심리선 (Data3) (15) 지표 : 60분봉차트의 Simrido() 함수를 사용한 투자심리선 심리60 (15) : 10분봉 차트에서 6개 봉으로 심리도 값 계산하여 그린 지표 Input : Period(15); var : Simri(0), bull(0), i(0),j(0); bull = 0; for i = 0 To Period - 1 { if Open[(i*6)+5] < Close[i*6] Then { bull = bull + 1; } } Simri = (bull / Period) * 100; Plot1(Simri, "투자심리선", Red, Def, 2); PlotBaseLine1(25, "기준선1"); PlotBaseLine2(75, "기준선2"); 2.png & 3.png 60분봉 차트에서 봉이 그려지는 구간은 투자심리선 (Data3) 값이 나오지만 그 사이 빈 구간에서는 값이 null 이라 그런지 Data3 차트에서 가져온 Simrido(period) 값을 10분봉 시스템에서 제대로 적용을 하지 못하는거 같습니다. 예시로 매수할 때 MessageLog() 각 10분봉 마다 60분봉의 투자심리선의 값을 구해보려 했지만 예스트레이더가 바로 종료됩니다. Input : Period(15); var : Simri(0, Data3); Simri = Simrido(period); if MarketPosition == 0 Then { if simri[0] > 54 and simri[0] > simri[1] Then { Buy("a", OnClose, Def, 1); MessageLog("값 %s", Simri[0]); } } if MarketPosition == 1 and PositionProfit >= 0.02 Then { ExitLong("매수1청산", OnClose, DEF, "", 1); } 10분봉 차트에서 사용할 수 있게 60분봉 기준의 투자심리도 값을 구할 수 있을까요? 위에 for 루프에서 Open[(i*6)+5] < Close[i*6] 를 사용해봤을때는 도저히 60분봉에서 Simrido() 함수를 사용할 지표와 달라서 사용할 수 없는 상태입니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2024-04-23 16:35:23

안녕하세요 예스스탁입니다. 1 input : 분(60),Period(15); var : S1(0),D1(0),TM(0),TF(0); var : Sim(0),cnt(0),value(0); Array : CC[100](0); if Bdate != Bdate[1] Then { S1 = TimeToMinutes(stime); D1 = sdate; } if D1 > 0 then{ if sdate == D1 Then TM = TimeToMinutes(stime)-S1; Else TM = TimeToMinutes(stime)+1440-S1; TF = TM%분; if Bdate != Bdate[1] or (Bdate == Bdate[1] and 분 > 1 and TF < TF[1]) or (Bdate == Bdate[1] and 분 > 1 and TM >= TM[1]+분) or (Bdate == Bdate[1] and 분 == 1 and TM > TM[1]) Then { for cnt = 99 downto 1 { CC[cnt] = CC[cnt-1]; } } CC[0] = C; value = 0; for cnt = 0 to Period-1 { if CC[cnt] > CC[cnt+1] then Value = 1; } Sim = value/Period * 100 ; plot1(Sim); PlotBaseLine1(25, "기준선1"); PlotBaseLine2(75, "기준선2"); } 2 Input : Period(15); var : Simri(0, Data3); Simri = Simrido(period); 위 내용은 data3의 심리도가 아닙니다. Simri라는 변수만 data3기준으로 값을 저장하고 Simri에 저장되는 값은 기본차트값입니다. 아래와 같이 함수나 계산식 자체를 data3으로 처리하셔야 합니다. Input : Period(15); var : Simri(0, Data3); Simri = data3(Simrido(period)); 즐거운 하루되세요 > 占쏙옙트 님이 쓴 글입니다. > 제목 : 10분봉 차트에서 60분봉 투자심리선 값 산출 > 안녕하세요 10분봉 차트 시스템에 60분봉의 투자심리선 값을 적용하려고 하는데 값이 제대로 반영이 되는건지 확실치 않습니다. 투자심리선 (Data3) (15) 지표 : 60분봉차트의 Simrido() 함수를 사용한 투자심리선 심리60 (15) : 10분봉 차트에서 6개 봉으로 심리도 값 계산하여 그린 지표 Input : Period(15); var : Simri(0), bull(0), i(0),j(0); bull = 0; for i = 0 To Period - 1 { if Open[(i*6)+5] < Close[i*6] Then { bull = bull + 1; } } Simri = (bull / Period) * 100; Plot1(Simri, "투자심리선", Red, Def, 2); PlotBaseLine1(25, "기준선1"); PlotBaseLine2(75, "기준선2"); 2.png & 3.png 60분봉 차트에서 봉이 그려지는 구간은 투자심리선 (Data3) 값이 나오지만 그 사이 빈 구간에서는 값이 null 이라 그런지 Data3 차트에서 가져온 Simrido(period) 값을 10분봉 시스템에서 제대로 적용을 하지 못하는거 같습니다. 예시로 매수할 때 MessageLog() 각 10분봉 마다 60분봉의 투자심리선의 값을 구해보려 했지만 예스트레이더가 바로 종료됩니다. Input : Period(15); var : Simri(0, Data3); Simri = Simrido(period); if MarketPosition == 0 Then { if simri[0] > 54 and simri[0] > simri[1] Then { Buy("a", OnClose, Def, 1); MessageLog("값 %s", Simri[0]); } } if MarketPosition == 1 and PositionProfit >= 0.02 Then { ExitLong("매수1청산", OnClose, DEF, "", 1); } 10분봉 차트에서 사용할 수 있게 60분봉 기준의 투자심리도 값을 구할 수 있을까요? 위에 for 루프에서 Open[(i*6)+5] < Close[i*6] 를 사용해봤을때는 도저히 60분봉에서 Simrido() 함수를 사용할 지표와 달라서 사용할 수 없는 상태입니다.