커뮤니티

엔벨로프

프로필 이미지
코퍼
2024-07-01 22:03:52
746
글번호 181092
답변완료
안녕하세요? 수정 부탁드립니다 <당초> 1.엔벨로프 하단선 골크 (20,20)1개 매수, (20,30)1개 매수, (20,40)1개 매수, (20,50)1개 매수 /같은 위치에서 재매수 금지, 즉 총매수는 각기 다른 4개 2. 평균수익 20% 또는 평균손실 30%에서 모두 청산 / 당일매매 종료 3. 2번째 진입이후부터 평균손익이 본전에 오면 1개만 남겨두고 모두 청산 / 청산후 1번 프로세스 진행 <수정> 1.엔벨로프 하단선 골크 (20,20)1개 매수, (20,27)1개 매수, (20,34)1개 매수, (20,41)1개 매수, (20,48)1개 매수 / 같은 위치에서 재매수 금지, 즉 총매수는 각기 다른 5개 2. 평균손실 60%에서 모두 청산 / 당일매매 종료 3. 첫번째 진입건의 수익이 15% 도달시 또는 진입후 15일 경과시 모든포지션 청산하고 당일 프로세스 중지 4, 두번째 이후부터는 각각의 포지션 수익이 각 10% 도달시 각각 청산 / 청산후 1번 프로세스 진행 Input : Period1(20), Percent1(20), Percent2(30), Percent3(40), Percent4(50); var : D1(0),D2(0),D3(0),D4(0); var : Trade(False); D1 = EnvelopeDown(Period1, Percent1); D2 = EnvelopeDown(Period1, Percent2); D3 = EnvelopeDown(Period1, Percent3); D4 = EnvelopeDown(Period1, Percent4); if Bdate != Bdate[1] Then Trade = true; if TotalTrades > TotalTrades[1] Then { if IsExitName("Bp",1) == true then Trade = False; if IsExitName("Bl",1) == true then Trade = False; } if Trade == true Then { if CrossUp(C,D1) Then Buy("b1",OnClose,def,1); if CrossUp(C,D2) Then Buy("b2",OnClose,def,1); if CrossUp(C,D3) Then Buy("b3",OnClose,def,1); if CrossUp(C,D4) Then Buy("b4",OnClose,def,1); } if MarketPosition == 1 Then { ExitLong("Bp",AtLimit,AvgEntryPrice*1.20); ExitLong("Bl",AtStop,AvgEntryPrice*0.70); if CurrentEntries >= 2 Then { if H < AvgEntryPrice Then ExitLong("bx1",AtLimit,AvgEntryPrice,"",CurrentContracts-1,1); if l > AvgEntryPrice Then ExitLong("bx2",AtStop,AvgEntryPrice,"",CurrentContracts-1,1); } }
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2024-07-02 13:58:25

