커뮤니티

data2 여전히 궁금합니다..ㅜㅜ

프로필 이미지
몸부림
2011-09-21 13:48:32
466
글번호 42848
답변완료
20502 번 글에서 문의 드린 내용으로 다시 실행해 봤습니다. data1은 연결선물지수 일봉이고, data2는 주봉입니다. 아래는 아직 data2를 적용하지 않은 식이구요, 차트에 data2를 보조데이터로 추가했을때와 안 했을 때 결과값이 같습니다. =============================================================================== /**** MACD *****/ Input : MACDshortPeriod(12), MACDlongPeriod(26), MACDPeriod(9); Var : MACDvalue(0) , macdosc(0), MACDsignal(0) ; MACDvalue = MACD(MACDshortPeriod, MACDlongPeriod); macdosc = MACDvalue-ema(MACDvalue,MACDPeriod); MACDsignal =ema(MACDvalue,MACDPeriod); /*** data2 MACD *****/ Input : D2_MACDshortPeriod(12), D2_MACDlongPeriod(26), D2_MACDPeriod(9); Var : D2_MACDvalue(0) , D2_macdosc(0), D2_MACDsignal(0) ; If MACDvalue>MACDsignal Then { Buy("LT_Ent", AtMarket, 1); } If MACDvalue<MACDsignal Then ExitLong("MACD_XS",AtMarket,DEF, "LT_Ent",1,1); =============================================================================== 아래는 data2를 사용하기 위해 알려주신대로 var 값을 구분하였으나, 아직 매매신호에 적용은 하기 전입니다. =============================================================================== /******* MACD ********/ Input : MACDshortPeriod(12), MACDlongPeriod(26), MACDPeriod(9); Var : MACDvalue(0,data1) , macdosc(0,data1), MACDsignal(0,data1) ; MACDvalue = data1(MACD(MACDshortPeriod, MACDlongPeriod)); //MACDvalue = MACD(MACDshortPeriod, MACDlongPeriod); //혹시 윗줄이 잘못되었나 싶어 이렇게도 해봤지만 결과가 같네요..ㅜㅜ macdosc = MACDvalue-ema(MACDvalue,MACDPeriod); MACDsignal =ema(MACDvalue,MACDPeriod); /***** data2 MACD *****/ Input : D2_MACDshortPeriod(12), D2_MACDlongPeriod(26), D2_MACDPeriod(9); Var : D2_MACDvalue(0,data2) , D2_macdosc(0,data2), D2_MACDsignal(0,data2) ; D2_MACDvalue = data2(MACD(D2_MACDshortPeriod, D2_MACDlongPeriod)); If MACDvalue>MACDsignal Then { Buy("LT_Ent", AtMarket, 1); } If MACDvalue<MACDsignal Then ExitLong("MACD_XS",AtMarket,DEF, "LT_Ent",1,1); =============================================================================== 그렇다면 위 두 식의 결과값이 같아야 할텐데 다르게 나옵니다. 제가 아직 적용에 실수한게 있는지, 아니면 사용법이 잘못된건지 알려주시면 감사하겠습니다... (__)
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2011-09-21 15:47:20

안녕하세요 예스스탁입니다. 아래식과 같이 1. 변수 선언시 참조데이터의 번호를 넣어주시고 2. 할당되는 값도 데이터번호로 씌워주시면 됩니다. Input : MACDshortPeriod(12), MACDlongPeriod(26), MACDPeriod(9); Var : MACDvalue(0,data1) , macdosc(0,data1), MACDsignal(0,data1) ; MACDvalue = data1(MACD(MACDshortPeriod, MACDlongPeriod)); macdosc = data1(MACDvalue-ema(MACDvalue,MACDPeriod)); MACDsignal = data1(ema(MACDvalue,MACDPeriod)); /***** data2 MACD *****/ Input : D2_MACDshortPeriod(12), D2_MACDlongPeriod(26), D2_MACDPeriod(9); Var : D2_MACDvalue(0,data2) , D2_macdosc(0,data2), D2_MACDsignal(0,data2) ; D2_MACDvalue = data2(MACD(D2_MACDshortPeriod, D2_MACDlongPeriod)); If MACDvalue>MACDsignal Then { Buy("LT_Ent", AtMarket, 1); } If MACDvalue<MACDsignal Then ExitLong("MACD_XS",AtMarket,DEF, "LT_Ent",1,1); 즐거운 하루되세요 > 몸부림 님이 쓴 글입니다. > 제목 : data2 여전히 궁금합니다..ㅜㅜ > 20502 번 글에서 문의 드린 내용으로 다시 실행해 봤습니다. data1은 연결선물지수 일봉이고, data2는 주봉입니다. 아래는 아직 data2를 적용하지 않은 식이구요, 차트에 data2를 보조데이터로 추가했을때와 안 했을 때 결과값이 같습니다. =============================================================================== /**** MACD *****/ Input : MACDshortPeriod(12), MACDlongPeriod(26), MACDPeriod(9); Var : MACDvalue(0) , macdosc(0), MACDsignal(0) ; MACDvalue = MACD(MACDshortPeriod, MACDlongPeriod); macdosc = MACDvalue-ema(MACDvalue,MACDPeriod); MACDsignal =ema(MACDvalue,MACDPeriod); /*** data2 MACD *****/ Input : D2_MACDshortPeriod(12), D2_MACDlongPeriod(26), D2_MACDPeriod(9); Var : D2_MACDvalue(0) , D2_macdosc(0), D2_MACDsignal(0) ; If MACDvalue>MACDsignal Then { Buy("LT_Ent", AtMarket, 1); } If MACDvalue<MACDsignal Then ExitLong("MACD_XS",AtMarket,DEF, "LT_Ent",1,1); =============================================================================== 아래는 data2를 사용하기 위해 알려주신대로 var 값을 구분하였으나, 아직 매매신호에 적용은 하기 전입니다. =============================================================================== /******* MACD ********/ Input : MACDshortPeriod(12), MACDlongPeriod(26), MACDPeriod(9); Var : MACDvalue(0,data1) , macdosc(0,data1), MACDsignal(0,data1) ; MACDvalue = data1(MACD(MACDshortPeriod, MACDlongPeriod)); //MACDvalue = MACD(MACDshortPeriod, MACDlongPeriod); //혹시 윗줄이 잘못되었나 싶어 이렇게도 해봤지만 결과가 같네요..ㅜㅜ macdosc = MACDvalue-ema(MACDvalue,MACDPeriod); MACDsignal =ema(MACDvalue,MACDPeriod); /***** data2 MACD *****/ Input : D2_MACDshortPeriod(12), D2_MACDlongPeriod(26), D2_MACDPeriod(9); Var : D2_MACDvalue(0,data2) , D2_macdosc(0,data2), D2_MACDsignal(0,data2) ; D2_MACDvalue = data2(MACD(D2_MACDshortPeriod, D2_MACDlongPeriod)); If MACDvalue>MACDsignal Then { Buy("LT_Ent", AtMarket, 1); } If MACDvalue<MACDsignal Then ExitLong("MACD_XS",AtMarket,DEF, "LT_Ent",1,1); =============================================================================== 그렇다면 위 두 식의 결과값이 같아야 할텐데 다르게 나옵니다. 제가 아직 적용에 실수한게 있는지, 아니면 사용법이 잘못된건지 알려주시면 감사하겠습니다... (__)