커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

문의

안녕하세요. 늘 감사드립니다. 아래 수식은 오래전에 만들어주신 보조챠트 교차시 라인이 생기는 수식인데요 보조챠트끼리crossup,CrossDown이 아닌 터치시에(같은 가격으로 딱 만났을때) 라인이 생기게 가능할까요? 당일분만 나타나게 부탁드립니다. 보조챠트는 4개정도 생각하고 있습니다. var : V1(0,data1); if crossup(data2(H),data3(L)) or CrossDown(data2(L),data3(H)) Then v1 = data1(C); if crossup(data2(H),data3(L)) or CrossDown(data2(L),data3(H)) Then v1 = data1(C); plot1(v1);
프로필 이미지
타이밍승부사
2024-04-09
629
글번호 178410
지표
답변완료

수식수정

input : EmaPeriod(80); input : RSIPeriod1(7),RSIPeriod2(14),RSIPeriod3(21),RSI차이(7); input : ADXPeriod(20); input : 익절(50),손절(50); var : Emav(0,Data1),RSI1(0,Data1),RSI2(0,Data1),RSI3(0,Data1),ADXv(0,Data1); var : Bcond(False,Data1),Scond(False,Data1); Input : 당일수익틱수(200); Var : N1(0,Data1),dayPl(0,Data1),당일수익(0,Data1); var : Tcond(false,Data1),Xcond(false,Data1); if Bdate != Bdate[1] Then { Xcond = False; } 당일수익 = data1(PriceScale*당일수익틱수); if Bdate != Bdate[1] Then { Xcond = false; N1 = NetProfit; } daypl = NetProfit-N1; if TotalTrades > TotalTrades[1] then { if daypl >= 당일수익 Then Xcond = true; if (IsExitName("dbp",1) == true or IsExitName("dsp",1) == true) then Xcond = true; } Emav = data1(Ema(C,EmaPeriod)); RSI1 = data1(RSI(RSIPeriod1)); RSI2 = data1(RSI(RSIPeriod2)); RSI3 = data1(RSI(RSIPeriod3)); ADXv = data1(ADX(ADXperiod)); Bcond = MarketPosition == 0 and MarketPosition(1) == 1 and MarketPosition(2) == 1; Scond = MarketPosition == 0 and MarketPosition(1) == -1 and MarketPosition(2) == -1; if Xcond == false then { if C > Emav and RSI1 >= RSI2+RSI차이 and RSI2 >= RSI3+RSI차이 and ADXV >= 21 and Bcond == False and Data2(ma(C,60) > ma(C,10)) Then buy(); if C < Emav and RSI1 <= RSI2-RSI차이 and RSI2 <= RSI3-RSI차이 and ADXV >= 21 and Scond == False and Data2(ma(C,60) < ma(C,10)) Then Sell(); } if MarketPosition == 1 then { ExitLong("dbp",atlimit,EntryPrice+((당일수익-daypl)/CurrentContracts)); } if MarketPosition == -1 then { ExitShort("dsp",atlimit,EntryPrice-((당일수익-daypl)/CurrentContracts)); } 안녕하세요 위식에서 시스탬 변수설정 화면에서 보이지 않게 부탁드림니다 input
프로필 이미지
아트정
2024-04-09
790
글번호 178409
시스템
답변완료

검색결과가 안바뀌게 해주세요.

var : SMA20(0), StdDev(0), UpperBB(0),VolMA(0); // 20일간의 평균 종가 계산 SMA20 = Average(C, 20); // 5일간의 평균 거래량 계산 VolMA = ma(V, 5); // 20일간의 종가에 대한 표준편차 계산 StdDev = std(C, 20); // 볼린저 밴드 상한선 계산 UpperBB = SMA20 + StdDev; // 검색 조건 if C[1] < UpperBB[1] && O > C[1] * 1.03 && Index >= 200 && VolMA[1] > 80000 && (C[1] >= 300 and C[1] <= 30000) then { Find(1); } 현재 제가 쓰는 검색식 입니다. 의도는 오늘의 데이터는 시가만 쓰고 나머지는 어제까지의 데이터를 써서 오늘 언제 검색하든지 결과가 같게 하고 싶은 겁니다. 하지만 오늘 9시 1초에 실행한것보다 9시 3분에 검색한것이 결과가 좀더 많이 나옵니다. 수정부탁 드립니다. 감사합니다.
프로필 이미지
올드송
2024-04-09
703
글번호 178408
검색
답변완료

문의드립니다.

늘 고맙습니다. 많은 도움이 되고 있습니다. 오늘도 좋은 날 되시길 바랍니다. Countif(조건, 기간) 기간동안 조건만족 횟수를 리턴하잖아요. 그런데 찾고자 하는 것이 현재봉부터 기간이 아니라 1. 현재봉 기준으로 5캔들전부터 10캔들전까지 조건을 만족한 적이 있었는지 찾으려면 어찌해야 되나요? 2. 현재봉기준으로 5캔들전부터 10캔들전까지 조건을 계속 만족하고 있었던 것을 찾는 방법은요?
프로필 이미지
산골소년
2024-04-09
757
글번호 178407
시스템
답변완료

