예스스탁
예스스탁 답변
2021-10-07 15:31:29
안녕하세요
예스스탁입니다.
plot은 출력되면 과거값을 지울수 없습니다.
하나의 구간에서 10이평값에 따라 최소와 최대가 갱신되면서 여러번 발생하는데
최종적으로 최고와 최저만 남기고 나머지 식제할수가 없습니다.
텍스트 함수로 출력되게 작성해 드립니다.
각 구간의 최고와 최저값위치에 가격이 표시되게 작성해 드립니다.
Inputs : ShortPeriod(10), LongPeriod(60);
var : T(0),HH(0),LL(0),tx1(0),tx2(0);
var1 = ma(C,shortPeriod);
Var2 = ma(C,longPeriod);
Plot1(var1);
plot2(Var2);
if var2[4] > var2[3] And
var2[3] > var2[2] And
var2[2] < var2[1] And
var2[1] < var2 Then
T = 1;
if var2[4] < var2[3] And
var2[3] < var2[2] And
var2[2] > var2[1] And
var2[1] > var2 Then
T = -1;
if T != T[1] Then
{
TL_New(sDate,sTime,0,sDate,sTime,9999999);
if T == 1 Then
{
HH = var1;
tx1 = Text_New(sDate,sTime,HH,NumToStr(HH,2));
Text_SetStyle(tx1,2,1);
Text_SetColor(tx1,RED);
LL = Var1[1];
tx2 = Text_New(sDate[1],sTime[1],LL,NumToStr(LL,2));
Text_SetStyle(tx2,2,0);
Text_SetColor(tx2,BLUE);
}
if T == -1 Then
{
HH = var1[1];
tx1 = Text_New(sDate[1],sTime[1],HH,NumToStr(HH,2));
Text_SetStyle(tx1,2,1);
Text_SetColor(tx1,RED);
LL = Var1;
tx2 = Text_New(sDate,sTime,LL,NumToStr(LL,2));
Text_SetStyle(tx2,2,0);
Text_SetColor(tx2,BLUE);
}
}
Else
{
if HH > 0 and var1 > HH Then
{
HH = var1;
Text_SetString(tx1,NumToStr(HH,2));
Text_SetLocation(tx1,sdate,sTime,HH);
}
if LL > 0 and var1 < LL Then
{
LL = var1;
Text_SetString(tx2,NumToStr(LL,2));
Text_SetLocation(tx2,sdate,sTime,LL);
}
}
즐거운 하루되세요
> zwan 님이 쓴 글입니다.
> 제목 : 지표 작성 부탁드립니다
> 두개의 이동평균을 이용해서 원하는 가격대를 알아내려고 합니다.
입력 파라메터는 아래와 같습니다.
Inputs : ShortPeriod(10), LongPeriod(60);
조건 (첨부파일1의 구간 설명 참고)
1. LongPeriod 이동평균의 변곡점이 생기는 지점을 시점으로, 다음 변곡점을 종점으로 하여 각각의 구간을 나눔
2. 각 구간내에서 ShortPeriod의 최대, 최소 값을 저장
3. 최대, 최소 값에 해당하는 봉의 위치에 가격을 표시하고 나머지 봉은 0으로 표시하는 지표를 생성
변곡점은 5개 점을 이용하여 판단합니다. 예를 들면 아래와 같은 조건입니다.
Ma(C, 60)[i-4] < Ma(C, 60)[i-3] And
Ma(C, 60)[i-3] < Ma(C, 60)[i-2] And
Ma(C, 60)[i-2] > Ma(C, 60)[i-1] And
Ma(C, 60)[i-1] > Ma(C, 60)[i]
감사합니다.