커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

다음 문의드립니다.

다음 수식 문의 드립니다. 1. 5분봉 나스닥 선물 차트 2. 20선 / 100선 이동평균선 3. trix 보조지표 4. 매수 포지션 : 그림 1번 처럼 트릭스 빨간선이 0선을 상향 돌파하고, 2번 처럼 시그널선이 0선을 상향 돌파한후 1번과 2번 사이의 최대 높은 가격(3번)을 양봉으로 돌파할때 매수 5. 청산 : 매수 진입후, 20선가격에서 10포인트 하락시 매수 청산 6. 매도 포지션 : 트릭스 빨간선이 0선을 하향 돌파하고, 시그널선이 0선을 하향 돌파한후 1번과 2번 사이의 최대 낮은 가격을 음봉으로 돌파할때 매도 7. 청산 : 매도 진입후, 20선가격에서 10포인트 상승시 매도 청산
프로필 이미지
다이버
2024-08-01
896
글번호 182133
시스템
답변완료

수식 수정 부탁드립니다.

//★원웨이 예고 신호_22 INPUT : 비차익비중(10), 외인선물비중(20), 외인코스피비중(15); INPUT : 개인옵션비중(15), 호가잔량비중(40), 미결가중치부여1(1); INPUT : 원웨이점수(50); var : 비차익_배점계수(0), 외인선물_배점계수(0), 외인코피_배점계수(0); var : 개인옵션_배점계수(0), 호가잔량_배점계수(0); var : 비차익(0), 외인선물(0), 외인코피(0), 개인옵션(0), 호가잔량(0); var : 미결증감(0), 미결가중치(0); 비차익 = data2(C); 외인선물 = data3(C); 외인코피 = data4(C); 개인옵션 = data5(C); 호가잔량 = (bids-asks); 미결증감 = dayoi-dayOi(1); 비차익_배점계수 = 150000 / 비차익비중; // 억단위로 환산 외인선물_배점계수 = 4000 / 외인선물비중; 외인코피_배점계수 = 2500 / 외인코스피비중; 개인옵션_배점계수 = 40 / 개인옵션비중; 호가잔량_배점계수 = 8000 / 호가잔량비중; //--미결은 전체 비중에 포함하지 않고 가중치만 부여 If 미결증감 > 0 and 미결가중치부여1 == 1 then 미결가중치 = 1 + ((미결증감 / 400) / 100); // 8000개일 경우 20% else 미결가중치 = 1; //******************************* //--------점수 계산 var : 비차익점수(0), 외인선물점수(0), 외인코피점수(0); var : 개인옵션점수(0), 호가잔량점수(0), 점수(0); 비차익점수 = 비차익 / 비차익_배점계수; 외인선물점수 = 외인선물 / 외인선물_배점계수; 외인코피점수 = 외인코피 / 외인코피_배점계수; 개인옵션점수 = - 개인옵션 / 개인옵션_배점계수; 호가잔량점수 = 호가잔량 / 호가잔량_배점계수; //*******************점수의 상하한 제한******************* //장의 방향을 판단하거나 원웨이 여부를 판단할때 //5개 항목이 골고루 동일 방향일때 //신뢰도가 높다고 할수 있는데 //특정 항목이 예외저으로 과다하게 금등락할 경우 //그 항목 때문에 지표가 왜곡될 수 있다. //그래서 각항목 점수의 상하한을 제한하는 것이지만 //필요할 경우 여기의 전부 또는 일부항목을 지우거나 //주석처리 할수 있다 //예를들면 호가잔량 만을 중시한다면 //호가잔량만 남기고 나머지 항목은 삭제 또는 주석처리 //input 문으로 전체를 선택 또는 전체를 제외할 수도 있다. input : 점수상하한제한이면1(0); if 점수상하한제한이면1 == 1 then { if 비차익점수 > 비차익비중 then 비차익점수 = 비차익비중; if 비차익점수 < - 비차익비중 then 비차익점수 = - 비차익비중; if 외인선물점수 > 외인선물비중 then 외인선물점수 = 외인선물비중; if 외인선물점수 < - 외인선물비중 then 외인선물점수 = - 외인선물비중; if 외인코피점수 > 외인코스피비중 then 외인코피점수 = 외인코스피비중; if 외인코피점수 < - 외인코스피비중 then 외인코피점수 = - 외인코스피비중; if 개인옵션점수 > 개인옵션비중 then 개인옵션점수 = 개인옵션비중; if 개인옵션점수 < - 개인옵션비중 then 개인옵션점수 = - 개인옵션비중; if 호가잔량점수 > 호가잔량비중 then 호가잔량점수 = 호가잔량비중; if 호가잔량점수 < - 호가잔량비중 then 호가잔량점수 = - 호가잔량비중; } //************************************************* 점수 = (비차익점수 + 외인선물점수 + 외인코피점수 + 개인옵션점수 + 호가잔량점수) * 미결가중치; //**************점수 막대색************************* var : 점수색(0), 주황색(0), 연주황(0), 연하늘(0), 진하늘(0); 주황색 = RGB(255, 120, 0); 연주황 = RGB(255, 194, 134); 연하늘 = RGB(0, 255, 255); 진하늘 = RGB(0, 176, 176); if 점수 > 0 AND 점수 [1] < 점수[0] Then 점수색 = 주황색; if 점수 > 0 AND 점수 [1] > 점수[0] Then 점수색 = 연주황; if 점수 < 0 AND 점수 [1] < 점수[0] Then 점수색 = 연하늘; if 점수 < 0 AND 점수 [1] > 점수[0] Then 점수색 = 진하늘; //************************************************** //***************이평선**************************** //이평선도 색이나 굵기를 지정할 수 있음 //강도가 변형으로 점차 굵어지거나 //색이 점점 진하게 할수 있지만 //이평선은 지표의 속성에서 수정하는 것을 권장함 //지표내에서 색과 굵기를 지정하게 되면 //지표의 속성에서는 수정이 아니됨 input : 소이평봉수(5), 중이평봉수(20),대이평봉수(60); var : 소이평값(0), 중이평값(0), 대이평값(0); var : 소이평(0), 중이평(0), 대이평(0); if dayindex+1 < 소이평봉수 then 소이평값 = dayindex+1; if dayindex+1 < 중이평봉수 then 중이평값 = dayindex+1; if dayindex+1 < 대이평봉수 then 대이평값 = dayindex+1; 대이평 = ma(점수, 대이평값); 중이평 = ma(점수, 중이평값); 소이평 = ma(점수, 소이평값); //************************************************* input : 당일분만출력이면1(1), 횡보장표시폭(70); //===========가두리(횡보)장 라인 Plot11(0, "가두리", RGB(255,255,172), def, 횡보장표시폭); //노란색 일자 그래프 //if 당일분만출력이면1 == 1 then { // if CurrentDate == sdate then { // Plot12(점수, "점수막대", 점수색); // if 점수 >= 원웨이점수 then Plot21( 원웨이점수, "상방원웨이선"); // if 점수 <= -원웨이점수 then Plot22(-원웨이점수, "하방원웨이선"); // plot41(소이평, "소이평"); // plot42(중이평, "중이평"); // plot43(대이평, "대이평"); // } //} //else { Plot12(점수, "점수막대", 점수색); if 점수 >= 원웨이점수 then Plot21( 원웨이점수, "상방원웨이선"); if 점수 <= -원웨이점수 then Plot22(-원웨이점수, "하방원웨이선"); plot41(소이평, "소이평"); plot42(중이평, "중이평"); plot43(대이평, "대이평"); // } Plot51(0,"0선"); /* //--- 아래는 검증용 Plot81(비차익점수, "비차익점수"); Plot82(외인선물점수, "외인선물점수"); Plot83(외인코피점수, "외인코피점수"); Plot84(개인옵션점수, "개인옵션점수"); Plot85(호가잔량점수, "호가잔량점수"); Plot86(미결가중치, "미결가중치"); Plot87(점수, "점수"); /* //★원웨이 예고 신호 var : 비차익(0), 외인선물(0), 외인코피(0), 개인옵션(0), 호가잔량(0); 비차익 = data2(C); 외인선물 = data3(C); 외인코피 = data4(C); 개인옵션 = data5(C); 호가잔량 = (bids-asks); //--------점수 계산 var : 비차익점수(0), 외인선물점수(0), 외인코피점수(0); var : 개인옵션점수(0), 호가잔량점수(0), 점수(0); 비차익점수 = 비차익 / 15000; // 백만원 단위를 억으로 환산 외인선물점수 = 외인선물 / 133; 외인코피점수 = 외인코피 / 166; 개인옵션점수 = - 개인옵션 / 2.7; 호가잔량점수 = 호가잔량 / 266; 점수 = 비차익점수 + 외인선물점수 + 외인코피점수 + 개인옵션점수 + 호가잔량점수; //---지표의 출력 Plot1(점수, "점수막대"); if 점수 >= 45 then Plot21( 45, "점수상단"); if 점수 <= -45 then Plot22(-45, "점수하단"); 위 수식에서 소이평과 중이평 대이평 상승일때 빨간색 하락일때 파란색으로 나오게 수정 부탁드립니다.
프로필 이미지
오늘도수익
2024-08-01
1160
글번호 182132
지표
답변완료

