커뮤니티

부탁드립니다

프로필 이미지
2685up
2025-06-20 14:10:56
210
글번호 191971
답변완료
아래글에 답변감사드립니다. 그런데 매수신호가 나지않습니다. 아래수식에 매일오후3시5분 추가매수식수정부탁드립니다. input : short1(12),long1(26),sig1(9); input : period(20); input : Per(10); var : MACDO1(0,Data1),Mav2(0,Data2); var : tt(0,Data1),t1(0,Data1),entry(0,Data1); MACDO1 = Data1(MACD_OSC(short1,long1,sig1)); Mav2 = Data2(ma(C,period)); tt = TotalTrades; if Data1(Bdate != Bdate[1]) Then t1 = tt[1]; entry = tt-t1+IFf(MarketPosition!=0,1,0); if MarketPosition == 0 and Data2(CrossUp(c,Mav2)) and entry < 1 and sTime >= 150500 and sTime <= 151000 Then Buy(); if MarketPosition == 1 Then { if data1(CrossDown(MACDO1,0)) Then ExitLong("bx1",OnClose,Def,"",Ceiling(MaxContracts*(Per/100)/10)*10,2); if data2(CrossDown(c,Mav2)) Then ExitLong("bx2"); }
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2025-06-20 15:00:09

안녕하세요 예스스탁입니다. 해당식 적용하면 첨부된 그림과 같이 신호가 발생 합니다. 해당식은 추가매수는 하는 식이 아닙니다. 해당식을 추가매수하는데 지정한 시간에 1회만 발생하는 내용으로 수정해 드립니다. input : short1(12),long1(26),sig1(9); input : period(20); input : Per(10); var : MACDO1(0,Data1),Mav2(0,Data2); var : cond(False,Data1); MACDO1 = Data1(MACD_OSC(short1,long1,sig1)); Mav2 = Data2(ma(C,period)); if Data1(Bdate != Bdate[1]) Then Cond = False; if MarketPosition == 0 and Data2(CrossUp(c,Mav2)) and cond == False and sTime >= 150500 and sTime <= 151000 Then { cond = true; Buy(); } if MarketPosition == 1 Then { if data1(CrossDown(MACDO1,0)) Then ExitLong("bx1",OnClose,Def,"",Ceiling(MaxContracts*(Per/100)/10)*10,2); if data2(CrossDown(c,Mav2)) Then ExitLong("bx2"); } SetStopEndofday(153000); 즐거운 하루되세요 > 2685up 님이 쓴 글입니다. > 제목 : 부탁드립니다 > 아래글에 답변감사드립니다. 그런데 매수신호가 나지않습니다. 아래수식에 매일오후3시5분 추가매수식수정부탁드립니다. input : short1(12),long1(26),sig1(9); input : period(20); input : Per(10); var : MACDO1(0,Data1),Mav2(0,Data2); var : tt(0,Data1),t1(0,Data1),entry(0,Data1); MACDO1 = Data1(MACD_OSC(short1,long1,sig1)); Mav2 = Data2(ma(C,period)); tt = TotalTrades; if Data1(Bdate != Bdate[1]) Then t1 = tt[1]; entry = tt-t1+IFf(MarketPosition!=0,1,0); if MarketPosition == 0 and Data2(CrossUp(c,Mav2)) and entry < 1 and sTime >= 150500 and sTime <= 151000 Then Buy(); if MarketPosition == 1 Then { if data1(CrossDown(MACDO1,0)) Then ExitLong("bx1",OnClose,Def,"",Ceiling(MaxContracts*(Per/100)/10)*10,2); if data2(CrossDown(c,Mav2)) Then ExitLong("bx2"); }