커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

시스템식 부탁드립니다.

항상 도움 주셔서 감사합니다. 종목 : 해외선물 차트 : 5분봉 최초 매수, 매도 진입이후 10틱 간격으로 불타기나 물타기 할경우 실제 진입한 가격을 보면 같은 가격에 진입되는 경우가 많은것 같습니다. 요청사항1 : 저는 일정한 간격으로 불타기나 물타기를 하고 싶습니다. 최대한 정확한 진입가격을 위한 방법이 무엇인지 도움 부탁드립니다. [일정한 간격으로 진입] 요청사항2 : 청산할때 일정계약수 이하에서는 개별청산, 일정계약수 이상에서는 평균진입가보다 10틱이상일 경우 일괄청산 하고 싶습니다. [개별청산은 진입건보다 10틱이상 수익시 청산 [일괄청산은 남아있는 계약의 평균가격 대비 10틱 이상 수익이면 일괄청산] # 매수의 경우 var : 이평(0) ; 이평 = ma(C,20) ; if marketposition == 0 and C > 이평 then buy("b",atlimit,C,1) ; 매수가격 = entryprice ; # 불타기 # 방법1 if marketposition == 1 then { buy("b2",atlimit,매수가격+10*pricescale*2,1) ; buy("b3",atlimit,매수가격+10*pricescale*3,1) ; buy("b4",atlimit,매수가격+10*pricescale*4,1) ; buy("b5",atlimit,매수가격+10*pricescale*5,1) ; buy("b6",atlimit,매수가격+10*pricescale*6,1) ; # 방법2 if marketposition == 1 then { if MaxEntries == 1 Then buy("b2",atlimit,매수가격+10*pricescale*2,1) ; if MaxEntries == 2 Then buy("b3",atlimit,매수가격+10*pricescale*3,1) ; if MaxEntries == 3 Then buy("b4",atlimit,매수가격+10*pricescale*4,1) ; if MaxEntries == 4 Then buy("b5",atlimit,매수가격+10*pricescale*5,1) ; if MaxEntries == 5 Then buy("b6",atlimit,매수가격+10*pricescale*6,1) ; } #방법3 if MarketPosition == 1 Then { if highest(H,BarsSinceEntry) < 매수가격-10*pricescale*2 Then Buy("b2",AtLimit,매수가격+10*pricescale*MaxEntries,amt); if highest(H,BarsSinceEntry) < 매수가격-10*pricescale*3 Then Buy("b3",AtLimit,매수가격+10*pricescale*MaxEntries,amt); if highest(H,BarsSinceEntry) < 매수가격-10*pricescale*4 Then Buy("b4",AtLimit,매수가격+10*pricescale*MaxEntries,amt); if highest(H,BarsSinceEntry) < 매수가격-10*pricescale*5 Then Buy("b5",AtLimit,매수가격+10*pricescale*MaxEntries,amt); if highest(H,BarsSinceEntry) < 매수가격-10*pricescale*6 Then Buy("b6",AtLimit,매수가격+10*pricescale*MaxEntries,amt); } # 위 셋중 어느방법이 더 정확하게 진입이 되나요? # 위 방법외에 더 정확한 진입을 위한 수식이 있으면 수정 부탁드립니다. # 물타기 # 방법1 if marketposition == 1 then buy("bb2",atlimit,매수가격-10*pricescale*2,1) ; buy("bb3",atlimit,매수가격-10*pricescale*3,1) ; buy("bb4",atlimit,매수가격-10*pricescale*4,1) ; buy("bb5",atlimit,매수가격-10*pricescale*5,1) ; buy("bb6",atlimit,매수가격-10*pricescale*6,1) ; # 방법2 if marketposition == 1 then { if MaxEntries == 1 Then buy("b2",atlimit,매수가격-10*pricescale*2,1) ; if MaxEntries == 2 Then buy("b3",atlimit,매수가격-10*pricescale*3,1) ; if MaxEntries == 3 Then buy("b4",atlimit,매수가격-10*pricescale*4,1) ; if MaxEntries == 4 Then buy("b5",atlimit,매수가격-10*pricescale*5,1) ; if MaxEntries == 5 Then buy("b6",atlimit,매수가격-10*pricescale*6,1) ; } #방법3 if MarketPosition == 1 Then { if lowest(L,BarsSinceEntry) > 매수가격-10*pricescale*2 Then Buy("b2",AtLimit,매수가격-10*pricescale*MaxEntries,amt); if lowest(L,BarsSinceEntry) > 매수가격-10*pricescale*3 Then Buy("b3",AtLimit,매수가격-10*pricescale*MaxEntries,amt); if lowest(L,BarsSinceEntry) > 매수가격-10*pricescale*4 Then Buy("b4",AtLimit,매수가격-10*pricescale*MaxEntries,amt); if lowest(L,BarsSinceEntry) > 매수가격-10*pricescale*5 Then Buy("b5",AtLimit,매수가격-10*pricescale*MaxEntries,amt); if lowest(L,BarsSinceEntry) > 매수가격-10*pricescale*6 Then Buy("b6",AtLimit,매수가격-10*pricescale*MaxEntries,amt); } # 개별청산 if MarketPosition == 1 and CurrentContracts < 3 Then { SetStopProfittarget(PriceScale*10,PointStop); } Else SetStopProfittarget(0); # 일괄청산 #방법1: if MarketPosition == 1 and CurrentContracts >= 3 Then { exitlong("bx",atlimit,avgentryprice-PriceScale*10,PointStop); } #방법2: if MarketPosition == 1 and CurrentContracts >= 3 Then { if openpositionprofit/0.025[틱사이즈] < 10*pricescap then exitlong("bx",atlimit,c,PointStop); } # 둘중 어느것이 더 정확한 코딩인가요? # 위 방법외에 더 정확한 청산을 위한 방법이 있으면 수정 부탁드립니다. 도움 부탁드립니다. 감사합니다.
프로필 이미지
양치기
2023-03-29
1169
글번호 167677
시스템
답변완료

YesSpotMaker 클래스가 등록되지 않았습니다

안녕하세요, 다른 컴으로 YTS를 옮기는 과정에서 발생한 일인데, YesSpot 스크립트에 대한 스크립트 검증 과정에서 제목과 같은 메시지가 뜹니다. 문제가 뭘까요?
프로필 이미지
민현종
2023-03-29
941
글번호 167676
시스템
답변완료

함수요청

안녕하세요? 신호발생시 1틱 아래서 매수신호 1틱 위에서 매도신호를 생성하고 싶습니다. 가령 5일 20일 골든크로스 발생시 익봉 시가 한틱 아래서 매수처럼요 1틱이라는게 호가에 물량이 있고 없고 개념이 아닌 단순 ticksize로 계산하여 수식으로 요청드립니다.
프로필 이미지
흰둥이아빠
2023-03-29
1227
글번호 167675
시스템
답변완료

거래량 관련 지표 문의 드립니다.

안녕하세요? 업무에 노고가 많으십니다. 다름이 아니라 하기 조건의 지표 수식을 좀 알려 주시면 대단히 감사하겠습니다. 조건 : 분봉 ( 3분 5분 etc. ) 분봉 종가상 거래량 얼마 이상 ( ex. 1000 etc. ) 출력 : 분봉 시가 및 종가에 수평선 표시. ( 우측 연장 ) 이상입니다.
프로필 이미지
본인
2023-03-29
887
글번호 167674
지표
답변완료

부탁드립니다

상세한 답변 감사 합니다 f MarketPosition == 0 and IsExitName("매수2청",1) == true and 10 > 60 Then buy("매수2진입"); 위수식을 직전 (매수2청)청산된 가격보다 1.5% 하락한때(작을때) 매수2진입~~~으로 바꾸어 작성부탁드립니다~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 아래수식을 진입된 포지션보다 (1.2%상승때) 매수2청 진입된 포지션보다 (0.7%하락때) 매도2청 으로 부탁드립니다~~ if PositionProfit(0) < 0 and 30 < 60 Then exitlong("매수2청"); (1.2%상승때) if PositionProfit(0) > 0 and 30 > 60 Then ExitShort("매도2청"); (0.7%하락때) 수고하세요~~
프로필 이미지
째일
2023-03-29
1514
글번호 167672
시스템
답변완료

문의 드려요

#지표1 1. 기간: 데이트레이딩 한정 2. 컨셉: - 데이 안에서의 1분봉이든 2분봉이든 분봉 세팅에 따라 - 윗꼬리와 아래꼬리의 포인트를 계산하여 최신봉 위에 표시 - 윗꼬리는 +, 아래꼬리는 - 하여 합산하여 마지막 캔들 위에 실시간 표시 예시) 2분봉으로 했는데 몸통 포인트는 뺀 윗꼬리는 +8pt 아래꼬리는 -7pt 면 합산시 1pt임. 이게 마지막 캔들 위 또는 아래에 표시 #지표2 1. 기간: 데이트레이딩 한정 2. 컨셉: - 데이 안에서의 1분봉이든 2분봉이든 분봉 세팅에 따라 - (꼬리를 제외한) 몸통의 길이 포인트를 합산하여 최신봉(마지막봉의 위든 아래든 표시) - 양봉 몸통 포인트는 +, 음봉 몸통 포인트는 -, 합산하여 마지막 캔들 위에 실시간 표시 예시) 2분봉으로 했는데 꼬리포인트는 뺀 몸통이 양봉 +8pt 음봉 -7pt 면 합산시 1pt임. 이게 마지막 캔들 위 또는 아래에 표시 항상 감사드려요 ^_^
프로필 이미지
돈을잃자
2023-03-29
1761
글번호 167668
지표
답변완료

수식 부탁드립니다

수고하십니다 아래수식은 챗gpt dpt에서 나스닥과 다우 페어트레이딩 전략을 추전해 달라고해서 생성된 코딩입니다 예스트레이더로 변환이 가능한지요 input nasdaq = NASDAQ(); input dow = INDU(); input spread_threshold = 50; // 이격 차이의 임계값 def nasdaq_price = close(nasdaq); def dow_price = close(dow); def spread = nasdaq_price - dow_price; plot SpreadLine = spread; SpreadLine.AssignValueColor(if spread > 0 then Color.GREEN else if spread < 0 then Color.RED else Color.GRAY); SpreadLine.SetDefaultColor(Color.WHITE); def spread_mean = SimpleMovingAvg(spread, 50); def spread_std = StDev(spread, 50); def z_score = (spread - spread_mean) / spread_std; def enter_long = z_score < -spread_threshold; def enter_short = z_score > spread_threshold; def exit_long = z_score > 0; def exit_short = z_score < 0; Buy("Long", 1, if enter_long then 100 shares else if exit_long then 0 shares else 100 shares); Sell("Short", 1, if enter_short then 100 shares else if exit_short then 0 shares else 100 shares); 설명 위 코드에서는 먼저 나스닥과 다우의 종가를 nasdaq_price와 dow_price 변수에 저장하고, 이를 뺀 이격 차이를 spread 변수에 저장합니다. 이격 차이의 평균과 표준 편차를 구한 후, Z-score를 계산하여 정규화합니다. 이격 차이의 Z-score가 일정 임계값보다 낮을 때는 나스닥을 매수하고 다우를 공매도, 일정 임계값보다 높을 때는 다우를 매수하고 나스닥을 공매도합니다. 매수 또는 공매도는 100주씩 거래하며, Z-score가 0에 근접하게 되면 포지션을 청산합니다. 위 코드를 참고하여 원하는 변수나 전략을 추가하면서 페어트레이딩 전략을 구현할 수 있습니다.
프로필 이미지
네온0609
2023-03-29
1480
글번호 167667
시스템

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

프로필 이미지
kns
2023-03-29
20
글번호 167664
사용자 함수

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

프로필 이미지
2wnwn
2023-03-29
19
글번호 167663
지표
답변완료

함수요청

안녕하세요? 볼린저밴드를 거래량 기준으로 작성 부탁드립니다. * 중심선 = 거래량의 20 기간 이동평균선 * 상한선 = 중심선 + 거래량의 20기간 표준편차 * 2 * 하한선 = 중심선 - 거래량의 20기간 표준편차 * 2 * %b = (거래량 - 하한선) / (상한선 - 하한선) * 대역폭(bandwidth) = (상한선 - 하한선) / 중심선
프로필 이미지
흰둥이아빠
2023-03-29
1421
글번호 167662
지표