안녕하세요

안녕하세요 항상 도움주셔서 감사드립니다. 아래의 지표를 예스랭귀지로 변환 부탁드릴 수 있을까요? 더운 날씨에 건강 유의하시고 좋은 하루 되세요! study(title="VQ0_IO") //---parameters PriceSmoothing = input(15, title="Price Smoothing") Filter = input(5, title="Filter") cHigh = wma(high,PriceSmoothing) cLow = wma(low,PriceSmoothing) cOpen = wma(open,PriceSmoothing) cClose = wma(close,PriceSmoothing) pClose = cClose[1] trueRange = max(cHigh,cClose) - min(cLow,pClose) rrange = cHigh-cLow vqi=0.0 vqi := (rrange!=0 and trueRange!=0) ? (((cClose-pClose)/trueRange + (cClose-cOpen)/rrange)*0.5) : 0 //vqi[1] vqi_abs = abs(vqi)*(cClose-pClose+cClose-cOpen)*0.5 //sumVqi = vqi_abs //v1.0 sumVqi = (abs(vqi_abs))>1 ? vqi_abs : ( (abs(vqi_abs)*10)>1 ? vqi_abs*10 : vqi_abs ) vq0_th = input(0.002, title="Threshold") vq0_mid = 0 secolor= (sumVqi>(vq0_mid+vq0_th)) ? lime : ((sumVqi<(vq0_mid-vq0_th)) ? fuchsia : blue) plot(sumVqi, color=secolor, title="VQI",linewidth=2) hline(0)
프로필 이미지
로즈버드
2024-08-01
1179
글번호 182131
지표
답변완료

