커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

문의드립니다.

이평 1 이 이평 2 위에 있고 양봉캔들 나오고 음봉 나오면 그 음봉캔들에 매도진입.진입한 그 음봉캔들 고가보다 높게 끝나면 손절청산.(손절할때도 이평1이 이평2 위에 있어야 합니다.) 이평 1 이 이평 2 아래에 있고 음봉캔들 나오고 양봉 나오면 그 양봉캔들에 매수진입.진입한 그 양봉캔들 저가보다 낮게 끝나면 손절청산.(손절될때도 이평1이 이평2 아래에 있어야 합니다.) 부탁드립니다. 수고하세요.
프로필 이미지
아침한때비51
2020-10-03
848
글번호 142801
시스템
답변완료

지표문의

1.아래는 수식지님이 만든 rsi band 라는 지표에 쓰는 사용자 함수입니다 이걸 사용자함수없이 합쳐 지표식 하나로 만 으로 표현되개 좀 해주세요. Inputs: Length(NumericSimple),TargetUpLevel(NumericSimple),TargetDnLevel(NumericSimple), NxtYn(NumericSimple), // 다음 봉의 값을 구하려면 1을 아니면 0을 넣어준다. oUpBand(NumericRef), // 주소전달방식임을 선언 oDnBand(NumericRef), // 값을 입력받는게 아니라 여기에 결과값을 채워서 반환한다. oMidLine(NumericRef); // 변수명 앞에 소문자를 o를 붙인 것은 output 변수입을 나타냅니다. Variables: Counter(0), DownAmt(0), UpAmt(0), UpSum(0), DownSum(0), UpAvg(0), DownAvg(0),MidLevel(0); If CurrentBar == 1 AND Length > 0 Then Begin UpSum = 0; DownSum = 0; For Counter = 0 To Length - 1 Begin UpAmt = C[Counter] - C[Counter+1]; If UpAmt >= 0 Then DownAmt = 0; Else Begin DownAmt = -UpAmt; UpAmt = 0; End; UpSum = UpSum + UpAmt; DownSum = DownSum + DownAmt; End; UpAvg = UpSum / Length; DownAvg = DownSum / Length; End Else If CurrentBar > 1 AND Length > 0 Then Begin UpAmt = C[0] - C[1]; If UpAmt >= 0 Then DownAmt = 0; Else Begin DownAmt = -UpAmt; UpAmt = 0; End; UpAvg = (UpAvg[1] * (Length - 1) + UpAmt) / Length; DownAvg = (DownAvg[1] * (Length - 1) + DownAmt) / Length; End; If UpAvg + DownAvg <> 0 Then Value1 = 100 * UpAvg / (UpAvg + DownAvg); Else Value1 = 0; If nxtYn == 1 Then // 다음 봉 여부가 1일 경우 { If Value1 > TargetUpLevel Then // 상단밴드 oUpBand = (((TargetUpLevel - 100) / TargetUpLevel * UpAvg) + DownAvg) * (Length - 1) + C; Else oUpBand = ((TargetUpLevel / (100 - TargetUpLevel) * DownAvg) - UpAvg) * (Length - 1) + C; If Value1 > TargetDnLevel Then // 하단밴드 oDnBand = (((TargetDnLevel - 100) / TargetDnLevel * UpAvg) + DownAvg) * (Length - 1) + C; Else oDnBand = ((TargetDnLevel / (100 - TargetDnLevel) * DownAvg) - UpAvg) * (Length - 1) + C; MidLevel = (TargetUpLevel + TargetDnLevel) / 2; // 중간라인 If Value1 > MidLevel Then oMidLine = (((MidLevel - 100) / MidLevel * UpAvg) + DownAvg) * (Length - 1) + C; Else oMidline = ((MidLevel / (100 - MidLevel) * DownAvg) - UpAvg) * (Length - 1) + C; } Else // 다음 봉 여부가 0인 경우 { If Value1[1] > TargetUpLevel Then oUpBand = (((TargetUpLevel - 100) / TargetUpLevel * UpAvg[1]) + DownAvg[1]) * (Length - 1) + C[1]; Else oUpBand = ((TargetUpLevel / (100 - TargetUpLevel) * DownAvg[1]) - UpAvg[1]) * (Length - 1) + C[1]; If Value1[1] > TargetDnLevel Then oDnBand = (((TargetDnLevel - 100) / TargetDnLevel * UpAvg[1]) + DownAvg[1]) * (Length - 1) + C[1]; Else oDnBand = ((TargetDnLevel / (100 - TargetDnLevel) * DownAvg[1]) - UpAvg[1]) * (Length - 1) + C[1]; MidLevel = (TargetUpLevel + TargetDnLevel) / 2; If Value1[1] > MidLevel Then oMidLine = (((MidLevel - 100) / MidLevel * UpAvg[1]) + DownAvg[1]) * (Length - 1) + C[1]; Else oMidline = ((MidLevel / (100 - MidLevel) * DownAvg[1]) - UpAvg[1]) * (Length - 1) + C[1]; } RSI_BAND = 1; //사용자함수는 반환값이 있어야 한다고 했습니다. // oUpBand, oDnBand, oMidLine 는 메모리 주소이지 반환값이 아닙니다. // 그래서 마지막에 아무 값이나 넘겨 줘야 하기 때문에 그냥 1을 넣어 줬습니다. 이것 저것 마구 집어 넣었더니 좀 길어졌네요. 사용자 함수를 이용한 지표식입니다. Input:Length(14),UpLevel(70),DnLevel(30); Var:Upband(0),DnBand(0),MidLine(0); RSI_BAND(Length,UpLevel,DnLevel,0,UpBand,DnBand,MidLine); // 현재 봉에서의 밴드 값 Plot1(UpBand); Plot2(MidLine); Plot3(DnBand); 2.그럼 수고하세요
프로필 이미지
성공예견
2020-10-01
967
글번호 142800
지표
답변완료

