커뮤니티

수정 부탁드립니다

프로필 이미지
knp116
2021-09-30 19:55:31
743
글번호 152598
답변완료

첨부 이미지

보내주신 수식 적용했는데 매수 신호가 2회가 나옵니다 제가 원하는 것은 bx, sx 청산이후에는 BH, SL 매수 매도가 1회만 나오게 하는 겁니다 수정 부탁드립니다 var : HC(0),HO(0),HI(0); var : LC(0),LO(0),LI(0); var : rebuy(0),resell(0); if MarketPosition == 1 Then { if C > O and (HC == 0 or (HC > 0 and C > HC)) Then { HC = C; HO = O; HI = Index; } if Index <= HI+2 and C < O and HC > 0 and O > HC and C < HO Then ExitLong("bx"); } Else { HC = 0; HO = 0; } if MarketPosition == -1 Then { if C < O and (LC == 0 or (LC > 0 and C < LC)) Then { LC = C; LO = O; LI = Index; } if Index <= LI+2 and C > O and LC > 0 and O < LC and C > LO Then ExitShort("sx"); } Else { LC = 0; LO = 0; } if Bdate != Bdate[1] Then { reBuy = 0; resell = 0; } if MarketPosition == 0 and IsExitName("bx",1) == true and C > O[BarsSinceExit(1)] and rebuy < 1 Then { rebuy = rebuy+1; Buy("BH"); } if MarketPosition == 0 and IsExitName("sx",1) == true and C < O[BarsSinceExit(1)] and resell < 1 Then { resell = resell+1; Sell("SL"); }
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2021-10-05 10:04:43

안녕하세요 예스스탁입니다. 현재 재매수,재매도식이 당일 초기화가 됩니다. 일봉차트이므로 해당 내용이 불필요합니다. 횟수를 카운트하려면 어느시점에 초기화가 되게 해야 하는데 초기화를 할 시점을 해당식 자체에서 지정하기 어렵습니다. 재매수의 진입명은 BH,재매도의 진입명은 SL이므로 매수진입인데 BH이름이 아닌 경우에 매수재진입 횟수 초기화, 매도진입인데 SL이름이 아닌 경우에 매도재진입 횟수 초기화되게 작성해 드립니다. 수식의 일부를 작성해 드리는 경우에 저희가 경우를 모두 마춰드리기 어렵습니다. 식내용을 숙지하시고 기본진입이 있는 식에 맞춰 수정해 보셔야 합니다. var : HC(0),HO(0),HI(0); var : LC(0),LO(0),LI(0); var : rebuy(0),resell(0); if MarketPosition == 1 Then { if C > O and (HC == 0 or (HC > 0 and C > HC)) Then { HC = C; HO = O; HI = Index; } if Index <= HI+2 and C < O and HC > 0 and O > HC and C < HO Then ExitLong("bx"); } Else { HC = 0; HO = 0; } if MarketPosition == -1 Then { if C < O and (LC == 0 or (LC > 0 and C < LC)) Then { LC = C; LO = O; LI = Index; } if Index <= LI+2 and C > O and LC > 0 and O < LC and C > LO Then ExitShort("sx"); } Else { LC = 0; LO = 0; } if MarketPosition == 1 and MarketPosition != MarketPosition[1] and IsEntryName("BH") == False Then Rebuy = 0; if MarketPosition == -1 and MarketPosition != MarketPosition[1] and IsEntryName("SL") == False Then ReSell = 0; if MarketPosition == 0 and IsExitName("bx",1) == true and C > O[BarsSinceExit(1)] and rebuy < 1 Then { rebuy = rebuy+1; Buy("BH"); } if MarketPosition == 0 and IsExitName("sx",1) == true and C < O[BarsSinceExit(1)] and resell < 1 Then { resell = resell+1; Sell("SL"); } 즐거운 하루되세요 > knp116 님이 쓴 글입니다. > 제목 : 수정 부탁드립니다 > 보내주신 수식 적용했는데 매수 신호가 2회가 나옵니다 제가 원하는 것은 bx, sx 청산이후에는 BH, SL 매수 매도가 1회만 나오게 하는 겁니다 수정 부탁드립니다 var : HC(0),HO(0),HI(0); var : LC(0),LO(0),LI(0); var : rebuy(0),resell(0); if MarketPosition == 1 Then { if C > O and (HC == 0 or (HC > 0 and C > HC)) Then { HC = C; HO = O; HI = Index; } if Index <= HI+2 and C < O and HC > 0 and O > HC and C < HO Then ExitLong("bx"); } Else { HC = 0; HO = 0; } if MarketPosition == -1 Then { if C < O and (LC == 0 or (LC > 0 and C < LC)) Then { LC = C; LO = O; LI = Index; } if Index <= LI+2 and C > O and LC > 0 and O < LC and C > LO Then ExitShort("sx"); } Else { LC = 0; LO = 0; } if Bdate != Bdate[1] Then { reBuy = 0; resell = 0; } if MarketPosition == 0 and IsExitName("bx",1) == true and C > O[BarsSinceExit(1)] and rebuy < 1 Then { rebuy = rebuy+1; Buy("BH"); } if MarketPosition == 0 and IsExitName("sx",1) == true and C < O[BarsSinceExit(1)] and resell < 1 Then { resell = resell+1; Sell("SL"); }