커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

문의드립니다.

"1차지지, 피봇중심, 1차저항" 3개 선에 대해 선을 상향 돌파하면 매수, 하향 돌파하면 매도하는 지지저항선 매매를 함에 있어서 예를 들어 1차저항 아래에서 위로 20틱이상 돌파하면 매수해 트레일링스탑이 적용되어 청산되거나 계속 상승하여 피봇중심이나 1차저항을 1틱이상 돌파한 후 해당선에서 아래로 20틱 밀리면 익청하는 매매식을 만들고자 합니다. (하향돌파도 동일한 원리로 적용됩니다) 나름 만들어보았으나 예상밖의 문제가 생겼는데 if crossup(C,R1+PriceScale*n) Then T = 3; if crossup(C,Pivot+PriceScale*n) Then T = 2; if crossup(C,S1+PriceScale*n) Then T = 1; if CrossDown(C,R1-PriceScale*n) Then T = -3; if CrossDown(C,Pivot-PriceScale*n) Then T = -2; if CrossDown(C,S1-PriceScale*n) Then T = -1; if T != T[1] and T >= 0 and T[1] <= 0 Then Buy("매수"); if T != T[1] and T <= 0 and T[1] >= 0 Then Sell("매도"); 선을 상향돌파후 다시 아래로 20틱 내려가거나 하향돌파후 다시 위로 20틱 올라가야 신호가 나오길 원하나 위의 식대로 만들면 선을 돌파하지 않고 선에 20틱 근처만 접근하면 매수나 매도 신호가 나오는 문제가 발생했습니다. 이부분 해결한 수식 부탁 드리겠습니다. 미리 감사드립니다~
프로필 이미지
카르마다
2023-08-08
839
글번호 171300
시스템

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

프로필 이미지
hakona
2023-08-08
19
글번호 171299
시스템

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

프로필 이미지
hakona
2023-08-07
36
글번호 171298
지표
답변완료

수식 변환부탁드립니다.

키움 신호수식 전환 부탁드립니다. 해당 조건만족시 ▲ 신호 발생하게 수식변경 부탁드립니다. 도움 감사합니다~ A=sum(avg(c,40,1)*1.3<=C and avg(거래대금/C, 40,1)*6<=avg(거래대금/C,2) and avg(((h-l)/((h+l)/2)),40,1)*1.5<=avg(((h-l)/((h+l)/2)),2) and C(1)<C); B=valuewhen(1,A(1)!=A,C); if(A(1)-A(11)>=1,B(1)<C and A(1)!=A,0)
프로필 이미지
유빈
2023-08-07
1256
글번호 171297
지표

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

프로필 이미지
hakona
2023-08-07
0
글번호 171296
지표
답변완료

추세선 이용 가능 할까요?

* 더운날씨에 수고 많습니다. * 아래 수식에서 1.상선 과 하선에 가격을 좀 넣어 주십시요, 2.네모 박스 추세선을 굵기(3정도)하고 색상을 LIME 로 지정하는 수식 좀 부탁드립니다. * 그리고 추세선을 이용 하여 대각선으로 줄긋기 가능 한가요? 즉 사각형 네모 박스의 대각선이 필요 합니다. * 가로 대각선, 세로대각선 두개로 해주셔도 됨니다. ## 아래 수식 input : P(5); var : box(0); if H > highest(H,P-1)[1] and L < Lowest(L,P-1)[1] Then { box = Box_New(sDate[P-1],sTime[P-1],highest(H,P),sDate,sTime,lowest(L,P)); Box_SetColor(box,Blue); } * 매번 많은 도움에 고맙습니다.
프로필 이미지
요타
2023-08-07
1262
글번호 171270
지표
답변완료

양봉 종가 매수 다음날 시가매도 수식 부탁드립니다.

제가 만든 수식으로는 #매수 if MarketPosition ==0 and o<c Then Buy("b"); #청산 if MarketPosition == 1 and NextBarSdate != sdate Then ExitLong("bx1",atmarket); 이상하게 매수후 2일뒤에 청산되는 거처럼 나옵니다. 일봉상 양봉 종가 매수, 다음날 시가 매도 수식부탁드립니다.
프로필 이미지
오리만두
2023-08-07
1306
글번호 171267
시스템
답변완료

