커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

시스템식 요청드립니다.

안녕하세요 수식을 작성하는데 어려움이 있어 이렇게 글을 남깁니다. 위의 그림 2, 3번을 보시면 대략적으로 그림으로 작성하였습니다. 타점 에서 100주 매수후 30주 매도 하고 중간에 30주 매도 해서 총 40주가 남은 상태에서 타점 1로 60주 매수해서 다시 100주가 되도록 맞췄습니다. 그런데 타점1 5% 익절에서 30주만 매도가 되어야 하는데 그림 1 성능보고서를 보시면, 타점에서 30주매도, 타점 1에서 30주 매도 총 60주가 매도 되었습니다. 타점, 타점 1이 따로따로 시스템식이 적용 되는것 같은데 어떻게 해야 할지 부탁드리겠습니다. input : 베팅금(1000000); input : 시작날짜 (20240113),Xtime(110000) ; input : 타점(5000),손절(1000); var : P618(0),P5(0),P382(0),HH(0),LL(0); Var : day(0),EntryDay(0),entry(False),dd(0),ED(0); if sDate >= 시작날짜 Then { if Bdate != Bdate[1] Then { entry = true; day = day+1; dd = dd+1; } if HH == 0 or (HH > 0 and H > HH) Then HH = H; #고점갱신용 수식 if LL == 0 or (LL > 0 and L < LL) Then LL = L; #저점갱신용 수식 } P618 = LL+(HH-LL)*0.618; P5 = LL+(HH-LL)*0.5; P382 = LL+(HH-LL)*0.382; if MarketPosition == 0 and entry == true and c > 타점 Then Buy("타점",AtLimit,타점,Floor((베팅금)/타점)); if MarketPosition == 1 Then { Condition1 = False; If C >= HH[1] AND LatestExitName(0) == "타점 5%익절 P5청산" Then { Condition1 = true; Buy("타점1",OnClosE,DeF,Floor((베팅금)/타점*0.6)); } If C >= HH[1] AND LatestExitName(0) == "타점 10%익절 P618청산" Then { Condition1 = true; Buy("타점2",OnClosE,DeF,Floor((베팅금)/타점*0.8)); } #전봉대비 수량 감소(일부 청산발생을 위미) if CurrentContracts < CurrentContracts[1] Then { #청산가 저장 var1 = LatestExitPrice(0); if LatestExitName(0) == "타점 5%익절" or LatestExitName(0) == "타점1 5%익절" or LatestExitName(0) == "타점2 5%익절" Then Condition11 = true; if LatestExitName(0) == "타점 5%익절 P5청산" or LatestExitName(0) == "타점 10%익절" or LatestExitName(0) == "타점1 5%익절 P618청산" or LatestExitName(0) == "타점1 10%익절" or LatestExitName(0) == "타점2 5%익절 P618청산" or LatestExitName(0) == "타점2 10%익절" Then Condition22 = true; if LatestExitName(0) == "타점 5%익절 P382청산" or LatestExitName(0) == "타점 10%익절 P618청산" or LatestExitName(0) == "타점1 5%익절 P5청산" or LatestExitName(0) == "타점1 10%익절 P618청산" or LatestExitName(0) == "타점2 5%익절 P5청산" or LatestExitName(0) == "타점2 10%익절 P618청산" Then Condition33 = true; if LatestExitName(0) == "타점 10%익절 P5청산" or LatestExitName(0) == "타점1 10%익절 P5청산" or LatestExitName(0) == "타점2 10%익절 P5청산" Then Condition44 = true; } #전봉대비 수량 증가(추가 진입발생을 의미) if CurrentContracts > CurrentContracts[1] Then { #현재수량 저장 Var3 = CurrentContracts; Var4 = AvgEntryPrice; Condition11 = False; Condition22 = False; Condition33= False; Condition44 = False; } if (LatestEntryName(0) == "타점") and Condition1 == False Then ExitLong("타점 5%익절",AtLimit,AvgEntryPrice*1.05,"",Floor(베팅금/타점)*0.3); if (LatestExitName(0) == "타점 5%익절") and c <= P5 Then ExitLong("타점 5%익절 P5청산",AtLimit,P5,"",Floor(베팅금/타점)*0.3); if (LatestExitName(0) == "타점 5%익절 P5청산") and c <= P382 Then ExitLong("타점 5%익절 P382청산",AtLimit,P382,"",Floor(베팅금/타점)*0.4); if (LatestEntryName(0) == "타점") and Condition1 == False Then ExitLong("타점 10%익절",AtLimit,AvgEntryPrice*1.2,"",Floor(베팅금/타점)*0.3); if (LatestExitName(0) == "타점 10%익절") and c <= P618 Then ExitLong("타점 10%익절 P618청산",AtLimit,P618,"",Floor(베팅금/타점)*0.2); if (LatestExitName(0) == "타점 10%익절 P618청산") and c <= P5 Then ExitLong("타점 10%익절 P5청산",AtLimit,P5,"",Floor(베팅금/타점)*0.2); if (LatestEntryName(0) == "타점1")Then ExitLong("타점1 5%익절",AtLimit,latestEntryPrice*1.05,"",Floor(베팅금/타점)*0.3); if (LatestExitName(0) == "타점1 5%익절") and c <= P618 Then ExitLong("타점1 5%익절 P618청산",AtLimit,P618,"",Floor(베팅금/타점)*0.3); if (LatestExitName(0) == "타점1 5%익절 P618청산") and c <= 5 Then ExitLong("타점1 5%익절 P5청산",AtLimit,P5,"",Floor(베팅금/타점)*0.4); if (LatestEntryName(0) == "타점1") Then ExitLong("타점1 10%익절",AtLimit,latestEntryPrice*1.1,"",Floor(베팅금/타점)*0.3); if (LatestExitName(0) == "타점1 10%익절") and c <= P618 Then ExitLong("타점1 10%익절 P618청산",AtLimit,P618,"",Floor(베팅금/타점)*0.2); if (LatestExitName(0) == "타점1 10%익절 P618청산") and c <= P5 Then ExitLong("타점1 10%익절 P5청산",AtLimit,P5,"",(베팅금/타점)*0.2); if (LatestEntryName(0) == "타점2")Then ExitLong("타점2 5%익절",AtLimit,latestEntryPrice*1.05,"",Floor(베팅금/타점)*0.3); if (LatestExitName(0) == "타점2 5%익절") and c <= P618 Then ExitLong("타점2 5%익절 P618청산",AtLimit,P618,"",Floor(베팅금/타점)*0.3); if (LatestExitName(0) == "타점2 5%익절 P618청산") and c <= 5 Then ExitLong("타점2 5%익절 P5청산",AtLimit,P5,"",Floor(베팅금/타점)*0.4); if (LatestEntryName(0) == "타점2") Then ExitLong("타점2 10%익절",AtLimit,latestEntryPrice*1.1,"",(베팅금/타점)*0.3); if (LatestExitName(0) == "타점2 10%익절") and c <= P618 Then ExitLong("타점2 10%익절 P618청산",AtLimit,P618,"",Floor(베팅금/타점)*0.2); if (LatestExitName(0) == "타점2 10%익절 P618청산") and c <= P5 Then ExitLong("타점2 10%익절 P5청산",AtLimit,P5,"",Floor(베팅금/타점)*0.2); } if MarketPosition == 1 and sTime > xtime and 손절 >= c Then ExitLong("손절"); if MarketPosition == 1 and (LatestEntryName(0) == "타점1") and c <= latestEntryPrice*0.96 Then ExitLong("5%돌파손절"); if MarketPosition == 1 and (LatestEntryName(0) == "타점2") and c <= latestEntryPrice*0.96 Then ExitLong("10%돌파손절");
프로필 이미지
맴맴잉
2024-03-10
804
글번호 177327
시스템

러블리 님에 의해서 삭제되었습니다.

프로필 이미지
러블리
2024-03-09
1
글번호 177326
지표
답변완료

특정봉의 시가고가저가

안녕하세요. 이전 봉들 중에 특정기간 가격지표가 급등 또는 급락 한 특정봉의 시가,고가,저가를 변수로 지정하고 싶습니다.
프로필 이미지
chunsk
2024-03-09
772
글번호 177325
시스템
답변완료

부탁드립니다

1. 종가상 전봉보다 2배 이상 거래량이 늘어났을 경우에는 빨강색과 함께 고가를 기준으로 빨강색 우측 추세선으로, 전봉보다 2분1 이하로 거래량이 줄어들었을 경우에는 파란색과 함께 저가를 기준으로 파란색 우측 추세선으로 구현해 주세요 2. 매시간 종가를 기준으로 전 시간대보다 거래량이 늘어났으면 해당 봉 고가 위 부분에 빨강색 거래숫자를, 거래량이 줄어들었으면 해당 봉 저가 아래 부분에 파란색 거래숫자를 구현해 주세요 3. 종가상 직전 봉과 비교하여 거래량이 늘어났으면 해당 봉 고가를 기준으로 빨강색우측 추세선으로, 저가를 기준으로 파란색 우측 추세선으로 구현해 주세요 4. 매시간을 기준으로 종가상 거래량이 1주라도 더 늘어나 새롭게 갱신되면 해당봉에 빨강색으로 구현해 주세요 5. 매시간 최고가가 갱신되면 빨강색으로, 최저가가 갱신되면 파란색으로 구현해 주세요 6. 매일 최고가가 갱신되면 빨강색으로, 최저가가 갱신되면 파란색으로 구현해 주세요 7. 매주 최고가가 갱신되면 빨강색으로, 최저가가 갱신되면 파란색으로 구현해 주세요 고맙습니다.
프로필 이미지
서태공
2024-03-10
499
글번호 177324
강조

yojo 님에 의해서 삭제되었습니다.

프로필 이미지
yojo
2024-03-09
20
글번호 177323
검색
답변완료

검색 수식입니다

음+양양양양 패턴을 보이는 종목을 검색한다 그리고 이 수식을 활용하여 실제로 하이투자증권 예스트레이더 4.0 차트에서 종목을 검색 도출하는 과정을 간단하게 글자로 설명 부탁 드립니다. 감사합니다
프로필 이미지
para
2024-03-08
459
글번호 177322
검색
답변완료

문의드립니다.

수고많으십니다. 다름이 아니라 선물매매에서 50틱 손절이 되면 바로 반대신호로 스위칭되는 신호를 원합니다.
프로필 이미지
카르마다
2024-03-08
432
글번호 177318
시스템

아트정 님에 의해서 삭제되었습니다.

프로필 이미지
아트정
2024-03-08
8
글번호 177317
시스템
답변완료

안녕하세요

공부하다가 질문 올립니다 1. if bdate=!bdate[1] then =>>봉의 영업날이 1봉전 영업날과 다르다면, 의역하면 장이 시작되고 첫봉에라고 해석하면 될까요?? 2. if bdate=!bdate[1] then { } else { { 이런식일때 여기서 else가 의미하는 상황은 뭐가 될까요? 첫봉 말고 오른쪽으로 쭈욱 진행될때라는 의미로 해석이 가능할까요?
프로필 이미지
돈을잃자
2024-03-08
677
글번호 177306
시스템
답변완료

지표의수평선과 종가선 그리기

감사합니다 그림과 같이 아래지표의 수평선과 종가선을 그리고자 합니다 input : length(21),hh(8),mult(2),k(2); var : src(0),n(0),tx(0),sume(0),i(0),j(0),y2(0),sum(0),sumw(0),w(0),mae(0); src = Close; n = barindex; sume = 0; for i = 0 to length-1 { sum = 0; sumw = 0; for j = 0 to length-1 { w = exp(-(pow(i-j,2)/(hh*hh*2))); sum = sum+src[j]*w; sumw = sumw+w; } y2 = sum/sumw; sume = sume+abs(src[i] - y2); } mae = sume/length*mult; Plot1(y2); Plot2(y2+mae); Plot3(y2-mae); 1 PLOT2 의 지표가 N봉(변수처리) 기간중 지표의 최고가에서 최초로 하락하기 시작하는 첫봉에서 지표의 종가선을 그리고 가격의 종가선을 그립니다. 2. PLOT3 의 지표가 N봉(변수처리) 기간중 지표의 최저가에서 최초로 상승하기 시작하는 첫봉에서 지표의 종가선을 그리고 가격의 종가선을 그립니다.
프로필 이미지
jdavid
2024-03-08
815
글번호 177299
지표