검색식 부탁합니다.

다음은 볼린저밴드가 축소상태에서 확장하기 초입의 상태를 알려주는 신호인데요 이것을 검색식으로 만들고 싶습니다. 부탁드립니다. A1=(C-BBandsDown(20,2))/(BBandsUp(20,2)-BBandsDown(20,2))*100; A2=((C+O)/2-BBandsDown(20,2))/(BBandsUp(20,2)-BBandsDown(20,2))*100; A3=(BBandsUp(20,2)-BBandsDown(20,2))/BBandsC(20,2)*100; A4=A2>50 && A2<=100; A5=sum(A4,7)==7; A6=A3<=20; A7=sum(A6,7)==7; A7(1) && A5(1) && crossup(A1,100))
프로필 이미지
future
2024-08-01
927
글번호 182130
종목검색
답변완료

부탁드려봅니다.

안녕하세요. 수고많으십니다. 아래 추가 사항을 1박2일동안 그동안에 작성해주신 수식을 가지고 연구 해보았지만 답을 돌출 못하고 또다시 게시판에 도움 요청 합니다. 송구합니다. input : vPer(500),Per(-10); Condition1 = V >= V[1]*(vper/100) and C <= H*(1+Per/100); if CountIf(Condition1 == true,20)[1] >= 1 Then Find(1); 위 수식에서 아래 사항을 추가 해주시면 감사하겠습니다. if CountIf(Condition1 == true,20)[1] >= 1 or 기준봉 종가가 +10% 이상 and (0봉이 기준봉의 종가를 돌파 or 0봉이 기준봉 종가보다 클때) then Find(1); 새로운 봉이 출현하면 먼저 나온봉은 없어지고 새로운 봉이 기준봉이 됩니다. 기준봉 종가 변수 처리 가능 하다면 변수처리 부탁드립니다. 항상 감사드립니다. 수고하십시오^^
프로필 이미지
하루삼프로
2024-08-01
765
글번호 182129
종목검색
답변완료

안녕하세요 종목검색문의 부탁드립니다^^

안녕하세요 언제나 고생이 많으십니다 ㅜㅜ 아래수식을 제가 키움에서 쓰던건데 예스트레이더 수식으로 변환하고 싶습니다 잘부탁드리겠습니다 ㅜㅜ A1 = valuewhen(1, crossup((highest(high,기간3)+lowest(low,기간3))/2, (highest(high,기간4)+lowest(low,기간4))/2), C); A2 = valuewhen(1, crossup((highest(high,기간1)+lowest(low,기간1))/2, (highest(high,기간2)+lowest(low,기간2))/2), C); A3 = valuewhen(1,crossdown(c, sar(af,maxaf)), h); A4 = valuewhen(1,crossdown(c, sar(af2,maxaf2)), h); B = (A1 <=C) + (A2 <=C) + (A3 <=C) + (A4 <=C); B == 4
프로필 이미지
고래상어의꿈
2024-08-01
770
글번호 182128
종목검색
답변완료

