커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

전략수식 부탁합니다.

1. 매수 진입조건 20봉간의 최고가와 최저가로 가격패널을 구성하고, 0봉전 캔들에서 20봉 최저가가 발생하고, 동시에 0봉전 저가대비 0.1%이상 상승하였을때 매수 진입합니다. 2. 매도 진입조건 20봉간의 최고가와 최저가로 가격패널을 구성하고, 0봉전 캔들에서 20봉 최고가가 발생하고, 동시에 0봉전 고가대비 0.1%이상 하락하였을때 매도 진입합니다. 3. 매수청산과 매도청산은 다음의 조건이 만족해야합니다. 기본적으로 익절은 0.3%입니다 다만 3회까지 매수와 매도진입조건이 만족하면 피라미딩 진입해야하며, 3회 진입전에 매입한 평균단가에서 0.3%수익이 발생하면 익절청산나와야 합니다. 그리고 손절은 총 3회 진입이 마무리 된 시점에서 평균단가 기준으로 0.3%이상 손실이 발생할 경우 손절청산합니다. 즉, 3회 이내에서 0.3%손실이 발생하여도 손절청산은 발생하면 안됩니다. 이 전략 수식 작성 부탁드립니다.
프로필 이미지
하늘만큼11
2024-04-09
857
글번호 178412
시스템

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

프로필 이미지
아로
2024-04-09
23
글번호 178411
종목검색
답변완료

문의

안녕하세요. 늘 감사드립니다. 아래 수식은 오래전에 만들어주신 보조챠트 교차시 라인이 생기는 수식인데요 보조챠트끼리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
659
글번호 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
810
글번호 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
722
글번호 178408
검색
답변완료

문의드립니다.

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

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

프로필 이미지
2wnwn
2024-04-09
22
글번호 178402
지표