커뮤니티
부탁 드립니다.
2017-04-27 07:58:37
269
글번호 109201
Input : shortPeriod(12), longPeriod(26), Period(9);
Var : MACDV(0) , MACDS(0),T(0),ii(0);
MACDV = MACD(shortPeriod, longPeriod);
MACDS = ema(MACDV,Period);
if crossup(MACDS,0) Then{
T = 1;
ii = 0;
var1 = H;
}
if CrossDown(MACDS,0) Then{
T = -1;
ii = 0;
var1 = L;
}
ii = ii+1;
if T == 1 and ii <= 3 and H > var1 Then
var1 = H;
if T == -1 and ii <= 3 and L < var1 Then
var1 = L;
plot1(var1,"지표",iff(T == 1,CYAN,MAGENTA));
.........................................................................
상기 수식을 첨부 파일의 그림 처럼 수정해 보려고 애를 써봤지만 제실력으로는 도저히 안나옵니다.
심사숙고 끝에 이렇게 염치 없이 글 올리게 되었습니다.
부탁드립니다.
감사합니다.
- 1. 개선.JPG (0.09 MB)
답변 1
예스스탁 예스스탁 답변
2017-04-27 13:46:06
안녕하세요
예스스탁입니다.
1
아래식은 지표로 선2개를 각각 그리는 식입니다.
속성에서 그래프를 일자그래프나 점그래프로 지정하셔야
값변경시 사선이 생기지 않습니다.
Input : shortPeriod(12), longPeriod(26), Period(9);
Var : MACDV(0) , MACDS(0),T(0),ii(0);
MACDV = MACD(shortPeriod, longPeriod);
MACDS = ema(MACDV,Period);
if crossup(MACDS,0) Then{
T = 1;
ii = 0;
var1 = H;
}
if CrossDown(MACDS,0) Then{
T = -1;
ii = 0;
var2 = L;
}
ii = ii+1;
if T == 1 and ii <= 3 and H > var1 Then
var1 = H;
if T == -1 and ii <= 3 and L < var2 Then
var2 = L;
plot1(var1,"지표1",CYAN);
plot2(var2,"지표2",MAGENTA);
2
차트에 2개의 선을 수평으로 길게 그리기 위해서는 추세선을 이용해야 합니다.
과거의 모든 값을 수평으로 그릴순 없으므로
최근값을 차트에 수평으로 그리게 작성해 드립니다.
Input : shortPeriod(12), longPeriod(26), Period(9);
Var : MACDV(0) , MACDS(0),T(0),ii(0),TL1(0),TL2(0);
MACDV = MACD(shortPeriod, longPeriod);
MACDS = ema(MACDV,Period);
if crossup(MACDS,0) Then{
T = 1;
ii = 0;
var1 = H;
}
if CrossDown(MACDS,0) Then{
T = -1;
ii = 0;
var2 = L;
}
ii = ii+1;
if T == 1 and ii <= 3 and H > var1 Then
var1 = H;
if T == -1 and ii <= 3 and L < var2 Then
var2 = L;
TL_Delete(TL1);
TL_Delete(TL2);
TL1 = TL_New(sdate[1],stime[1],var1,sdate,stime,var1);
TL2 = TL_New(sdate[1],stime[1],var2,sdate,stime,var2);
TL_SetExtRight(TL1,true);
TL_SetExtLeft(TL1,true);
TL_SetColor(TL1,CYAN);
TL_SetExtRight(TL2,true);
TL_SetExtLeft(TL2,true);
TL_SetColor(TL2,MAGENTA);
즐거운 하루되세요
> alsk 님이 쓴 글입니다.
> 제목 : 부탁 드립니다.
> Input : shortPeriod(12), longPeriod(26), Period(9);
Var : MACDV(0) , MACDS(0),T(0),ii(0);
MACDV = MACD(shortPeriod, longPeriod);
MACDS = ema(MACDV,Period);
if crossup(MACDS,0) Then{
T = 1;
ii = 0;
var1 = H;
}
if CrossDown(MACDS,0) Then{
T = -1;
ii = 0;
var1 = L;
}
ii = ii+1;
if T == 1 and ii <= 3 and H > var1 Then
var1 = H;
if T == -1 and ii <= 3 and L < var1 Then
var1 = L;
plot1(var1,"지표",iff(T == 1,CYAN,MAGENTA));
.........................................................................
상기 수식을 첨부 파일의 그림 처럼 수정해 보려고 애를 써봤지만 제실력으로는 도저히 안나옵니다.
심사숙고 끝에 이렇게 염치 없이 글 올리게 되었습니다.
부탁드립니다.
감사합니다.