프리장 써머타임/비써머타임에 따른 거래시간 변동 적용

안녕하세요. 수식 문의드립니다. 미국 정규장 이전의 프리장동안만 매매를 하고 싶은데, 써머타임 적용 유무에 따라 시작/종료 시간에 변동을 주고 싶습니다. 커뮤니티에 있는 것들을 보면서 수식을 만들었는데, 이렇게 돌리면 종료시간에 청산을 하지 않고, 다음날까지 넘어가버립니다. 다음날까지 넘어가지 않고, 종가청산은 미국 정규시장 시작시간 전에 실행하고 싶습니다. 전략 예시는 시가 대비 50pt 변동시 그 방향으로 진입하는 간단한 사례를 넣어놓았습니다. 감사합니다. /////////////////////////////////////////////////////////////////////////////////// #07:00 시가 대비 ±50pt 초과진행시 진입 #써머타임 (당일 07:00 ~ 22:30) #비써머타임 (당일 08:00 ~ 23:30) var : Summer(False); var : S1(0),S2(0),E1(0),E2(0),cnt(0),ST(0),ET(0); var : Tcond(false); if sdate != sdate[1] Then { S1 = Floor(sdate/10000)*10000+0300; E1 = Floor(sdate/10000)*10000+1100; var1 = 0; var2 = 0; for cnt = 1 to 31 { if DayOfWeek(S1+cnt) == 0 Then { var1 = var1+1; if var1 == 2 then { S2 = S1+cnt; } } if DayOfWeek(E1+cnt) == 0 and cnt <= 31 Then { var2 = var2+1; if var2 == 1 then { E2 = E1+cnt; } } } Summer = sdate > S2 And sdate < E2; if Summer == true then { ST = 70000; ET = 223000; } Else { ST = 80000; ET = 233000; } } if (sdate != sdate[1] and stime >= ST) or (sdate == sdate[1] and stime >= ST and stime[1] < ST) Then Tcond = true; if (sdate != sdate[1] and stime >= ET) or (sdate == sdate[1] and stime >= ET and stime[1] < ET) Then Tcond = False; if sdate != sdate[1] Then SetStopEndofday(ET); if bdate != bdate[1] Then SetStopEndofday(0); if Tcond == true then { #진입로직 if H > DayOpen(0)+50 Then Buy("B",OnClose); if L < DayOpen(0)-50 Then Sell("S",OnClose); }
프로필 이미지
카프리카
2024-08-01
718
글번호 182122
시스템
답변완료

문의드립니다