식 추가변경 부탁드립니다.

안녕하세요 아래 식 추가변경부탁드립니다. 1. 아래식은 매수 발생- 손절 발생(익절 발생) 하면 더이상 매매가 안되도록 되어있는데 2. 추가변경 부탁드리는 부분은 손절 발생시(익절 발생은 해당되지않음) 손절한 당일에만 한번 더 같은 설정가에 매수 발생 (익일에는 매수 발생 안됨) 매수 발생되었으면 손절or익절 발생(당일부터 발생, 손절or 익절가가 될때까지) 부탁드립니다. ------------------------------------------------------------------- input : 날짜(20230302),매수가격(1000),익절가격(1200),손절가격(800); if NextBarSdate >= 날짜 Then { if NextBarSdate != sDate Then { if MarketPosition == 0 and TotalTrades == 0 and NextBarOpen <= 매수가격 Then Buy("b1",AtStop,매수가격); } Else { if MarketPosition == 0 and TotalTrades == 0 and DayHigh < 매수가격 Then Buy("b",AtStop,매수가격); } if MarketPosition == 1 Then { ExitLong("bp",AtLimit,익절가격); ExitLong("bl",AtStop,손절가격); } }
프로필 이미지
스누피독
2023-08-07
1116
글번호 171266
시스템
답변완료

문의 드립니다

