커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

시스템식 부탁드립니다.

항상 도움 주셔서 감사합니다. 질문사항 시스템식에서 주문함수 exitlong(),exitshort()와 SetStopProfittarget()와 Setstoploss()를 같이 사용하고 싶습니다. 보통 주문청산을 사용할때는 exitlong(),exitshort()를 중간에 주문청산시 사용하고 코딩 맨 마지막에는 SetStopProfittarget()와 Setstoploss()를 사용합니다. 저는 SetStopProfittarget()와 Setstoploss()를 중간에도 사용하고 필요시 2번 이상도 사용하고 싶습니다. 그래서 아래와 같이 코딩해 보았는데 잘 되지 않는것 같습니다. 도움 부탁드립니다. input : 틱사이즈(0.01) ; var : 이평(0) ; 이평 = ma(C,20) ; f marketposition == 0 and C > 이평 then { Buy("b1",OnClose,DEf,amt); 매수가격 = EntryPrice(0) ; } if MarketPosition == 1 Then { if MaxEntries(0) == 1 then Buy("b2",AtLimit,매수가격-10*pricescal*MaxEntries,1); if MaxEntries(0) == 2 Then Buy("b3",AtLimit,매수가격-10*pricescal*MaxEntries,1); if MaxEntries(0) == 3 Then Buy("b4",AtLimit,매수가격-10*pricescal*MaxEntries,1); if MaxEntries(0) == 4 Then Buy("b5",AtLimit,매수가격-10*pricescal*MaxEntries,1); if MaxEntries(0) == 5 Then Buy("b6",AtLimit,매수가격-10*pricescal*MaxEntries,1); # 청산 1 Exitlong("BP",AtLimit,AvgEntryPrice+10*PriceScale) ; # 청산 2 if OpenPositionProfit/틱사이즈 > 10*PriceScale Then ExitLong("bx",AtLimit,c+10*PriceScale); # 청산 3-1 if MaxEntries() >= 3 Then SetStopProfittarget(10*PriceScale,PointStop); Else SetStopProfittarget(0); # 청산 3-2 if MaxEntries() < 3 Then SetStopProfittarget(10*PriceScale,PointStop); Else SetStopProfittarget(0); } # 청산 4 SetStopProfittarget(50*PriceScale,PointStop); 위와 같이 청산 코딩을 4개로 할 경우 문제(청산이 안되거나)가 되는 부분이나 논리적으로 잘못된 부분이 있으시면 수정 부탁드립니다. 제가 하고자 하는 청산은 아래와 같습니다. 청산 1 : 가격이 하락하여 다계약 진입한 경우 진입 평균가보다 10틱 위에서 청산 청산 2 : 가격이 하락하여 다계약 진입한 경우 다계약의 현재 포지션 총수익 10틱 이상인 경우 현재가에서 10틱 위에서 청산 청산 3 : 총 3회 이상 진입한 경우 3번째 진입부터는 10틱 이상 수익시 개별 청산 3회 미만은 평균가보다 10틱 이상 또는현재 총수익이 10틱 이상인 경우 청산 또는 총 3회 미만 진입한 경우는 10틱 이상 수익시 개별 청산하고 3회 이상부터는 평균가 보다 10틱 이상 또는 총수익이 10틱 이상인 경우 청산 청산 4 : 1계약 진입후 가격이 지속 상승한 경우 50틱에서 청산(익절) 도움 부탁드립니다. 감사합니다.
프로필 이미지
양치기
2023-04-07
1471
글번호 168015
시스템
답변완료

수익차트(기간별 누적수익) - 81606 답변 수정요청

81606 지표식 보완 부탁 드립니다. 누적수익이 답변주신 지표와 전혀 일치하지 안네요. 예스글러벌 시스템성능보고서의 수익차트그래프(기간별누적수익)와 같이 그래프 상 정확히 반영 되도록 지표 식을 작성해 주시면 감사드립니다. 그리고 No1 식은 하나의 var2 곡선 뿐 입니다. 참조 바랍니다.
프로필 이미지
너무조아
2023-04-07
1992
글번호 168010
지표
답변완료

문의 드립니다.

매매을 원하는 시간을 지정할 수 있도록 추가 부탁드립니다. var1 = BollBandUp(20,2); Var2 = BollBandDown(20,2); if CrossUp(c,var1) and C > (DayHigh+DayLow)/2 Then Buy(); if CrossDown(c,var1) Then ExitLong(); if CrossDown(c,var2) and C < (DayHigh+DayLow)/2 Then Sell(); if CrossUp(c,var2) Then ExitShort();
프로필 이미지
선물대장
2023-04-07
2245
글번호 168004
시스템
답변완료

트렌드 쌍바닥 시간대

inputs: ATRLength(15), Strength(20); input : 쌍바닥상(2),쌍바닥하(2); var : STrend(0),ATRv(0), avgv(0), dnv(0), upv(0), trend(1), flag(0), flagh(0), ST(0),hl(0); var : idx(0),hh(0),ll(0),EP1(0),EP2(0); var : ema1(0),ema2(0),ema3(0),h1(0),l1(0); Ep1 = 2/(ATRLength+1); Ep2 = 2/(Strength+1); idx = idx+1; if idx < ATRLength Then { hh = DayHigh; ll = daylow; } Else { hh = Highest(High, ATRLength); ll = Lowest(Low, ATRLength); } if idx < Strength Then { h1 = DayHigh; l1 = daylow; } Else { h1 = Highest(High, Strength); l1 = Lowest(Low, Strength); } hl = hh-ll; if idx == 1 Then { ema1 = hl; ema2 = h; ema3 = l; } Else { ema1 = hl * EP1 + ema1 * (1-EP1); ema2 = h * EP2 + ema2 * (1-EP2); ema3 = l * EP2 + ema3 * (1-EP2); } atrv = ema1; avgv = (ema2+ema3)/2; upv = avgv + ATRv; dnv = avgv - ATRv; if idx >= 2 then { if c > upv[1] and c > h1[1] then trend = 1; else if c < dnv[1] and c < l1[1] then trend = -1; if trend < 0 and trend[1] > 0 then flag=1; else flag=0; if trend > 0 and trend[1] < 0 then flagh = 1; else flagh = 0; if trend > 0 and dnv < dnv[1] then dnv=dnv[1]; if trend < 0 and upv > upv[1] then upv=upv[1]; if flag == 1 then upv = avgv + ATRv; if flagh == 1 then dnv = avgv - ATRv; if trend == 1 then ST = dnv; else ST = upv; STrend = trend; } if Trend != Trend[1] Then { if Trend == 1 Then { var1 = h; var2 = var1[1]; if st<dayhigh-0.7 and Var4 > 0 and var3 <= Var4+PriceScale*쌍바닥상 and var3 >= Var4-PriceScale*쌍바닥하 Then { Buy("b"); } } Else { Var3 = l; Var4 = Var3[1]; } } Else { if Trend == 1 Then { if h > var1 Then var1 = h; } if Trend == -1 Then { if l < var3 Then var3 = l; } } if MarketPosition == 1 and BarsSinceEntry == 1 Then ExitLong("bx"); 당일 고점 -0.7p 아래에서 매수 부분을, 시초부터 9시30분까지는 고점 관계없이 무조건 매수하고, 9시30분 이후부터만(장 종료시까지) 고점 -0.7p 아래에서 매수로 수정 부탁합니다.
프로필 이미지
고성
2023-04-07
1458
글번호 168001
시스템
답변완료

수익차트(기간별 누적수익)

다음의 No1 식 No2 식의 각기 별도의 수익차트(기간별 누적수익) 지표식을 작성 해 주시면 감사 하겠습니다. No1 Input : L2(0); Var2 = LRL(c,L2); Condition1 = var2[0] > Var2[1]; Condition2 = Var2[0] < Var2[1]; If Condition1 == Var2 Then Buy(); If Condition2 == Var2 Then Sell(); No2 input : L1(0),L2(0); var1 = LRL(c,L1); Var2 = LRL(c,L2); Condition1 = Var2[0] > Var2[1]; Condition2 = Var2[0] < Var2[1]; If var1 > Var2 Then If Condition1 == Var2 Then Buy(); If var1 < Var2 Then If Condition2 == Var2 Then Sell();
프로필 이미지
너무조아
2023-04-07
1391
글번호 167999
지표
답변완료

수식 작성 문의

청산이후 최고가 대비 3%이상 하락후, 그 최저가 대비 1%이상 상승 돌파시 매수하도록 아래와 같이 수식을 작성하여 시뮬레이션했는데, 수식에 문제가 있는지 제대로 작동하지 않고 오랫동안 정지상태로 있다가 프로그램 종료됩니다. Var3의 값을 찾는데 어려움이 있는 것으로 보이는데, 수식을 수정하는데 도움을 주시면 고맙겠습니다. Var1= Highest(H,BarsSinceExit(1)); Var2= NthHighestBar(1,H,BarsSinceExit(1)); Var3= Lowest(L,Var2); If MarketPosition==0 and Var3<Var1*(1-0.03) and CrossUp(L,Var3*(1+0.01)) Then Buy("매수",OnClose);
프로필 이미지
여의도
2023-04-07
1231
글번호 167995
시스템
답변완료

질문드립니다

차트에 1500선이 나오기 전에 100>=200>=300일선 이면 매수, 시간이 지나 1500선이 나오기 시작하면 100>=200>=300>=1500선 일때 매수되도록 수식 부탁드립니다 늘 감사드립니다
프로필 이미지
조하트
2023-04-07
1041
글번호 167984
시스템
답변완료

해선

안녕하세요 아래식 진입시점이 좀늦는데요 좀더 빠른진입 식으로 바꾸고 싶은데요 어떻게표현하나요 Var : count(0), value1(0), value2(0); if date != date[1] Then{ var1 = 0; var11 = 0; var2 = 0; var22 = 0; value1 = 0; value2 = 0; value3 = 0; value4 = 0;} if c > o Then{ var1 = var1+(c-o)/(dayindex+1); var11 = var11+1; } if c < o Then{ var2 = var2+(O-C)/(dayindex+1); var22 = var22+1; } value1 = var1/var11; value2 = var2/var22; value3 = value3+value1;#value1 당일누적 value4 = value4+value2;#value2 당일누적
프로필 이미지
신들의전쟁
2023-04-07
913
글번호 167983
시스템
답변완료

MAcd

안녕하세요 macd 10,20,5 를 이용하여 변수요청 10분차트 상승교차 매수 하여 5분차트 하락교차 청산한다 10분차트 하락교차 매도 하여 5분차트 상승교차 청산한다 감사합니다
프로필 이미지
신들의전쟁
2023-04-07
722
글번호 167982
시스템

신들의전쟁 님에 의해서 삭제되었습니다.

프로필 이미지
신들의전쟁
2023-04-07
0
글번호 167981
시스템