1 input : jawLength(13),jawOffset(8); input : teethLength(8),teethOffset(5); input : lipsLength(5),lipsOffset(3); Input : 당일수익틱수(100),당일손실틱수(100); var : hl2(0),jaw(0),teeth(0),lips(0); Var : N1(0),dayPl(0),당일수익(0),당일손실(0); var : Tcond(false),Xcond(false); 당일수익 = PriceScale*당일수익틱수; 당일손실 = PriceScale*당일손실틱수; if Bdate != Bdate[1] Then { Xcond = false; N1 = NetProfit; } daypl = NetProfit-N1; if TotalTrades > TotalTrades[1] then { if daypl >= 당일수익 or daypl <= -당일손실 Then Xcond = true; if (IsExitName("dbp",1) == true or IsExitName("dbl",1) == true or IsExitName("dsp",1) == true or IsExitName("dsl",1) == true) then Xcond = true; } hl2 = (h+l)/2; jaw = 0; if IsNaN(jaw[1]) == true Then jaw = ma(hl2,jawLength); Else jaw = (jaw[1]*(jawLength-1) + hl2)/jawLength; teeth = 0; if IsNaN(teeth[1]) == true Then teeth = ma(hl2,teethLength); Else teeth = (teeth[1]*(teethLength-1) + hl2)/teethLength; lips = 0; if IsNaN(lips[1]) == true Then lips = ma(hl2,lipsLength); Else lips = (lips[1]*(lipsLength-1) + hl2)/lipsLength; Condition1 = jaw[jawOffset] > teeth[teethOffset] and teeth[teethOffset] > lips[lipsOffset]; Condition2 = jaw[jawOffset] < teeth[teethOffset] and teeth[teethOffset] < lips[lipsOffset]; if Xcond == true then { if Condition1 == true and Condition1[1] == False Then Buy(); if Condition2 == true and Condition2[1] == False Then Sell(); } if MarketPosition == 1 then { ExitLong("dbp",atlimit,EntryPrice+((당일수익-daypl)/CurrentContracts)); ExitLong("dbl",AtStop,EntryPrice-((당일손실+daypl)/CurrentContracts)); } if MarketPosition == -1 then{ ExitShort("dsp",atlimit,EntryPrice-((당일수익-daypl)/CurrentContracts)); ExitShort("dsl",AtStop,EntryPrice+((당일손실+daypl)/CurrentContracts)); } 2 input : jawLength(13),jawOffset(8); input : teethLength(8),teethOffset(5); input : lipsLength(5),lipsOffset(3); Input : 당일수익틱수(100),당일손실틱수(100); var : hl2(0),jaw(0),teeth(0),lips(0); Var : N1(0),dayPl(0),당일수익(0),당일손실(0); var : Xcond(false); 당일수익 = PriceScale*당일수익틱수; 당일손실 = PriceScale*당일손실틱수; if Bdate != Bdate[1] Then { Xcond = false; N1 = NetProfit; } daypl = NetProfit-N1; if TotalTrades > TotalTrades[1] then { if daypl >= 당일수익 or daypl <= -당일손실 Then Xcond = true; if (IsExitName("dbp",1) == true or IsExitName("dbl",1) == true or IsExitName("dsp",1) == true or IsExitName("dsl",1) == true) then Xcond = true; } hl2 = (h+l)/2; jaw = 0; if IsNaN(jaw[1]) == true Then jaw = ma(hl2,jawLength); Else jaw = (jaw[1]*(jawLength-1) + hl2)/jawLength; teeth = 0; if IsNaN(teeth[1]) == true Then teeth = ma(hl2,teethLength); Else teeth = (teeth[1]*(teethLength-1) + hl2)/teethLength; lips = 0; if IsNaN(lips[1]) == true Then lips = ma(hl2,lipsLength); Else lips = (lips[1]*(lipsLength-1) + hl2)/lipsLength; if Xcond == true then { if CrossUp(lips[lipsOffset],teeth[teethOffset]) Then Buy(); if CrossDown(lips[lipsOffset],teeth[teethOffset]) Then Sell(); } if MarketPosition == 1 then { ExitLong("dbp",atlimit,EntryPrice+((당일수익-daypl)/CurrentContracts)); ExitLong("dbl",AtStop,EntryPrice-((당일손실+daypl)/CurrentContracts)); } if MarketPosition == -1 then{ ExitShort("dsp",atlimit,EntryPrice-((당일수익-daypl)/CurrentContracts)); ExitShort("dsl",AtStop,EntryPrice+((당일손실+daypl)/CurrentContracts)); } 수고 많으십니다 문의드릴 내용은 위 수식은 88382번 문의 내용에 대해 작성해 주신 수식인데요 적용해보니 거래가 발생하지 않아 한번 더 검토 부탁드립니다 항상 감사드립니다
프로필 이미지
cjfdk
2024-08-01
645
글번호 182117
시스템
답변완료

수정부탁합니다. 추세선이 이어져야 하는데 끊어져요.

var : T(0),cnt(0),TL(0),HTL1(0),HTL2(0),LTL1(0),LTL2(0); var : hd(0),ht(0),hh(0),ld(0),lt(0),ll(0); Array : SHD[5](0),SHT[5](0),SHV[5](0); Array : SLD[5](0),SLT[5](0),SLV[5](0); var : SHL(0),SLH(0); if h <= h[1] && h[1] > h[2] then { hd = sDate[1]; ht = sTime[1]; hh = H[1]; SHL = L[1]; T = 1; } Else { if T == 1 and h > hh then T = 0; if T == 1 and L < SHL Then { T=2; SHD[0] = hd; SHT[0] = ht; SHV[0] = hh; if SLV[0] > 0 Then { TL = TL_New(SLD[0],SLT[0],SLV[0],SHD[0],SHT[0],SHV[0]); } } } // 저점은 반대 if l >= l[1] && l[1] < l[2] then { ld = sDate[1]; lT = sTime[1]; ll = L[1]; SLH = H[1]; T = -1; } Else { if T == -1 and l < ll then T = 0; if T == -1 and h > Slh Then { T=-2; SLD[0] = ld; SLT[0] = lt; SLV[0] = ll; if SHV[0] > 0 Then { TL = TL_New(SHD[0],SHT[0],SHV[0],SLD[0],SLT[0],SLV[0]); } } }
프로필 이미지
solution
2024-08-01
692
글번호 182112
지표

행복만땅 님에 의해서 삭제되었습니다.

프로필 이미지
행복만땅
2024-08-01
74
글번호 182111
종목검색