input:p1(48),Rsi변동폭(20); Var:j(0),상승(100),하락(-100),양방향(2),추세(0), 파동선(0),Rsi파동선(0),방향(0),RsiV(0),Rsi추세선(0); Array:고[20](0),저[20](0),고Bar[20](0),저Bar[20](0), Rsi고[20](0),Rsi저[20](0),Rsi고Bar[20](0),Rsi저Bar[20](0); RsiV =RSI(P1); #==========================================# # 전고점,전저점 index 증가 #==========================================# For j = 1 To 19 { Rsi고Bar[j] = Rsi고Bar[j] + 1; Rsi저Bar[j] = Rsi저Bar[j] + 1; 저Bar[j] = 저Bar[j] + 1; 고Bar[j] = 고Bar[j] + 1; } #==========================================# # 최근 고,저 갱신 #==========================================# If Rsi고[0] <= RsiV || Rsi고[0] == 0 || IsNaN(Rsi고[0]) == True Then { Rsi고[0] = RsiV; Rsi고Bar[0] = 0; } Else Rsi고Bar[0] = Rsi고Bar[0] + 1; If Rsi저[0] >= RsiV || Rsi저[0] == 0 || IsNaN(Rsi저[0]) == True Then { Rsi저[0] = RsiV; Rsi저Bar[0] = 0; } Else Rsi저Bar[0] = Rsi저Bar[0] + 1; If 고[0] <= H || 고[0] == 0 || IsNaN(고[0]) == True Then { 고[0] = H; 고Bar[0] = 0; } Else 고Bar[0] = 고Bar[0] + 1; If 저[0] >= L || 저[0] == 0 || IsNaN(저[0]) == True Then { 저[0] = L; 저Bar[0] = 0; } Else 저Bar[0] = 저Bar[0] + 1; #==========================================# # 추세방향 결정 #==========================================# If Rsi저[0][1] + Rsi변동폭 > RsiV[1] && Rsi저[0][1] + Rsi변동폭 <= RsiV Then 방향 = 상승; If Rsi고[0][1] - Rsi변동폭 < RsiV[1] && Rsi고[0][1] - Rsi변동폭 >= RsiV Then 방향 = 하락; #==========================================# # 추세변화에 따른 변곡점 처리 #==========================================# If 방향[1] == 하락 && 방향 == 상승 Then { For j = 18 DownTo 1 { Rsi저[j+1] = Rsi저[j]; Rsi저Bar[j+1] = Rsi저Bar[j]; 저[j+1] = 저[j]; 저Bar[j+1] = 저Bar[j]; } Rsi저[1] = Rsi저[0]; Rsi저Bar[1] = Rsi저Bar[0]; Rsi파동선 = Rsi저[0]; Rsi저[0] = RsiV; Rsi저Bar[0] = 0; Rsi고[0] = RsiV; Rsi고Bar[0] = 0; 저[1] = 저[0]; 저Bar[1] = 저Bar[0]; 파동선 = 저[0]; 저[0] = L; 저Bar[0] = 0; 고[0] = H; 고Bar[0] = 0; } Else If 방향[1] == 상승 && 방향 == 하락 Then { For j = 18 DownTo 1 { Rsi고[j+1] = Rsi고[j]; Rsi고Bar[j+1] = Rsi고Bar[j]; 고[j+1] = 고[j]; 고Bar[j+1] = 고Bar[j]; } Rsi고[1] = Rsi고[0]; Rsi고Bar[1] = Rsi고Bar[0]; Rsi파동선 = Rsi고[0]; Rsi고[0] = RsiV; Rsi고Bar[0] = 0; Rsi저[0] = RsiV; Rsi저Bar[0] = 0; 고[1] = 고[0]; 고Bar[1] = 고Bar[0]; 파동선 = 고[0]; 고[0] = H; 고Bar[0] = 0; 저[0] = L; 저Bar[0] = 0; } Else If 방향[1] == 하락 && 방향 == 하락 Then { If Rsi고[1] < Rsi고[0] && Rsi고[0][1] - Rsi변동폭 <= RsiV[1] && Rsi고[0][1] - Rsi변동폭 > RsiV Then { Rsi고[1] = Rsi고[0]; Rsi고Bar[1] = Rsi고Bar[0]; Rsi파동선 = Rsi고[0]; Rsi고[0] = RsiV; Rsi고Bar[0] = 0; } If 고[1] < 고[0] && 고[0] > H Then { 고[1] = 고[0]; 고Bar[1] = 고Bar[0]; 파동선 = 고[0]; 고[0] = H; 고Bar[0] = 0; } } Else If 방향[1] == 상승 && 방향 == 상승 Then { If Rsi저[1] > Rsi저[0] && Rsi저[0][1] + Rsi변동폭 >= RsiV[1] && Rsi저[0][1] + Rsi변동폭 < RsiV Then { Rsi저[1] = Rsi저[0]; Rsi저Bar[1] = Rsi저Bar[0]; Rsi파동선 = Rsi저[0]; Rsi저[0] = RsiV; Rsi저Bar[0] = 0; } If 저[1] > 저[0] && 저[0] < L Then { 저[1] = 저[0]; 저Bar[1] = 저Bar[0]; 파동선 = 저[0]; 저[0] = L; 저Bar[0] = 0; } } If Rsi파동선[1] != Rsi파동선 Then{ if 방향 == 하락 and Rsi파동선 >= 65 then sell(); if 방향 == 상승 and Rsi파동선 <= 35 then buy(); } ---------------------- 위 수식어에 추가 하고자 합니다. 1. 이동평균선 300선 위에서 매도 신호는 매수로 전환 2. 이동평균선 300선 아래에서 매수 신호는 매도로 전환 3. 익절 100틱 손절 100틱 4. 위 수식어를 해외선물에 적용하고 있습니다. 중복체결로 계약수가 늘어 나는데 수식어나 설정하는 별도의 방법이 있는지 문의 드립니다.
프로필 이미지
푸른
2023-08-08
934
글번호 171265
시스템
답변완료

수식문의

수고하십니다. 아래수식으로 30분기준,검색기간 500봉으로 검색하였는데 검색이 안됩니다. 수정 또는 조언 부탁드립니다 Input : DayPeriod(20),P1(60),P2(120),NC(12), Mult(1.01),SV(100000);//Nc=60일선과 120일선 사이의 횡보캔들 수 Var : T(0),S(0),Cnt(0),Sum(0),Dayma(0); Sum = 0; For cnt = 0 to Dayperiod-1 { Sum = Sum + DayClose(Cnt); } Dayma = Sum/DayPeriod; Var1 = Ma(C,P1); Var2 = Ma(C,P2); if CrossDown(C,Var1) Then { T = 1; if Var1 > Var2 and T[1] == -1 and Index <= S+NC and C >= DayClose(1)*Mult and C > Dayma and C>O and DayVolume(0)>SV Then Find(1); } if CrossDown(c,var1) Then { T = -1; S = Index; } if T == -1 and C < Var2 Then T = -2;
프로필 이미지
심홍
2023-08-07
724
글번호 171264
종목검색