예스스탁
예스스탁 답변
2024-11-06 10:16:22
안녕하세요
예스스탁입니다.
1
지표는 크로스업이면 1, 크로스다운이면 -1, 2개 모두 아닌봉은 0이 그려지게 작성해 드립니다.
input : 분봉기간(60),일봉기간(20);
var : cnt(0);
var : m1(0),sum2(0),m2(0);
m1 = ma(C,분봉기간);
sum2 = 0;
For cnt = 0 to 일봉기간-1
{
sum2 = sum2 + DayClose(cnt);
}
m2 = sum2/일봉기간;
var1 = 0;
if CrossUp(m1,m2) Then
var1 = 1;
if CrossDown(m1,m2) Then
var1 = -1;
Plot1(var1);
2
사용자함수는 이전 답변드린 함수와 같습니다.
UP은 1, down은 -1로 지정하셔야 합니다.
지정한 기간에 지정한 up이나 down 크로스가 발생하면 true 아니면 flase가 리턴됩니다.
사용자함수 : MDAYCROSS
반환값형 : 논리형
input : 분봉기간(Numeric),일봉기간(Numeric),updown(Numeric);
var : cnt(0);
var : m1(0),sum2(0),m2(0);
m1 = ma(C,분봉기간);
sum2 = 0;
For cnt = 0 to 일봉기간-1
{
sum2 = sum2 + DayClose(cnt);
}
m2 = sum2/일봉기간;
MDAYCROSS = False;
if updown == 1 and CrossUp(m1,m2) Then
MDAYCROSS = true;
if updown == -1 and CrossDown(m1,m2) Then
MDAYCROSS = true;
3
input : short(5),long(20);
var :cnt(0),sum11(0),sum12(0),sum21(0),sum22(0);
var : m11(0),m12(0),m21(0),m22(0);
sum11 = 0;
sum12 = 0;
sum21 = 0;
sum22 = 0;
For cnt = 0 to max(short,long)
{
if cnt < short Then
{
sum11 = sum11 + DayClose(cnt);
sum12 = sum12 + DayClose(cnt+1);
}
if cnt < long Then
{
sum21 = sum21 + DayClose(cnt);
sum22 = sum22 + DayClose(cnt+1);
}
}
m11 = sum11/short;
m12 = sum12/short;
m21 = sum21/long;
m21 = sum21/long;
var1 = 0;
if m11 > m21 and m12 <= m22 Then
var1 = 1;
if m11 < m21 and m12 >= m22 Then
var1 = -1;
Plot1(var1);
즐거운 하루되세요
> yamu 님이 쓴 글입니다.
> 제목 : 추가로 하나 부탁드립니다
> 전 질문에서
분봉에서 일봉MA 간의 크로스 를 여쭤봤었는데요
분봉에서 분봉MA가 일봉 MA 를 크로스 업 /다운 하는 수식과 함수도 여쭤보고싶습니다
*예를들어 분봉 120봉에서 60선이 일봉 20봉을 크로스업
사용자 함수로
MDAYCROSS(분봉기간1, 일봉기간2, UP 혹은 DOWN 선택)
지난 질문에서 사용자 함수 식을 알려주셨는데 일반 지표식으로 쓰려면
예시: 분봉에서 일봉 5MA 가 20MA 크로스
아래식으로 사용하면 되는걸까요??
short=5;
long=20;
sum11 = 0;
sum12 = 0;
sum21 = 0;
sum22 = 0;
For cnt = 0 to max(short,long)
{
if cnt < short Then
{
sum11 = sum11 + DayClose(cnt);
sum12 = sum12 + DayClose(cnt+1);
}
if cnt < long Then
{
sum21 = sum21 + DayClose(cnt);
sum22 = sum22 + DayClose(cnt+1);
}
}
m11 = sum11/short;
m12 = sum12/short;
m21 = sum21/long;
m21 = sum21/long;
if m11 > m21 and m12 <= m22 Then ~ 이 부분이 업
if m11 < m21 and m12 >= m22 Then ~ 이 부분이 다운
번거로우시겠지만 이 질문에서도 일반 지표/ 사용자 함수 따로 알려주시면 감사하겠습니다
*예시: 분봉 120봉에서 60선이 일봉 20봉을 크로스업
감사드립니다