커뮤니티

macd진입

프로필 이미지
ryan1
2024-05-15 00:54:47
692
글번호 179530
답변완료
안녕하세요?? 일전에 문의에 친절히 답해 주셔서 감사합니다. 비슷하게 다음식을 시스템에 적용하는데 생각대로 신호가 안나옵니다. 1.MACD가 감소 증가에 따라 진입하고 청산은 setstoptrailing으로 볼린저밴드 상단터치 매수 청산 작동되게 하고 ,하단터치시 매도 청산 작동되게 하려하는데도 신호가 아예 안나옵니다. 2.그리고 매수후 청산이 안되고 바로 매도로 넘어가는 어떻게 수정해야할까요? (원하는 시스템: 일정신호 후 매수-청산_일정신호후 매도....) 수정 해주시면 감사하겠습니다. 항상 건강하시라는 인사 미리 드립니다, --------------------------------------------------- Input : shortPeriod(12),longPeriod(26),Period(12); input : 드랍1(10),드랍2(10); input : BBP(20),dv(2); var:bbup(0),bbdn(0); Var : value1(0), macdosc(0); value1 = MACD(shortPeriod, longPeriod); macdosc = wma(value1,Period); bbup = BollBandUp(BBP,dv); bbdn = BollBandDown(BBP,dv); if macdosc[2] < macdosc[1] and macdosc[1] < macdosc then buy(); if macdosc[2] > macdosc[1] and macdosc[1] > macdosc then sell(); if MarketPosition == 1 Then SetStopTrailing(드랍1*PriceScale,bbup,PointStop); Else SetStopTrailing(0,0); if MarketPosition == -1 Then SetStopTrailing(드랍*PriceScale,bbdn,PointStop); Else SetStopTrailing(0,0);
시스템
답변 2
프로필 이미지

예스스탁 예스스탁 답변

2024-05-16 11:57:34

안녕하세요 예스스탁입니다. 1 macdosc = wma(value1,Period); 작성하신 수식에서 macdosc는 오실레이터가 아닌 시그널값입니다. 시그널도 기본은 지수이평이지만 사용하신 내용에서는 가중이동평균입니다. 가중이평으로 시그널을 게산하고 오실레이터 산식으로 변경해 드립니다. 2 반대진입으로 스위칭이 안되게 하고자 하시면 각 진입신호를 무포지션에서만 발생되게 하시면 됩니다. 3 Input : shortPeriod(12),longPeriod(26),Period(12); input : 드랍1(10),드랍2(10); input : BBP(20),dv(2); var : bbup(0),bbdn(0); Var : value1(0),Value2(0),macdosc(0); value1 = MACD(shortPeriod, longPeriod); value2 = wma(value1,Period); macdosc = value1-Value2; bbup = BollBandUp(BBP,dv); bbdn = BollBandDown(BBP,dv); if MarketPosition == 0 and macdosc[2] < macdosc[1] and macdosc[1] < macdosc then buy(); if MarketPosition == 0 and macdosc[2] > macdosc[1] and macdosc[1] > macdosc then sell(); if MarketPosition == 1 Then ExitLong("bx",AtLimit,bbup); if MarketPosition == -1 Then ExitLong("sx",AtLimit,bbdn); if MarketPosition == 1 Then SetStopTrailing(드랍1*PriceScale,bbup,PointStop); Else if MarketPosition == -1 Then SetStopTrailing(드랍2*PriceScale,bbdn,PointStop); Else SetStopTrailing(0,0); 즐거운 하루되세요 > ryan1 님이 쓴 글입니다. > 제목 : macd진입 > 안녕하세요?? 일전에 문의에 친절히 답해 주셔서 감사합니다. 비슷하게 다음식을 시스템에 적용하는데 생각대로 신호가 안나옵니다. 1.MACD가 감소 증가에 따라 진입하고 청산은 setstoptrailing으로 볼린저밴드 상단터치 매수 청산 작동되게 하고 ,하단터치시 매도 청산 작동되게 하려하는데도 신호가 아예 안나옵니다. 2.그리고 매수후 청산이 안되고 바로 매도로 넘어가는 어떻게 수정해야할까요? (원하는 시스템: 일정신호 후 매수-청산_일정신호후 매도....) 수정 해주시면 감사하겠습니다. 항상 건강하시라는 인사 미리 드립니다, --------------------------------------------------- Input : shortPeriod(12),longPeriod(26),Period(12); input : 드랍1(10),드랍2(10); input : BBP(20),dv(2); var:bbup(0),bbdn(0); Var : value1(0), macdosc(0); value1 = MACD(shortPeriod, longPeriod); macdosc = wma(value1,Period); bbup = BollBandUp(BBP,dv); bbdn = BollBandDown(BBP,dv); if macdosc[2] < macdosc[1] and macdosc[1] < macdosc then buy(); if macdosc[2] > macdosc[1] and macdosc[1] > macdosc then sell(); if MarketPosition == 1 Then SetStopTrailing(드랍1*PriceScale,bbup,PointStop); Else SetStopTrailing(0,0); if MarketPosition == -1 Then SetStopTrailing(드랍*PriceScale,bbdn,PointStop); Else SetStopTrailing(0,0);
프로필 이미지

ryan1

2024-05-16 16:03:26

예 바쁘신데 친철한 응대 진심으로 감사합니다. 1.그런데 전략을 적용해보면 신호가 엄청 많이 나와서 최적화를 해도 소용이 없습니다. (종목은 호주달러) 2.그리고 제의도는 setstoptrailing을 적용해서 (매수포지션의 경우) 최고수익값을 볼린저밴드의 상단으로 잡고 수익을 갱신하여 청산하는 것입니다.그런데 저 수식이 맞는 지요?? 신호가 제대로 나오게 하려면 어떻게 해야 할까요??