커뮤니티

진입횟수2

프로필 이미지
목마와숙녀
2024-11-06 14:46:18
636
글번호 184599
답변완료
아래 수식은 총 2회 거래하는 수식입니다. "b"진입 1번과 손절진입 1번 총 2회 "b"진입 1번과 트레진입 1번 총 2회 "b"진입 1번과 최소변화진입 1번 총 2회 첫번째 요청사항입니다. 위 내용과 아래수식이 부합하는 지 체크바랍니다. 두번째 요청사항입니다. 아래 수식은 entry 수식으로 거래횟수가 통일되어 제어되는데 이를 각각 분리하여 제어하고 싶습니다. 제생각에는 진입명으로 매칭하여 수식을 작성했으면 하는데 다른 방법도 무방합니다. 진입명이 "b"이면 거래횟수 2번 진입명이 "손절진입"이면 거래횟수 3번 진입명이 "트레진입"이면 거래횟수 4번 진입명이 "최소변화진입"이면 거래횟수 5번 진입하기 전에 거래횟수를 컨트롤해야 하는데 진입명은 진입하면서 확인되는 것이라서 가능할까 합니다...각각 거래횟수를 분리하여 제어하는 수식을 요청드립니다. 항상 고맙습니다. ********************************************************************************* input : st(103000),n(1); input : 손절n(2),트레n(2),최소n(2); input : 손절진입(3),트레진입(4),최소변화진입(5); input : ls(1),tr(2),최소가격(0.5),봉수(10); var : count(0); var : T1(0),entry(0); if Bdate != Bdate[1] Then T1 = TotalTrades; if MarketPosition == 0 Then entry = TotalTrades-T1; Else entry = (TotalTrades-T1)+1; if stime >= st and entry < n then Buy("b"); if MarketPosition == 0 Then { if TotalTrades > TotalTrades[1] Then count = 0; if DayHigh(0) > DayHigh(0)[1] Then count = count+1; if IsExitName("StopLoss",1) == true and entry < 손절n and ExitDate(1) == sDate and count == 손절진입 Then Buy("손절진입"); if IsExitName("StopTrailing",1) == true and entry < 트레n and ExitDate(1) == sDate and count == 트레진입 Then Buy("트레진입"); if IsExitName("StopInactivity",1) == true and entry < 최소n and ExitDate(1) == sDate and count == 최소변화진입 Then Buy("최소변화진입"); } SetStopLoss(ls,pointStop); SetStopTrailing(tr,0,pointStop,1); SetStopInactivity(최소가격,봉수,PointStop);;
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2024-10-25 15:58:33

안녕하세요 예스스탁입니다. 1 input변수명은 다르지만 모두 2로 지정되어 있으므로 당일 전체 진입이 2회까지만 허용하는 내용입니다. 2 각 진입명 별로 횟수제한되게 수정해 드립니다. 각 진입별로 count == 손절진입와 같은 내용이 있는데 어떤 내용인지 파악이 되지 않아 해당 부분은 모두 삭제했습니다. 필요하시면 변수명 확인하셔서 추가하시기 바랍니다. input : st(103000),n(1); input : b진입횟수(2),손절진입횟수(3),트레진입횟수(4),최소변화진입횟수(5); input : ls(1),tr(2),최소가격(0.5),봉수(10); var : count(0); var : b진입count(0),손절진입count(0),트레진입count(0),최소변화진입count(0); var : T1(0),entry(0); if Bdate != Bdate[1] Then { b진입count = 0; 손절진입count = 0; 트레진입count = 0; 최소변화진입count = 0; } if (MarketPosition == 1 and MarketPosition != MarketPosition[1]) Then { if IsEntryName("b") == true Then b진입count = b진입count+1; if IsEntryName("손절진입") == true Then 손절진입count = 손절진입count+1; if IsEntryName("트레진입") == true Then 트레진입count = 트레진입count+1; if IsEntryName("최소변화진입") == true Then 최소변화진입count = 최소변화진입count+1; } if stime >= st and b진입count < b진입횟수 then Buy("b"); if MarketPosition == 0 Then { if TotalTrades > TotalTrades[1] Then count = 0; if DayHigh(0) > DayHigh(0)[1] Then count = count+1; if IsExitName("StopLoss",1) == true and 손절진입count < 손절진입횟수 and ExitDate(1) == sDate Then Buy("손절진입"); if IsExitName("StopTrailing",1) == true and 트레진입count < 트레진입횟수 and ExitDate(1) == sDate Then Buy("트레진입"); if IsExitName("StopInactivity",1) == true and 최소변화진입count < 최소변화진입횟수 and ExitDate(1) == sDate Then Buy("최소변화진입"); } SetStopLoss(ls,pointStop); SetStopTrailing(tr,0,pointStop,1); SetStopInactivity(최소가격,봉수,PointStop);; 즐거운 하루되세요 > 목마와숙녀 님이 쓴 글입니다. > 제목 : 문의 > 아래 수식은 총 2회 거래하는 수식입니다. "b"진입 1번과 손절진입 1번 총 2회 "b"진입 1번과 트레진입 1번 총 2회 "b"진입 1번과 최소변화진입 1번 총 2회 첫번째 요청사항입니다. 위 내용과 아래수식이 부합하는 지 체크바랍니다. 두번째 요청사항입니다. 아래 수식은 entry 수식으로 거래횟수가 통일되어 제어되는데 이를 각각 분리하여 제어하고 싶습니다. 제생각에는 진입명으로 매칭하여 수식을 작성했으면 하는데 다른 방법도 무방합니다. 진입명이 "b"이면 거래횟수 2번 진입명이 "손절진입"이면 거래횟수 3번 진입명이 "트레진입"이면 거래횟수 4번 진입명이 "최소변화진입"이면 거래횟수 5번 진입하기 전에 거래횟수를 컨트롤해야 하는데 진입명은 진입하면서 확인되는 것이라서 가능할까 합니다...각각 거래횟수를 분리하여 제어하는 수식을 요청드립니다. 항상 고맙습니다. ********************************************************************************* input : st(103000),n(1); input : 손절n(2),트레n(2),최소n(2); input : 손절진입(3),트레진입(4),최소변화진입(5); input : ls(1),tr(2),최소가격(0.5),봉수(10); var : count(0); var : T1(0),entry(0); if Bdate != Bdate[1] Then T1 = TotalTrades; if MarketPosition == 0 Then entry = TotalTrades-T1; Else entry = (TotalTrades-T1)+1; if stime >= st and entry < n then Buy("b"); if MarketPosition == 0 Then { if TotalTrades > TotalTrades[1] Then count = 0; if DayHigh(0) > DayHigh(0)[1] Then count = count+1; if IsExitName("StopLoss",1) == true and entry < 손절n and ExitDate(1) == sDate and count == 손절진입 Then Buy("손절진입"); if IsExitName("StopTrailing",1) == true and entry < 트레n and ExitDate(1) == sDate and count == 트레진입 Then Buy("트레진입"); if IsExitName("StopInactivity",1) == true and entry < 최소n and ExitDate(1) == sDate and count == 최소변화진입 Then Buy("최소변화진입"); } SetStopLoss(ls,pointStop); SetStopTrailing(tr,0,pointStop,1); SetStopInactivity(최소가격,봉수,PointStop);;