검색식 부탁 드립니다

crossup(cci(period),0) 지표변수 period 50 파워검색 조건도 알려주세요 .......................... 첫봉조건=max(C,O); 조건=DATE != DATE(1); Valuewhen(1,조건,첫봉조건);. 첫5분봉 돌파종목 검색부탁 드립니다 파워종목 조건도 알식 려주세요 ........................................... > 함수명 상승개수(횡보) if(eavg(c,10)>eavg(c,10,1)*(1+횡보/100),1,0)+ if(eavg(c,11)>eavg(c,11,1)*(1+횡보/100),1,0)+ if(eavg(c,12)>eavg(c,12,1)*(1+횡보/100),1,0)+ if(eavg(c,13)>eavg(c,13,1)*(1+횡보/100),1,0)+ if(eavg(c,14)>eavg(c,14,1)*(1+횡보/100),1,0)+ if(eavg(c,15)>eavg(c,15,1)*(1+횡보/100),1,0)+ if(eavg(c,16)>eavg(c,16,1)*(1+횡보/100),1,0)+ if(eavg(c,17)>eavg(c,17,1)*(1+횡보/100),1,0)+ if(eavg(c,18)>eavg(c,18,1)*(1+횡보/100),1,0)+ if(eavg(c,19)>eavg(c,19,1)*(1+횡보/100),1,0)+ if(eavg(c,20)>eavg(c,20,1)*(1+횡보/100),1,0)+ if(eavg(c,21)>eavg(c,21,1)*(1+횡보/100),1,0)+ if(eavg(c,22)>eavg(c,22,1)*(1+횡보/100),1,0)+ if(eavg(c,23)>eavg(c,23,1)*(1+횡보/100),1,0)+ if(eavg(c,24)>eavg(c,24,1)*(1+횡보/100),1,0)+ if(eavg(c,25)>eavg(c,25,1)*(1+횡보/100),1,0)+ if(eavg(c,26)>eavg(c,26,1)*(1+횡보/100),1,0)+ if(eavg(c,27)>eavg(c,27,1)*(1+횡보/100),1,0)+ if(eavg(c,28)>eavg(c,28,1)*(1+횡보/100),1,0)+ if(eavg(c,29)>eavg(c,29,1)*(1+횡보/100),1,0)+ if(eavg(c,30)>eavg(c,30,1)*(1+횡보/100),1,0) 상승개수선 A=상승개수(횡보율)/21*100; eavg(A,5) 분봉 60 S=sum(1); R=S%60; W=R==1; HH=HighestSince(1,W,H); X=valuewhen(1,W,HH(1)); LL=LowestSince(1,W,L); Y=valuewhen(1,W,LL(1)); Z=valuewhen(1,W,C(1)); (X+Y+Z)/3) 상승개선이 분봉60 아래로 내려온 종목 검색식 부탁드립니다 파워종목 조건도 알려 주세요
프로필 이미지
구경꾼그림자
2024-04-09
868
글번호 178406
종목검색
답변완료

안녕하세요

