안녕하세요
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() 함수를 사용할 지표와 달라서 사용할 수 없는 상태입니다.