안녕하세요 예스스탁입니다. Input : Period1(20), Percent1(20), Percent2(27), Percent3(34), Percent4(41),Percent5(48); var : D1(0),D2(0),D3(0),D4(0),D5(0); var : E2(0),E3(0),E4(0),E5(0); var : Trade(False),dd(0),ED(0); D1 = EnvelopeDown(Period1, Percent1); D2 = EnvelopeDown(Period1, Percent2); D3 = EnvelopeDown(Period1, Percent3); D4 = EnvelopeDown(Period1, Percent4); D5 = EnvelopeDown(Period1, Percent5); if Bdate != Bdate[1] Then { Trade = true; dd = dd+1; } if TotalTrades > TotalTrades[1] Then { if IsExitName("Bp",1) == true then Trade = False; if IsExitName("Bl",1) == true then Trade = False; if IsExitName("Bx",1) == true then Trade = False; if IsExitName("Bdx",1) == true then Trade = False; } if Trade == true Then { if CrossUp(C,D1) Then Buy("b1",OnClose,def,1); if CrossUp(C,D2) Then Buy("b2",OnClose,def,1); if CrossUp(C,D3) Then Buy("b3",OnClose,def,1); if CrossUp(C,D4) Then Buy("b4",OnClose,def,1); if CrossUp(C,D5) Then Buy("b5",OnClose,def,1); } if MarketPosition == 1 Then { if MarketPosition != MarketPosition[1] Then ED = DD; if CurrentContracts > CurrentContracts[1] Then { if LatestEntryName(0) == "b2" Then E2 = LatestEntryPrice(0); if LatestEntryName(0) == "b3" Then E3 = LatestEntryPrice(0); if LatestEntryName(0) == "b4" Then E4 = LatestEntryPrice(0); if LatestEntryName(0) == "b5" Then E5 = LatestEntryPrice(0); } if CurrentContracts < CurrentContracts[1] Then { if LatestExitName(0) == "b2x" Then E2 = 0; if LatestExitName(0) == "b3x" Then E3 = 0; if LatestExitName(0) == "b4x" Then E4 = 0; if LatestExitName(0) == "b5x" Then E5 = 0; } ExitLong("Bp",AtLimit,AvgEntryPrice*1.20); ExitLong("Bl",AtStop,AvgEntryPrice*0.70); ExitLong("Bx",AtLimit,EntryPrice*1.15); if ED > 0 and dd >= ED+15 Then ExitLong("Bdx"); if E2 > 0 Then ExitLong("b2x",AtLimit,E2*1.10,"b2"); if E3 > 0 Then ExitLong("b3x",AtLimit,E3*1.10,"b3"); if E4 > 0 Then ExitLong("b4x",AtLimit,E4*1.10,"b4"); if E5 > 0 Then ExitLong("b5x",AtLimit,E5*1.10,"b5"); } Else { E2 = 0; E3 = 0; E4 = 0; E5 = 0; } 즐거운 하루되세요 > 코퍼 님이 쓴 글입니다. > 제목 : 엔벨로프 > 안녕하세요? 수정 부탁드립니다 <당초> 1.엔벨로프 하단선 골크 (20,20)1개 매수, (20,30)1개 매수, (20,40)1개 매수, (20,50)1개 매수 /같은 위치에서 재매수 금지, 즉 총매수는 각기 다른 4개 2. 평균수익 20% 또는 평균손실 30%에서 모두 청산 / 당일매매 종료 3. 2번째 진입이후부터 평균손익이 본전에 오면 1개만 남겨두고 모두 청산 / 청산후 1번 프로세스 진행 <수정> 1.엔벨로프 하단선 골크 (20,20)1개 매수, (20,27)1개 매수, (20,34)1개 매수, (20,41)1개 매수, (20,48)1개 매수 / 같은 위치에서 재매수 금지, 즉 총매수는 각기 다른 5개 2. 평균손실 60%에서 모두 청산 / 당일매매 종료 3. 첫번째 진입건의 수익이 15% 도달시 또는 진입후 15일 경과시 모든포지션 청산하고 당일 프로세스 중지 4, 두번째 이후부터는 각각의 포지션 수익이 각 10% 도달시 각각 청산 / 청산후 1번 프로세스 진행 Input : Period1(20), Percent1(20), Percent2(30), Percent3(40), Percent4(50); var : D1(0),D2(0),D3(0),D4(0); var : Trade(False); D1 = EnvelopeDown(Period1, Percent1); D2 = EnvelopeDown(Period1, Percent2); D3 = EnvelopeDown(Period1, Percent3); D4 = EnvelopeDown(Period1, Percent4); if Bdate != Bdate[1] Then Trade = true; if TotalTrades > TotalTrades[1] Then { if IsExitName("Bp",1) == true then Trade = False; if IsExitName("Bl",1) == true then Trade = False; } if Trade == true Then { if CrossUp(C,D1) Then Buy("b1",OnClose,def,1); if CrossUp(C,D2) Then Buy("b2",OnClose,def,1); if CrossUp(C,D3) Then Buy("b3",OnClose,def,1); if CrossUp(C,D4) Then Buy("b4",OnClose,def,1); } if MarketPosition == 1 Then { ExitLong("Bp",AtLimit,AvgEntryPrice*1.20); ExitLong("Bl",AtStop,AvgEntryPrice*0.70); if CurrentEntries >= 2 Then { if H < AvgEntryPrice Then ExitLong("bx1",AtLimit,AvgEntryPrice,"",CurrentContracts-1,1); if l > AvgEntryPrice Then ExitLong("bx2",AtStop,AvgEntryPrice,"",CurrentContracts-1,1); } }