거래대금 종목검색 질문드립니다.

0봉전 기준 20봉 이내에서 거래대금 1000억 이상이 1회이상 거래된 종목을 검색하고 싶습니다. 감사합니다.
프로필 이미지
퉁이
2020-10-01
950
글번호 142799
종목검색

관리자에 의해 프로그램 사용법 QnA로 이동되었습니다

프로필 이미지
zebra64
2020-10-01
37
글번호 142798
시스템
답변완료

세로선 긋기

안녕하세요 혹시 시간별로 세로선을 차트에 그어줄 수 있을까요? 예 (09:00 , 10:00 , 11:00 세로선이 그어지게....)
프로필 이미지
gosuscv
2020-09-30
719
글번호 142797
지표

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

프로필 이미지
2wnwn
2020-09-30
11
글번호 142796
지표

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

프로필 이미지
2wnwn
2020-09-30
0
글번호 142795
지표
답변완료

지표식 부탁드립니다.

1틱봉 기준으로 현재 틱봉이 uptick 이면 1, 현재 틱봉이 downtick 이면 -1 이 표시되도록 부탁드립니다. 감사합니다.
프로필 이미지
cs아빠
2020-09-30
656
글번호 142794
지표
답변완료

시스템작성을 해서 시뮬에적용을 했는데 이상하게 나와요.

뭐가 잘못되었는지 모르겠어요. 7일간 최고값을 넘어갔는데도 청산이 안되고, 금욜만 청산되거나 스탑 둘 중 하나만 되네요. 로직에 어디가 문제인지 모르겠어요. 제가 의도하는 조건은 이렇습니다. 1. 일주일에 한번만 거래하며, 청산신호가 안나오면 금요일 무조건 청산(금욜 오바 없음) 2. 전주 주봉의 종가를 돌파하면 매수 3. 7일간의 최고값의 90% 근접하면 청산 var : BandHigh(0), cnt(0); cnt = 0; BandHigh = max(DayHigh(1),DayHigh(2),DayHigh(3),DayHigh(4),DayHigh(5),DayHigh(6),DayHigh(7)); BandHigh = BandHigh*0.9; if marketposition==0 then { if cnt == 0 then { if CrossUp(C, WeekClose(1)) Then buy("Wbuy1",AtStop,Weekclose(1)+1); cnt = 1; } } if marketposition==1 then { setstoploss(1,PercentStop); if cnt > 1 then { if Highest(H,BarsSinceEntry+1) > BandHigh or Crossup(Highest(H,BarsSinceEntry+1),BandHigh) Then ExitLong("out",AtStop,BandHigh+PriceScale*1); } if dayofweek(bdate) == 5 then { cnt = 0; SetStopEndofday(151500); } else { SetStopEndofday(0); } }
프로필 이미지
윤이
2020-09-29
748
글번호 142793
시스템
답변완료

해외선물 수식 부탁드림니다. ( 역추세 매매)

해외선물(나스닥) data1 분봉 10분봉 data2 일봉 [1] 1차 매수 진입 조건(1계약) data1의 1000봉에서 전저점이 1000봉 에서 300봉사이에서 전저점의 0.1%근접시 매수진입 (data1의 1000봉에서 전저점이 300봉 에서 1봉 사이에서는 전저점의 0.1%근접시에도 매수진입 X) data2 5일봉 이동평균선 우상향시 매수 활성화 [2] 2차 매수 진입 조건(1계약) 1차 매수후 D의 틱수(전저점과 전저점이후에 최고점의 차이틱수) 만큼 하락시 추가 매수 [3] 청산 조건 (1) 1차 진입후 청산시 : 1차 매수후 D의 틱수(전저점과 전저점이후에 최고점의 차이틱수)의 50% 도달시 청산 (2) 1차,2차 진입후 청산시 : 2차 매수후 2차 매수한 시점에서 D의 틱수(전저점과 전저점이후에 최고점의 차이틱수)의 75% 도달시 전량청산(2계약) --약 수익 (3) 1차 2차 진입후 손절시: 2차 매수한 시점에서 D의 틱수만큼 더 떨어졌을때 전량(2계약) 손절 번거롭더라도 그림을 참조해서 수식 좀 부탁드리겠습니다. / 감사드림니다.
프로필 이미지
이형지
2020-10-03
1240
글번호 142792
시스템