예스스탁
예스스탁 답변
2020-07-16 16:31:28
안녕하세요
예스스탁입니다.
1-1 지표
input: p1(5),p3(10),매수(30),매도(70);
var : RC(0),RC1(0),RM(0),Linda(0),DINDEX(0),Pre1(0),Pre2(0),emav1(0),emav2(0);
var : EP(0);
RC = ((dayclose(0) - dayclose(p1)) /dayclose(p1))*100;
RC1 = ((dayclose(1) - dayclose(p1+1)) /dayclose(p1+1))*100;
RM = RC-RC1;
value1 = IFF(RM>0,RM,0);
value2 = IFF(RM<0,abs(RM),0);
EP = 2/(P3+1);
if bdate != bdate[1] then
{
DINDEX = DINDEX + 1;
Pre1 = emav1[1];
Pre2 = emav2[1];
}
if DINDEX <= 1 then{
emav1 = value1;
emav2 = value2;
}
else
{
emav1 = value1 * EP + Pre1 * (1-EP);
emav2 = value2 * EP + Pre2 * (1-EP);
}
Linda = 100-(100/(1+emav1/emav2));
plot1(Linda);
1-2
input: p1(5),p3(10),매수(30),매도(70);
var : RC(0),RC1(0),RM(0),Linda(0),DINDEX(0),Pre1(0),Pre2(0),emav1(0),emav2(0);
var : EP(0);
RC = ((dayclose(0) - dayclose(p1)) /dayclose(p1))*100;
RC1 = ((dayclose(1) - dayclose(p1+1)) /dayclose(p1+1))*100;
RM = RC-RC1;
value1 = IFF(RM>0,RM,0);
value2 = IFF(RM<0,abs(RM),0);
EP = 2/(P3+1);
if bdate != bdate[1] then
{
DINDEX = DINDEX + 1;
Pre1 = emav1[1];
Pre2 = emav2[1];
}
if DINDEX <= 1 then
{
emav1 = value1;
emav2 = value2;
}
else
{
emav1 = value1 * EP + Pre1 * (1-EP);
emav2 = value2 * EP + Pre2 * (1-EP);
}
Linda = 100-(100/(1+emav1/emav2));
//매수
If
crossup(linda,매수)
Then
buy("매수1",OnClose,def);
//청산
If
crossdown(linda,매도)
Then
exitlong("Exit",OnClose,DEF);
2-1 지표
input : Period(14);
var : cnt(0),sum1(0),sum2(0),MFIv(0);
sum1 = 0;
sum2 = 0;
for cnt = 0 to Period-1
{
if (dayhigh(cnt)+daylow(cnt)+DayClose(cnt)) > (dayhigh(cnt+1)+daylow(cnt+1)+DayClose(cnt+1)) Then
sum1 = sum1 + DayVolume(cnt)*(dayhigh(cnt)+daylow(cnt)+DayClose(cnt))/3;
Else
sum1 = sum1+0;
if (dayhigh(cnt)+daylow(cnt)+DayClose(cnt)) < (dayhigh(cnt+1)+daylow(cnt+1)+DayClose(cnt+1)) Then
sum2 = sum2 + DayVolume(cnt)*(dayhigh(cnt)+daylow(cnt)+DayClose(cnt))/3;
Else
sum2 = sum2+0;
}
MFIv = 100 - 100 / (1 + (sum1 / sum2));
plot1(MFIv);
PlotBaseLine1(20, "하단기준선");
PlotBaseLine2(80, "상단기준선");
2-2
Input : Period(14), LPercent(20), SPercent(80);
var : cnt(0),sum1(0),sum2(0),MFIv(0);
sum1 = 0;
sum2 = 0;
for cnt = 0 to Period-1
{
if (dayhigh(cnt)+daylow(cnt)+DayClose(cnt)) > (dayhigh(cnt+1)+daylow(cnt+1)+DayClose(cnt+1)) Then
sum1 = sum1 + DayVolume(cnt)*(dayhigh(cnt)+daylow(cnt)+DayClose(cnt))/3;
Else
sum1 = sum1+0;
if (dayhigh(cnt)+daylow(cnt)+DayClose(cnt)) < (dayhigh(cnt+1)+daylow(cnt+1)+DayClose(cnt+1)) Then
sum2 = sum2 + DayVolume(cnt)*(dayhigh(cnt)+daylow(cnt)+DayClose(cnt))/3;
Else
sum2 = sum2+0;
}
MFIv = 100 - 100 / (1 + (sum1 / sum2));
# 매수/매도청산
If crossup(MFIv ,LPercent) Then
{
Buy();
}
# 매도/매수청산
If crossdown(MFIv,SPercent) Then
{
Sell();
}
즐거운 하루되세요
> 하운드독 님이 쓴 글입니다.
> 제목 : 일봉시스템의 분봉 시스템 수식문의
> 아래수식은 일봉차트에 적용가능한데,
분봉(3 OR 5분봉)차트에 적용할수 있게끔 수식 수정 부탁드립니다.
//-------수식[1]-----
input: p1(5),p3(10),매수(30),매도(70);
var: rc(0),RM(0),Linda(0);
RC= ((C - C[p1]) / C[p1])*100;
RM=RC-RC[1];
Linda=100-(100/(1+Ema(IFF(RM>0,RM,0), p3)/
Ema(IFF(RM<0, abs(RM),0),p3)));
//매수
If
crossup(linda,매수)
Then
buy("매수1",OnClose,def);
//청산
If
crossdown(linda,매도)
Then
exitlong("Exit",OnClose,DEF);
//-----------------------------
예스 기본내장 함수인 MFI를 일봉차트의 내용을 분봉으로 적용하고자합니다.
아래수식을 분봉차트용으로 부탁드립니다.
---수식 2 시작( MFI :MONEY FLOW INDEX)---
Input : Period(14), LPercent(20), SPercent(80);
Var : value(0);
value = MFI(Period);
# 매수/매도청산
If crossup(value ,LPercent) Then
{
Buy();
}
# 매도/매수청산
If crossdown(value,SPercent) Then
{
Sell();
}
//-------------------------수식2 끝-----------