커뮤니티

시스템식 요청 드립니다.

프로필 이미지
맴맴잉
2021-08-24 13:33:47
1087
글번호 151733
답변완료
안녕하십니까 항상 감사합니다. 기존에 시스템식을 요청해서 받았는데 손절 청산후에는 재 진입금지가 되어야 하는데 자꾸 진입되는걸로 나오는데.. 수정이 필요한것 같아 요청드립니다. 제 생각은 entry == 0; 이부분과 if TotalTrades > TotalTrades[1] and IsExitName("손절",1) == true Then entry = False; 이부분에서 문제가 있을것 같은데.. ㅜ.ㅜ 확인좀 부탁드리겠습니다. ----------기존 시스템식--------------------- input : 타점1(5000),타점2(4500),타점3(4000),타점4(3500),타점5(3000); input : 투자금액1(1000000),투자금액2(2000000); var : entry(False),HH(0); if Bdate != Bdate[1] Then { entry == 0; #5개의 타점중 시가보다 작은것 중에 젤 큰값 계산 HH = 0; if 타점1 < DayOpen and 타점1 > HH Then HH = 타점1; if 타점2 < DayOpen and 타점2 > HH Then HH = 타점2; if 타점3 < DayOpen and 타점3 > HH Then HH = 타점3; if 타점4 < DayOpen and 타점4 > HH Then HH = 타점4; if 타점5 < DayOpen and 타점5 > HH Then HH = 타점5; } if TotalTrades > TotalTrades[1] and IsExitName("손절",1) == true Then entry = False; if MarketPosition == 0 and sTime < 130000 and entry == 0 Then { Buy("1차매수",AtLimit,HH,Floor(투자금액1/min(NextBarOpen,HH))); } if MarketPosition == 1 Then { Buy("2차매수.",AtLimit,HH*0.977,Floor(투자금액2/min(NextBarOpen,HH*0.98))); } if MarketPosition == 1 Then { if MaxEntries == 1 Then { ExitLong("1차매수2프로익절",AtLimit,avgEntryPrice*1.02,"",Floor(MaxContracts*0.3)); ExitLong("1차매수3프로익절",AtLimit,avgEntryPrice*1.03,"",Floor(MaxContracts*0.4)); ExitLong("1차매수4프로익절",AtLimit,avgEntryPrice*1.04); } if MaxEntries == 2 Then { ExitLong("2차매수1프로익절",AtLimit,avgEntryPrice*1.01,"",Floor(MaxContracts*0.3)); ExitLong("2차매수2프로익절",AtLimit,avgEntryPrice*1.02,"",Floor(MaxContracts*0.4)); ExitLong("2차매수3프로익절",AtLimit,avgEntryPrice*1.03); } ExitLong("손절",AtStop,avgEntryPrice*0.97); } SetStopEndofday(151800);
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2021-08-24 14:18:47

안녕하세요 예스스탁입니다. var : entry(False),HH(0) if Bdate != Bdate[1] Then { entry == true; 변수의 값저장은 = 입니다. == 읍 같다라는 표현입니다. 또한 변수가 true나 false로 선언되면 true나 false가 저장되게 사용하셔야 합니다. 수정한 식입니다. input : 타점1(5000),타점2(4500),타점3(4000),타점4(3500),타점5(3000); input : 투자금액1(1000000),투자금액2(2000000); var : entry(False),HH(0); if Bdate != Bdate[1] Then { entry = true; #5개의 타점중 시가보다 작은것 중에 젤 큰값 계산 HH = 0; if 타점1 < DayOpen and 타점1 > HH Then HH = 타점1; if 타점2 < DayOpen and 타점2 > HH Then HH = 타점2; if 타점3 < DayOpen and 타점3 > HH Then HH = 타점3; if 타점4 < DayOpen and 타점4 > HH Then HH = 타점4; if 타점5 < DayOpen and 타점5 > HH Then HH = 타점5; } if TotalTrades > TotalTrades[1] and IsExitName("손절",1) == true Then entry = False; if MarketPosition == 0 and sTime < 130000 and entry == true Then { Buy("1차매수",AtLimit,HH,Floor(투자금액1/min(NextBarOpen,HH))); } if MarketPosition == 1 Then { Buy("2차매수.",AtLimit,HH*0.977,Floor(투자금액2/min(NextBarOpen,HH*0.98))); } if MarketPosition == 1 Then { if MaxEntries == 1 Then { ExitLong("1차매수2프로익절",AtLimit,avgEntryPrice*1.02,"",Floor(MaxContracts*0.3)); ExitLong("1차매수3프로익절",AtLimit,avgEntryPrice*1.03,"",Floor(MaxContracts*0.4)); ExitLong("1차매수4프로익절",AtLimit,avgEntryPrice*1.04); } if MaxEntries == 2 Then { ExitLong("2차매수1프로익절",AtLimit,avgEntryPrice*1.01,"",Floor(MaxContracts*0.3)); ExitLong("2차매수2프로익절",AtLimit,avgEntryPrice*1.02,"",Floor(MaxContracts*0.4)); ExitLong("2차매수3프로익절",AtLimit,avgEntryPrice*1.03); } ExitLong("손절",AtStop,avgEntryPrice*0.97); } SetStopEndofday(151800); 즐거운 하루되세요 > 맴맴잉 님이 쓴 글입니다. > 제목 : 시스템식 요청 드립니다. > 안녕하십니까 항상 감사합니다. 기존에 시스템식을 요청해서 받았는데 손절 청산후에는 재 진입금지가 되어야 하는데 자꾸 진입되는걸로 나오는데.. 수정이 필요한것 같아 요청드립니다. 제 생각은 entry == 0; 이부분과 if TotalTrades > TotalTrades[1] and IsExitName("손절",1) == true Then entry = False; 이부분에서 문제가 있을것 같은데.. ㅜ.ㅜ 확인좀 부탁드리겠습니다. ----------기존 시스템식--------------------- input : 타점1(5000),타점2(4500),타점3(4000),타점4(3500),타점5(3000); input : 투자금액1(1000000),투자금액2(2000000); var : entry(False),HH(0); if Bdate != Bdate[1] Then { entry == 0; #5개의 타점중 시가보다 작은것 중에 젤 큰값 계산 HH = 0; if 타점1 < DayOpen and 타점1 > HH Then HH = 타점1; if 타점2 < DayOpen and 타점2 > HH Then HH = 타점2; if 타점3 < DayOpen and 타점3 > HH Then HH = 타점3; if 타점4 < DayOpen and 타점4 > HH Then HH = 타점4; if 타점5 < DayOpen and 타점5 > HH Then HH = 타점5; } if TotalTrades > TotalTrades[1] and IsExitName("손절",1) == true Then entry = False; if MarketPosition == 0 and sTime < 130000 and entry == 0 Then { Buy("1차매수",AtLimit,HH,Floor(투자금액1/min(NextBarOpen,HH))); } if MarketPosition == 1 Then { Buy("2차매수.",AtLimit,HH*0.977,Floor(투자금액2/min(NextBarOpen,HH*0.98))); } if MarketPosition == 1 Then { if MaxEntries == 1 Then { ExitLong("1차매수2프로익절",AtLimit,avgEntryPrice*1.02,"",Floor(MaxContracts*0.3)); ExitLong("1차매수3프로익절",AtLimit,avgEntryPrice*1.03,"",Floor(MaxContracts*0.4)); ExitLong("1차매수4프로익절",AtLimit,avgEntryPrice*1.04); } if MaxEntries == 2 Then { ExitLong("2차매수1프로익절",AtLimit,avgEntryPrice*1.01,"",Floor(MaxContracts*0.3)); ExitLong("2차매수2프로익절",AtLimit,avgEntryPrice*1.02,"",Floor(MaxContracts*0.4)); ExitLong("2차매수3프로익절",AtLimit,avgEntryPrice*1.03); } ExitLong("손절",AtStop,avgEntryPrice*0.97); } SetStopEndofday(151800);