커뮤니티

수식 문의 드립니다.

프로필 이미지
동백초보
2023-04-14 11:07:13
1062
글번호 168176
답변완료
안녕하세요 아래 수식에서 매수와 매도 조건에 따라 "b" "b2" "b3" 와 "s" "s2" "s3"가 있는데 "b"의 조건으로 매수한 후 "s2"나 "s3"의 조건이 와서 진입하더라도 b의 조건과 겹쳐서 다음 3분봉에서 바로 "b"로 진입하게 돼서 원래의 의도와는 다르게 진입하게 됩니다. 만약 "s2" "s3" 되어서 진입하게 되면 진입한 봉 이후 3번째 봉까지는 "b"의 진입 조건을 무시하고 싶습니다. 반대로 "b2"나 "b3" 되어서 진입하게 되면 진입한 봉 이후 3번째 봉까지는 "s"의 진입 조건을 무시하고 싶습니다. 이 경우 수식을 어떻게 작성해야 하는지 문의 드립니다. 항상 도와주셔서 감사합니다. if MarketPosition >= 0 and mav1 < mav2 and c>=avgv Then Sell("s",AtMarket,Def,1); if MarketPosition <= 0 and mav1 > mav2 and c<=avgv Then Buy("b",AtMarket,Def,1); if Condition3 == False Then { # 매수 2번 연속 손절이면 매도로 진입 if MarketPosition == 0 and entry > 1 and (MarketPosition(1) == 1 and ExitName(1) == "StopLoss") and (MarketPosition(2) == 1 and ExitName(2) == "StopLoss") Then { Sell("s2",AtMarket); } # 매도 2번 연속 손절이면 매수로 진입 if MarketPosition == 0 and entry > 1 and (MarketPosition(1) == -1 and ExitName(1) == "StopLoss") and (MarketPosition(2) == -1 and ExitName(2) == "StopLoss") Then { Buy("b2",AtMarket); } # 매수 후 20 포인트 이상 상승 후 하락하여 진입가에 오면 스위칭 if MarketPosition == 1 and highest(H,BarsSinceEntry) >= EntryPrice+20 Then { Sell("s3",AtStop,EntryPrice(0)+10); } # 매도 후 20 포인트 이상 하락 후 상승하여 진입가에 오면 스위칭 if MarketPosition == -1 and Lowest(L,BarsSinceEntry) <= EntryPrice-20 Then { Buy("b3",AtStop,EntryPrice(0)-10); }
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2023-04-14 15:30:40

안녕하세요 예스스탁입니다. if MarketPosition >= 0 and mav1 < mav2 and c>=avgv Then { #무포지션이거나 #매수포지션일때는 b진입이면 바로 진입, #b2,b3이면 진입후 3봉이후 if MarketPosition == 0 or (MarketPosition == 1 and (IsEntryName("b") ==true or (IsEntryName("b") == False and BarsSinceEntry >= 3))) Then Sell("s",AtMarket,Def,1); } if MarketPosition <= 0 and mav1 > mav2 and c<=avgv Then { #무포지션이거나 #매도포지션일때는 s진입이면 바로 진입, #s2,s3이면 진입후 3봉이후 if MarketPosition == 0 or (MarketPosition == -1 and (IsEntryName("s") ==true or (IsEntryName("s") == False and BarsSinceEntry >= 3))) Then Buy("b",AtMarket,Def,1); } if Condition3 == False Then { # 매수 2번 연속 손절이면 매도로 진입 if MarketPosition == 0 and entry > 1 and (MarketPosition(1) == 1 and ExitName(1) == "StopLoss") and (MarketPosition(2) == 1 and ExitName(2) == "StopLoss") Then { Sell("s2",AtMarket); } # 매도 2번 연속 손절이면 매수로 진입 if MarketPosition == 0 and entry > 1 and (MarketPosition(1) == -1 and ExitName(1) == "StopLoss") and (MarketPosition(2) == -1 and ExitName(2) == "StopLoss") Then { Buy("b2",AtMarket); } # 매수 후 20 포인트 이상 상승 후 하락하여 진입가에 오면 스위칭 if MarketPosition == 1 and highest(H,BarsSinceEntry) >= EntryPrice+20 Then { Sell("s3",AtStop,EntryPrice(0)+10); } # 매도 후 20 포인트 이상 하락 후 상승하여 진입가에 오면 스위칭 if MarketPosition == -1 and Lowest(L,BarsSinceEntry) <= EntryPrice-20 Then { Buy("b3",AtStop,EntryPrice(0)-10); } } 즐거운 하루되세요 > 동백초보 님이 쓴 글입니다. > 제목 : 수식 문의 드립니다. > 안녕하세요 아래 수식에서 매수와 매도 조건에 따라 "b" "b2" "b3" 와 "s" "s2" "s3"가 있는데 "b"의 조건으로 매수한 후 "s2"나 "s3"의 조건이 와서 진입하더라도 b의 조건과 겹쳐서 다음 3분봉에서 바로 "b"로 진입하게 돼서 원래의 의도와는 다르게 진입하게 됩니다. 만약 "s2" "s3" 되어서 진입하게 되면 진입한 봉 이후 3번째 봉까지는 "b"의 진입 조건을 무시하고 싶습니다. 반대로 "b2"나 "b3" 되어서 진입하게 되면 진입한 봉 이후 3번째 봉까지는 "s"의 진입 조건을 무시하고 싶습니다. 이 경우 수식을 어떻게 작성해야 하는지 문의 드립니다. 항상 도와주셔서 감사합니다. if MarketPosition >= 0 and mav1 < mav2 and c>=avgv Then Sell("s",AtMarket,Def,1); if MarketPosition <= 0 and mav1 > mav2 and c<=avgv Then Buy("b",AtMarket,Def,1); if Condition3 == False Then { # 매수 2번 연속 손절이면 매도로 진입 if MarketPosition == 0 and entry > 1 and (MarketPosition(1) == 1 and ExitName(1) == "StopLoss") and (MarketPosition(2) == 1 and ExitName(2) == "StopLoss") Then { Sell("s2",AtMarket); } # 매도 2번 연속 손절이면 매수로 진입 if MarketPosition == 0 and entry > 1 and (MarketPosition(1) == -1 and ExitName(1) == "StopLoss") and (MarketPosition(2) == -1 and ExitName(2) == "StopLoss") Then { Buy("b2",AtMarket); } # 매수 후 20 포인트 이상 상승 후 하락하여 진입가에 오면 스위칭 if MarketPosition == 1 and highest(H,BarsSinceEntry) >= EntryPrice+20 Then { Sell("s3",AtStop,EntryPrice(0)+10); } # 매도 후 20 포인트 이상 하락 후 상승하여 진입가에 오면 스위칭 if MarketPosition == -1 and Lowest(L,BarsSinceEntry) <= EntryPrice-20 Then { Buy("b3",AtStop,EntryPrice(0)-10); }