예스스탁
예스스탁 답변
2023-02-01 13:18:53
안녕하세요
예스스탁입니다.
선그래프는 전봉에 출력된 값과 현재를 이어서 그리게 되므로
색상도 전봉부터 빨간색으로 현재봉까지 그려집니다.
막대는 전봉과 연결되지 않기 떄문에 봉 하나의 색상차이가 있는것처럼 보이게 됩니다.
빨간색으로 변경되면 매수, 파란색으로 변경되면 매도로 작성해 드립니다.
input : inp_Sensitivity(0.01),inp_HiLo_Lookback(5),
inp_Slow_MA_Period(26),inp_Slow_MA_Method("EMA"),
inp_Fast_MA_Period(12),inp_Fast_MA_Method("EMA"),
inp_Signal_MA_Period(9),inp_Signal_MA_Method("EMA");
var : inp_Source(0),Hbarssince(-1),Lbarssince(-1),HiLo_Range(0),MA_Slow_Deviation(0);
var : MA_Fast(0),MA_Slow(0),MA_Slow_ATR(0);
Var : SumSqrt(0), Avgv(0), cnt(0),Histogrm(0),Main_Line(0),Signal_Line(0),Histogrm_Color(0);
inp_Source = close;
if inp_Fast_MA_Method == "SMA" Then
MA_Fast = ma(inp_Source, inp_Fast_MA_Period);
Else
MA_Fast = ema(inp_Source, inp_Fast_MA_Period);
if High == highest(H,inp_HiLo_Lookback) Then
Hbarssince = 0;
Else
{
if Hbarssince >= 0 Then
Hbarssince = Hbarssince+1;
}
if low == Lowest(L,inp_HiLo_Lookback) Then
Lbarssince = 0;
Else
{
if Lbarssince >= 0 Then
Lbarssince = Lbarssince+1;
}
HiLo_Range = abs(Hbarssince-Lbarssince) * PriceScale * 100000;
if inp_Slow_MA_Method == "SMA" Then
MA_Slow = ma(inp_Source, inp_Slow_MA_Period);
Else
MA_Slow = ema(inp_Source, inp_Slow_MA_Period);
If inp_Slow_MA_Period != 0 Then
{
Avgv = MA_Slow;
SumSqrt = 0;
For cnt = 0 To inp_Slow_MA_Period - 1 Begin
SumSqrt = SumSqrt + (C[cnt] - Avgv) * (C[cnt] - Avgv);
End;
MA_Slow_Deviation = SquareRoot(SumSqrt / inp_Slow_MA_Period);
}
Else
MA_Slow_Deviation = 0;
MA_Slow_ATR = atr(inp_Slow_MA_Period);
Histogrm = MA_Slow_Deviation - MA_Slow_ATR;
Main_Line = Histogrm;
if inp_Signal_MA_Method == "SMA" Then
Signal_Line = ma(inp_Source, inp_Signal_MA_Period);
Else
Signal_Line = ema(inp_Source, inp_Signal_MA_Period);
Histogrm_Color = green;
if MA_Fast >= MA_Fast[1] then
{
if HiLo_Range >= inp_Sensitivity then
Histogrm_Color = Red;
else
Histogrm_Color = yellow;
}
else
{
if HiLo_Range >= inp_Sensitivity Then
Histogrm_Color = Blue;
else
Histogrm_Color = White;
}
var : T(0);
if Histogrm > Histogrm[1] Then
T = 1;
if Histogrm < Histogrm[1] Then
T = -1;
if Histogrm_Color != Histogrm_Color[1] Then
{
if Histogrm_Color == Red Then
Buy();
if Histogrm_Color == Blue Then
Sell();
}
즐거운 하루되세요
> 새벽에 님이 쓴 글입니다.
> 제목 : 문의드립니다
> 안녕하세요?
아래지표식을 챠트에적용시 첨부사진처럼 선으로적용시와 막대로적용시 봉1개의 색상차이가있습니다
막대그래프는 무시하여주시고 선그래프기준으로 사진에표시한것과 같이(선의기울기,양선음선에따라) 매수매도 시스템식을 구합니다 (신호발생은 사진과달리 1봉 다음 에 발생하도록 부탁드립니다 )
감사드립니다
input : inp_Sensitivity(0.01),inp_HiLo_Lookback(5),
inp_Slow_MA_Period(26),inp_Slow_MA_Method("EMA"),
inp_Fast_MA_Period(12),inp_Fast_MA_Method("EMA"),
inp_Signal_MA_Period(9),inp_Signal_MA_Method("EMA");
var : inp_Source(0),Hbarssince(-1),Lbarssince(-1),HiLo_Range(0),MA_Slow_Deviation(0);
var : MA_Fast(0),MA_Slow(0),MA_Slow_ATR(0);
Var : SumSqrt(0), Avgv(0), cnt(0),Histogrm(0),Main_Line(0),Signal_Line(0),Histogrm_Color(0);
inp_Source = close;
if inp_Fast_MA_Method == "SMA" Then
MA_Fast = ma(inp_Source, inp_Fast_MA_Period);
Else
MA_Fast = ema(inp_Source, inp_Fast_MA_Period);
if High == highest(H,inp_HiLo_Lookback) Then
Hbarssince = 0;
Else
{
if Hbarssince >= 0 Then
Hbarssince = Hbarssince+1;
}
if low == Lowest(L,inp_HiLo_Lookback) Then
Lbarssince = 0;
Else
{
if Lbarssince >= 0 Then
Lbarssince = Lbarssince+1;
}
HiLo_Range = abs(Hbarssince-Lbarssince) * PriceScale * 100000;
if inp_Slow_MA_Method == "SMA" Then
MA_Slow = ma(inp_Source, inp_Slow_MA_Period);
Else
MA_Slow = ema(inp_Source, inp_Slow_MA_Period);
If inp_Slow_MA_Period != 0 Then
{
Avgv = MA_Slow;
SumSqrt = 0;
For cnt = 0 To inp_Slow_MA_Period - 1 Begin
SumSqrt = SumSqrt + (C[cnt] - Avgv) * (C[cnt] - Avgv);
End;
MA_Slow_Deviation = SquareRoot(SumSqrt / inp_Slow_MA_Period);
}
Else
MA_Slow_Deviation = 0;
MA_Slow_ATR = atr(inp_Slow_MA_Period);
Histogrm = MA_Slow_Deviation - MA_Slow_ATR;
Main_Line = Histogrm;
if inp_Signal_MA_Method == "SMA" Then
Signal_Line = ma(inp_Source, inp_Signal_MA_Period);
Else
Signal_Line = ema(inp_Source, inp_Signal_MA_Period);
Histogrm_Color = green;
if MA_Fast >= MA_Fast[1] then
{
if HiLo_Range >= inp_Sensitivity then
Histogrm_Color = Red;
else
Histogrm_Color = yellow;
}
else
{
if HiLo_Range >= inp_Sensitivity Then
Histogrm_Color = Blue;
else
Histogrm_Color = White;
}
var : T(0);
if Histogrm > Histogrm[1] Then
T = 1;
if Histogrm < Histogrm[1] Then
T = -1;
plot1(Histogrm,"BBMACD막대", Histogrm_Color);//속성에서 막대