커뮤니티

문의드립니다

프로필 이미지
새벽에
2024-05-09 14:41:45
638
글번호 179273
답변완료
안녕하세요? 아래수식에서 선그래프의색상이 빨간색에서초록색으로변하면 매도그리고 노랑색에서초록색으로변하면매도 이두가지를추가하고싶습니다 감사합니다 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; } if (Histogrm_Color == red and Histogrm_Color[1] == Blue) Then Buy(); if (Histogrm_Color == Blue and Histogrm_Color[1] == Red) Then Sell(); {}
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2024-05-09 13:56:35

안녕하세요 예스스탁입니다. 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; } if (Histogrm_Color == red and Histogrm_Color[1] == Blue) Then Buy(); if (Histogrm_Color == Blue and Histogrm_Color[1] == Red) Then Sell(); if (Histogrm_Color == green and Histogrm_Color[1] == Red) Then Sell(); if (Histogrm_Color == green and Histogrm_Color[1] == yellow) Then Sell(); 즐거운 하루되세요 > 새벽에 님이 쓴 글입니다. > 제목 : 문의드립니다 > 안녕하세요? 아래수식에서 선그래프의색상이 빨간색에서초록색으로변하면 매도그리고 노랑색에서초록색으로변하면매도 이두가지를추가하고싶습니다 감사합니다 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; } if (Histogrm_Color == red and Histogrm_Color[1] == Blue) Then Buy(); if (Histogrm_Color == Blue and Histogrm_Color[1] == Red) Then Sell(); {}