커뮤니티

수식 문의

프로필 이미지
흑수돌
2022-11-21 16:27:42
1036
글번호 163977
답변완료
@@ 아래 @@ 는 data2의 조건이 만족된 상태에서 data1의 조건이 발생하면 신호가 나오는 수식입니다. 이에 조건을 추가하여 data1의 매수조건이 발생하고나서 그 조건이 그대로 유지되는 상태에서 n봉 기간 내에 -@@다음@@-의 지표가 양수 전환하면 매수 (아래의) data1의 매도 조건이 발생하고나서 그 조건이 그대로 유지되는 상태에서 n봉 기간 내에 @@다음@@-의 지표가 음수 전환하면 매도 하는 조건을 추가하고 싶습니다. ==@@ 다음 @@ ===================== input : period1(1),Period2(2),Period3(3),Period4(4),Period5(5); var : haClose(0),haOpen(0),haHigh(0),haLow(0); if CurrentBar > 1 then { haClose = (Open+High+Low+Close)/4; haOpen = (haOpen[1] + haClose[1])/2 ; haHigh = Max(High, haOpen, haClose); haLow = Min(Low, haOpen, haClose) ; } var11 = ma(haClose,period1); Var12 = ma(haOpen,period1); var11 > var12 : 양수 var11 < var12 : 음수 ===@@ 아래 @@ ==================== Input : shortPeriod(12), longPeriod(26), Vector(14), Period(9), n(50); Var : MACDv(0), MACDsig(0), macdosc(0), rsi_(0), rsi_signal(0) ; rsi_ = RSI(Period); rsi_signal = MA(RSI(Period), Vector); MACDv = Data2(MACD(shortPeriod, longPeriod)); //MACDsig = Data2(ema(MACDv,Period)); MACDsig = Data2(ema(Data2(MACD(shortPeriod, longPeriod)),Period)); //macdosc = Data2(MACDv-ema(MACDv,Period)); macdosc = Data2(Data2(MACD(shortPeriod, longPeriod))-ema(Data2(MACD(shortPeriod, longPeriod)),Period)); //MessageLog("%f %f %f", rsi_, rsi_signal, macdosc); if macdosc > 0 && rsi_ < n && ( rsi_ 크로스업 rsi_signal ) Then { Buy(); } else if macdosc < 0 && rsi_ > n && ( rsi_ 크로스다운 rsi_signal ) Then { Sell(); }
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2022-11-22 15:36:40

안녕하세요 예스스탁입니다. Input : shortPeriod(12), longPeriod(26), Vector(14), Period(9), n(50); Var : MACDv(0,Data2), MACDsig(0,Data2), macdosc(0,data2), rsi_(0,Data1), rsi_signal(0,Data1) ; input : period1(1); var : haClose(0,Data1),haOpen(0,Data1),haHigh(0,Data1),haLow(0,Data1); var : v11(0,data1),v12(0,Data12); var : T(0,Data1),S(0,Data1); if CurrentBar > 1 then { haClose = (Open+High+Low+Close)/4; haOpen = (haOpen[1] + haClose[1])/2 ; haHigh = Max(High, haOpen, haClose); haLow = Min(Low, haOpen, haClose) ; } v11 = data1(ma(haClose,period1)); V12 = data1(ma(haOpen,period1)); rsi_ = data1(RSI(Period)); rsi_signal = data1(MA(RSI(Period), Vector)); MACDv = Data2(MACD(shortPeriod, longPeriod)); //MACDsig = Data2(ema(MACDv,Period)); MACDsig = Data2(ema(Data2(MACD(shortPeriod, longPeriod)),Period)); //macdosc = Data2(MACDv-ema(MACDv,Period)); macdosc = Data2(Data2(MACD(shortPeriod, longPeriod))-ema(Data2(MACD(shortPeriod, longPeriod)),Period)); //MessageLog("%f %f %f", rsi_, rsi_signal, macdosc); if macdosc > 0 && rsi_ < n && CrossUp(rsi_,rsi_signal) Then { T = 1; S = Index; } else if macdosc < 0 && rsi_ > n && crossdown(rsi_,rsi_signal) Then { T = -1; S = Index; } if T == 1 and (macdosc < 0 or rsi_ > n or rsi_< rsi_signal) Then T = 0; if T == -1 and (macdosc > 0 or rsi_ < n or rsi_ > rsi_signal) Then T = 0; if T == 1 and Index <= S+N and v11 > v12 Then Buy(); if T == -1 and Index <= S+N and v11 < v12 Then Sell(); 즐거운 하루되세요 > 흑수돌 님이 쓴 글입니다. > 제목 : 수식 문의 > @@ 아래 @@ 는 data2의 조건이 만족된 상태에서 data1의 조건이 발생하면 신호가 나오는 수식입니다. 이에 조건을 추가하여 data1의 매수조건이 발생하고나서 그 조건이 그대로 유지되는 상태에서 n봉 기간 내에 -@@다음@@-의 지표가 양수 전환하면 매수 (아래의) data1의 매도 조건이 발생하고나서 그 조건이 그대로 유지되는 상태에서 n봉 기간 내에 @@다음@@-의 지표가 음수 전환하면 매도 하는 조건을 추가하고 싶습니다. ==@@ 다음 @@ ===================== input : period1(1),Period2(2),Period3(3),Period4(4),Period5(5); var : haClose(0),haOpen(0),haHigh(0),haLow(0); if CurrentBar > 1 then { haClose = (Open+High+Low+Close)/4; haOpen = (haOpen[1] + haClose[1])/2 ; haHigh = Max(High, haOpen, haClose); haLow = Min(Low, haOpen, haClose) ; } var11 = ma(haClose,period1); Var12 = ma(haOpen,period1); var11 > var12 : 양수 var11 < var12 : 음수 ===@@ 아래 @@ ==================== Input : shortPeriod(12), longPeriod(26), Vector(14), Period(9), n(50); Var : MACDv(0), MACDsig(0), macdosc(0), rsi_(0), rsi_signal(0) ; rsi_ = RSI(Period); rsi_signal = MA(RSI(Period), Vector); MACDv = Data2(MACD(shortPeriod, longPeriod)); //MACDsig = Data2(ema(MACDv,Period)); MACDsig = Data2(ema(Data2(MACD(shortPeriod, longPeriod)),Period)); //macdosc = Data2(MACDv-ema(MACDv,Period)); macdosc = Data2(Data2(MACD(shortPeriod, longPeriod))-ema(Data2(MACD(shortPeriod, longPeriod)),Period)); //MessageLog("%f %f %f", rsi_, rsi_signal, macdosc); if macdosc > 0 && rsi_ < n && ( rsi_ 크로스업 rsi_signal ) Then { Buy(); } else if macdosc < 0 && rsi_ > n && ( rsi_ 크로스다운 rsi_signal ) Then { Sell(); }