아래 답해주신 내용을 "사용자 함수"로 등록해서 간편하게 사용가능할까요? 그래서 시스템식에서 hadx[2]<40 이런식으로 사용할수 있을런지요 고맙습니다 ^^ Inputs : Period(14); Var : idx(0),Counter(0), TRange(0), PlusDM14(0),MinusDM14(0); var : PlusDM(0), MinusDM(0),DMIv(0); var : DP(0),DM(0),hd(0),ld(0); var : cnt(0),b(0); var : CummDMI(0),ADXV(0); Array : Hadx[10](0); if bdate != Bdate[1] Then { idx = 0; DP = 0; DM = 0; DMIV = 0; ADXV = 0; } else idx = idx+1; If idx == Period+1 Then { DP = 0; DM = 0; PlusDM14 = 0; MinusDM14 = 0; TRange = 0; For Counter = 0 To Period - 1 { If High[Counter] - High[Counter+1] < 0 Then PlusDM = 0; Else PlusDM = High[Counter] - High[Counter+1]; If Low[Counter+1] - Low[Counter] < 0 Then MinusDM = 0; Else MinusDM = Low[Counter+1] - Low[Counter]; var1 = PlusDM; Var2 = MinusDM; If Var2 >= var1 Then PlusDM = 0; If var1 >= Var2 Then MinusDM = 0; TRange = TRange + TrueRange[Counter]; PlusDM14 = PlusDM14 + PlusDM; MinusDM14 = MinusDM14 + MinusDM; } If TRange <> 0 Then { DP = 100 * PlusDM14 / TRange; DM = 100 * MinusDM14 / TRange; } Else { DP = 0; DM = 0; } } If idx > Period+1 Then { If High[0] - High[1] < 0 Then PlusDM = 0; Else PlusDM = High[0] - High[1]; If Low [1] - Low [0] < 0 Then MinusDM = 0; Else MinusDM = Low[1] - Low[0]; var1 = PlusDM; Var2 = MinusDM; If Var2 >= var1 Then PlusDM = 0; If var1 >= Var2 Then MinusDM = 0; If Period > 0 Then Begin TRange = TRange[1] - (TRange[1] / Period) + TrueRange; PlusDM14 = PlusDM14[1] - (PlusDM14[1] / Period) + PlusDM; MinusDM14 = MinusDM14[1] - (MinusDM14[1] / Period) + MinusDM; End; If TRange <> 0 Then { DP = 100 * PlusDM14 / TRange; DM = 100 * MinusDM14 / TRange; } Else { DP = 0; DM = 0; } } If DP + DM == 0 Then DMIv = 0; Else DMIv = 100 * AbsValue(DP - DM) / (DP + DM); If DMIV > 0 Then { b = b+1; if b < Period Then { CummDMI = CummDMI + DMIV; ADXV = CummDMI / b; } Else ADXV = (ADXV[1] * (Period - 1) + DMIV) / Period; } if Bdate != Bdate[1] Then { For cnt = 9 DownTo 1 { Hadx[cnt] = Hadx[cnt-1]; } Hadx[0] = ADXV; } if ADXV > Hadx[0] Then Hadx[0] = Adxv;
프로필 이미지
돈을잃자
2024-04-09
632
글번호 178405
지표
답변완료

문의 드립니다

input : StartTime(213000),EndTime(55000); input : 익절틱수(400),손절틱수(0); var : Tcond(False); var : entry(0); IF Endtime > starttime Then SetStopEndofday(Endtime); Else { if sDate != sDate[1] Then SetStopEndofday(Endtime); } if (sdate != sdate[1] and stime >= EndTime) or (sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then Tcond = False; if (sdate != sdate[1] and stime >= StartTime) or (sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then { Tcond = true; entry = 0; IF Endtime <= starttime Then { SetStopEndofday(0); } } if (MarketPosition != 0 and MarketPosition != MarketPosition[1]) or (MarketPosition == MarketPosition[1] and TotalTrades > TotalTrades[1]) Then entry = entry+1; if Tcond == true Then { if MarketPosition <= 0 and entry < 1 Then buy("b",atlimit,dayhigh-PriceScale*400); if MarketPosition == 1 Then exitlong("bx",atlimit,lowest(L,BarsSinceEntry)+PriceScale*400); if MarketPosition >= 0 and entry < 1 Then sell("s",atlimit,daylow+PriceScale*700); if MarketPosition == -1 Then ExitShort("sx",atlimit,Highest(H,BarsSinceEntry)-PriceScale*300); } SetStopProfittarget(PriceScale*익절틱수,PointStop); SetStopLoss(PriceScale*손절틱수,PointStop); 위 수식의 청산은 주문싯점이 아닌 저점대비 올라온 폭의 청산입니다. 예를들어서 -100틱 매수후 +100틱 청산일때 -100틱에 매수가 되었으나 저점이 더 내려가서 반등시 그 저점에서 +100틱에 청산이 되는 경우 입니다. 주문싯점에서 +100틱에 청산 되는 수식어로 변경되었으면 합니다. 미리 감사드립니다.
프로필 이미지
푸른
2024-04-09
544
글번호 178403
시스템

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

프로필 이미지
2wnwn
2024-04-09
21
글번호 178402
지표
답변완료

수식 요청 드립니다.

안녕하세요. 1. 연결선물 당일청산 다수의 진입과 스위칭 또는 청산을 반복하는 분봉 시스템에서 당일손실제한청산 최대손절은 1.5P 입니다. 1차 진입후 당일손실제한청산 1.5P 2차 진입후 당일손실제한청산 1.0P 3차 진입후 당일손실제한청산 0.5P 로 축소되는 당일손실제한청산 수식 요청 드립이다. #진입수식(신호조건 예제) var : EMA1(0),EMA2(0); EMA1= ema(ema(ema(c,2),2),2); EMA2 = ema(ema(ema(c,4),4),4); if CrossDown(EMA1,EMA2) Then{ Sell("S"); } if CrossUP(EMA1,EMA2) Then{ Buy("B"); }
프로필 이미지
dandy
2024-04-08
685
글번호 178401
시스템
답변완료

25봉전 볼린저밴드 상향돌파

승수 20,2 기본으로, 숫자를 변경해서 사용할 수 있도록 바라며, 종가가 25봉전 볼린저밴드를 상향 돌파하는 수식 종목검색 부탁합니다.
프로필 이미지
땡글아기
2024-04-08
771
글번호 178400
종목검색