커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

수식

안녕하세요. 지표 파일은 YesLang -> indication 넣어서 챠트에 구동 시키면 됩니다. 강조 파일은 어디에 넣어서 챠트에 구동 시켜야하느지 질문드립니다. 감사합니다.
프로필 이미지
한국사람73
2022-09-07
1343
글번호 162045
강조
답변완료

쌍바닥 plot 색상

Input : af(0.02), maxAF(0.2),상(1),하(1); Var : Sarv(0),tl(0),T(0); Sarv = sar(af,maxAF); Plot1(0); If crossup(c,Sarv) Then { T = 1; var1 = Sarv; Var2 = var1[1]; Condition1 = False; if var1 <= var2+PriceScale*상 and var1 >= var2-PriceScale*하 and var2 > 0 Then { Condition1 = true; Plot1(1); PlaySound("C:₩예스트레이더₩data₩Sound₩alert.wav"); } } if CrossDown(C,sarv) Then T = -1; Else { if T == 1 Then { if sarv < var1 Then { var1 = sarv; if Condition1 == False and var1 <= var2+PriceScale*상 and var1 >= var2-PriceScale*하 and var2 > 0 Then { Condition1 = true; Plot1(1); PlaySound("C:₩예스트레이더₩data₩Sound₩alert.wav"); } } } } "직전 저점"보다 낮아진 쌍바닥은 파랑,같은 쌍바닥은 그린,높아진 쌍바닥은 빨강, 이런식으로 각기 다른 세가지 색으로 출력.알람은 있어도 되고 없어도 무관. 감사합니다.
프로필 이미지
고성
2022-09-07
1429
글번호 162044
지표
답변완료

분봉에서 일봉이평값을 만들어 사용하고자 합니다. 도움 부탁드립니다.

안녕하세요. 늘 도움 주셔서 항상 감사드립니다. 첨부한 그림과 같이 분봉에서 일봉의 5일선 값을 만들어 사용하고자 합니다. 그런데, 일봉에서는 4/26일의 값을 4/25일의 종가를 사용하여 분봉을 만들고 있는데, 분봉에서는 4/26일의 데이터가 없어서, 4/27일부터 분봉의 일봉이평값과 일봉의 5일선 값이 서로 다른 결과가 나와서 애를 먹고 있습니다. 이러한 문제를 어떻게 해결할 수 있을까요? 도움 부탁드립니다. 고맙습니다.
프로필 이미지
영화사랑
2022-09-06
1699
글번호 162043
지표
답변완료

문의합니다

안녕하세요 if marketposition == 0 then if 매수조건1 then buy("매수1") if marketposition == 0 then if 매수조건2 then buy("매수2") 이렇게 매수1과 매수2가 있을 때, 조건당 1계약 진입조건이라고 할때 똑같은 봉에서 매수1과 매수2가 동시에 조건을 만족하면 중복으로 매수1과 매수2가 동시에 들어가서 총 2계약이 매수에 들어가나요? 아님 두 개 중 한 계약만 매수가 들어가나요? 1계약만 진입하면 우선순위가 어떻게 되나요?
프로필 이미지
검은약
2022-09-07
1258
글번호 162042
시스템
답변완료

수식문의

늘 친절하신 답변에 감사드리며 관리자님께 아래 두가지 요청드립니다. 1. 종목검색 수식 검증 및 5일전 검색수식으로 변환 2. 수식을 시스템 신호수식으로 변환 부탁드립니다. Input: P1(240); var:A(0); A=MAX(H[1],H[2]); if H>highest(H,5)[1] Then { var1=(A+L)/2; Var2=L; } if L<highest(L,5)[1] Then var3=A; if var1>0 Then if L<lowest(L,5)[1] Then var4=A; Var5=ma(C,P1); if var4>0 Then if ((CrossUp(c,var2)) or (var2>=o and var2<c)) and var4>=o and var4<c and var5>=L and c>o Then find(1);
프로필 이미지
위피데이
2022-09-06
1269
글번호 162041
종목검색
답변완료

수식 부탁드립니다.

안녕하세요. 아래의 키움증권 신호 수식을 예스트레이더 종목검색으로 수식으로 변환 요청드립니다. max( avg(C,short), avg(C,mid), avg(C,long)) < min( avg(C,short), avg(C,mid), avg(C,long)) * (1+Percent/100) && C > highest(H(1),5) && C(1) <= highest(H(2),5) && CrossUp(h,BBandsUp(Period,D1)) short 5 mid 20 long 60 Period 20 percent 5 D1 2 이상입니다.
프로필 이미지
갑술이
2022-09-06
1859
글번호 162040
종목검색
답변완료

지표수정부탁합니다

안녕하세요 항상 지면으로 정말 감사하게 생각합니다 고맙습니다 디마크 지표 이름도 같이 표시할수 있도록 부탁드립니다 수고하세요 If DayClose(1) > DayOpen(1) Then { value1 = (DayHigh(1)+DayLow(1)+DayClose(1)+DayHigh(1))/2-DayLow(1); value2 = (DayHigh(1)+DayLow(1)+DayClose(1)+DayHigh(1))/2-DayHigh(1); } Else If DayClose(1) < DayOpen(1) Then { value1 = (DayHigh(1)+DayLow(1)+DayClose(1)+DayLow(1))/2-DayLow(1); value2 = (DayHigh(1)+DayLow(1)+DayClose(1)+DayLow(1))/2-DayHigh(1); } Else { value1 = (DayHigh(1)+DayLow(1)+DayClose(1)+DayClose(1))/2-DayLow(1); value2 = (DayHigh(1)+DayLow(1)+DayClose(1)+DayClose(1))/2-DayHigh(1); } Plot1(value1, "Demark분봉상한"); Plot2(value2, "Demark분봉하한"); Plot3((value1+value2)/2, "Demark중심"); var : tx1(0),tx2(0); if Bdate != Bdate[1] Then { tx1 = Text_New(sdate,sTime,value1,NumToStr(Value1,2)); tx2 = Text_New(sdate,sTime,value2,NumToStr(Value2,2)); Text_SetStyle(tx1,0,1); Text_SetStyle(tx2,0,0); } Else { Text_SetLocation(tx1,sDate,sTime,value1); Text_SetLocation(tx2,sDate,sTime,value2); }
프로필 이미지
몽창시리
2022-09-06
1828
글번호 162039
지표
답변완료

문의드립니다

1)Input:chngRate(0.3),굵기(1); input : Per1(0),Per2(23.6),Per3(38.2),Per4(50.0),Per5(61.8),Per6(76.4),Per7(100),Per8(123.6),Per9(161.8); Var : j(0),lastHiVal(0),lastLoVal(0),turnPntBit(""),TL1(0); var : TL11(0),TL12(0),TL13(0),TL14(0),TL15(0),TL16(0),TL17(0),TL18(0),TL19(0); var : Tx11(0),Tx12(0),Tx13(0),Tx14(0),Tx15(0),Tx16(0),Tx17(0),Tx18(0),Tx19(0); Array:valArr[10](0),barArr[10](0),turnPntArr[10](""); For j = 0 To 9 { barArr[j] = barArr[j] + 1; } Condition1 = Min(valArr[1],valArr[2]) * (1 + (chngRate/100)) < H and lastHiVal < H; Condition2 = Max(valArr[1],valArr[2]) * (1 - (chngRate/100)) > L and (lastLoVal > L || lastLoVal == 0); If Condition1 Then { lastHiVal = H; lastLoVal = 0; } If Condition2 Then { lastLoVal = L; lastHiVal = 0; } turnPntBit = ""; If Condition1 and Condition2 Then { If Max(valArr[1],valArr[2]) < H and Min(valArr[1],valArr[2]) > L Then turnPntBit = "HiLo"; Else If Max(valArr[1],valArr[2]) < H Then turnPntBit = "Hi"; Else If Min(valArr[1],valArr[2]) > L Then turnPntBit = "Lo"; } Else If Condition1 Then turnPntBit = "Hi"; Else If Condition2 Then turnPntBit = "Lo"; If turnPntBit <> "" Then { If turnPntBit == "HiLo" Then { valArr[1] = IFF(turnPntArr[1] == "Hi",H,L); barArr[1] = 0; TL_SetEnd(TL1,sDate[barArr[1]],sTime[barArr[1]],valArr[1]); If turnPntArr[1] == "Hi" Then turnPntBit = "Lo"; Else turnPntBit = "Hi"; } If turnPntBit <> turnPntArr[1] Then { for j = 8 downto 1 { valArr[j+1] = valArr[j]; barArr[j+1] = barArr[j]; turnPntArr[j+1] = turnPntArr[j]; } } If turnPntBit <> turnPntArr[1] or (turnPntBit == turnPntArr[1] and ((turnPntBit == "Hi" and valArr[1] < H) or (turnPntBit == "Lo" and valArr[1] > L))) Then { valArr[1] = IFF(turnPntBit == "Hi",H,L); barArr[1] = 0; turnPntArr[1] = turnPntBit; If turnPntArr[1][1] <> turnPntArr[1][0] Then { TL1 = TL_New(sDate[barArr[2]],sTime[barArr[2]],valArr[2],sDate[barArr[1]],sTime[barArr[1]],valArr[1]); value1 = valArr[1]-valArr[2]; TL_Delete(TL11); TL_Delete(TL12); TL_Delete(TL13); TL_Delete(TL14); TL_Delete(TL15); TL_Delete(TL16); TL_Delete(TL17); TL_Delete(TL18); TL_Delete(TL19); TL_SetExtRight(TL11,False); TL_SetExtRight(TL12,False); TL_SetExtRight(TL13,False); TL_SetExtRight(TL14,False); TL_SetExtRight(TL15,False); TL_SetExtRight(TL16,False); TL_SetExtRight(TL17,False); TL_SetExtRight(TL18,False); TL_SetExtRight(TL19,False); TL11 = TL_New(sDate[barArr[2]],sTime[barArr[2]],valArr[1]+value1*(per1/100),sDate[barArr[1]],sTime[barArr[1]],valArr[1]-value1*(per1/100)); TL12 = TL_New(sDate[barArr[2]],sTime[barArr[2]],valArr[1]+value1*(per2/100),sDate[barArr[1]],sTime[barArr[1]],valArr[1]-value1*(per2/100)); TL13 = TL_New(sDate[barArr[2]],sTime[barArr[2]],valArr[1]+value1*(per3/100),sDate[barArr[1]],sTime[barArr[1]],valArr[1]-value1*(per3/100)); TL14 = TL_New(sDate[barArr[2]],sTime[barArr[2]],valArr[1]+value1*(per4/100),sDate[barArr[1]],sTime[barArr[1]],valArr[1]-value1*(per4/100)); TL15 = TL_New(sDate[barArr[2]],sTime[barArr[2]],valArr[1]+value1*(per5/100),sDate[barArr[1]],sTime[barArr[1]],valArr[1]-value1*(per5/100)); TL16 = TL_New(sDate[barArr[2]],sTime[barArr[2]],valArr[1]+value1*(per6/100),sDate[barArr[1]],sTime[barArr[1]],valArr[1]-value1*(per6/100)); TL17 = TL_New(sDate[barArr[2]],sTime[barArr[2]],valArr[1]+value1*(per7/100),sDate[barArr[1]],sTime[barArr[1]],valArr[1]-value1*(per7/100)); TL18 = TL_New(sDate[barArr[2]],sTime[barArr[2]],valArr[1]+value1*(per8/100),sDate[barArr[1]],sTime[barArr[1]],valArr[1]-value1*(per8/100)); TL19 = TL_New(sDate[barArr[2]],sTime[barArr[2]],valArr[1]+value1*(per9/100),sDate[barArr[1]],sTime[barArr[1]],valArr[1]-value1*(per9/100)); TL_SetExtRight(TL11,true); TL_SetExtRight(TL12,true); TL_SetExtRight(TL13,true); TL_SetExtRight(TL14,true); TL_SetExtRight(TL15,true); TL_SetExtRight(TL16,true); TL_SetExtRight(TL17,true); TL_SetExtRight(TL18,true); TL_SetExtRight(TL19,true); TL_SetColor(TL11,Gray); TL_SetColor(TL12,White); TL_SetColor(TL13,Gray); TL_SetColor(TL14,YELLOW); TL_SetColor(TL15,Gray); TL_SetColor(TL16,White); TL_SetColor(TL17,Gray); TL_SetColor(TL18,Gray); TL_SetColor(TL19,Gray); TL_SetSize(TL11,굵기); TL_SetSize(TL12,굵기); TL_SetSize(TL13,굵기); TL_SetSize(TL14,굵기); TL_SetSize(TL15,굵기); TL_SetSize(TL16,굵기); TL_SetSize(TL17,굵기); TL_SetSize(TL18,굵기); TL_SetSize(TL19,굵기); Text_Delete(Tx11); Text_Delete(Tx12); Text_Delete(Tx13); Text_Delete(Tx14); Text_Delete(Tx15); Text_Delete(Tx16); Text_Delete(Tx17); Text_Delete(Tx18); Text_Delete(Tx19); tx11 = Text_New(sdate,stime,TL_GetValue(TL11,sdate,stime),NumToStr(Per1,2)+"%("+NumToStr(TL_GetValue(TL11,sdate,stime),2)+")"); tx12 = Text_New(sdate,stime,TL_GetValue(TL12,sdate,stime),NumToStr(Per2,2)+"%("+NumToStr(TL_GetValue(TL12,sdate,stime),2)+")"); tx13 = Text_New(sdate,stime,TL_GetValue(TL13,sdate,stime),NumToStr(Per3,2)+"%("+NumToStr(TL_GetValue(TL13,sdate,stime),2)+")"); tx14 = Text_New(sdate,stime,TL_GetValue(TL14,sdate,stime),NumToStr(Per4,2)+"%("+NumToStr(TL_GetValue(TL14,sdate,stime),2)+")"); tx15 = Text_New(sdate,stime,TL_GetValue(TL15,sdate,stime),NumToStr(Per5,2)+"%("+NumToStr(TL_GetValue(TL15,sdate,stime),2)+")"); tx16 = Text_New(sdate,stime,TL_GetValue(TL16,sdate,stime),NumToStr(Per6,2)+"%("+NumToStr(TL_GetValue(TL16,sdate,stime),2)+")"); tx17 = Text_New(sdate,stime,TL_GetValue(TL17,sdate,stime),NumToStr(Per7,2)+"%("+NumToStr(TL_GetValue(TL17,sdate,stime),2)+")"); tx18 = Text_New(sdate,stime,TL_GetValue(TL18,sdate,stime),NumToStr(Per8,2)+"%("+NumToStr(TL_GetValue(TL18,sdate,stime),2)+")"); tx19 = Text_New(sdate,stime,TL_GetValue(TL19,sdate,stime),NumToStr(Per9,2)+"%("+NumToStr(TL_GetValue(TL19,sdate,stime),2)+")"); Text_SetStyle(tx11,2,1); Text_SetStyle(tx12,2,1); Text_SetStyle(tx13,2,1); Text_SetStyle(tx14,2,1); Text_SetStyle(tx15,2,1); Text_SetStyle(tx16,2,1); Text_SetStyle(tx17,2,1); Text_SetStyle(tx18,2,1); Text_SetStyle(tx19,2,1); } } value1 = valArr[1]-valArr[2]; TL_SetEnd(TL1,sDate[barArr[1]],sTime[barArr[1]],valArr[1]); TL_SetBegin(TL11,sDate[barArr[2]],sTime[barArr[2]],valArr[1]-value1*(per1/100)); TL_SetEnd(TL11,sDate,sTime,valArr[1]-value1*(per1/100)); TL_SetBegin(TL12,sDate[barArr[2]],sTime[barArr[2]],valArr[1]-value1*(per2/100)); TL_SetEnd(TL12,sDate,sTime,valArr[1]-value1*(per2/100)); TL_SetBegin(TL13,sDate[barArr[2]],sTime[barArr[2]],valArr[1]-value1*(per3/100)); TL_SetEnd(TL13,sDate,sTime,valArr[1]-value1*(per3/100)); TL_SetBegin(TL14,sDate[barArr[2]],sTime[barArr[2]],valArr[1]-value1*(per4/100)); TL_SetEnd(TL14,sDate,sTime,valArr[1]-value1*(per4/100)); TL_SetBegin(TL15,sDate[barArr[2]],sTime[barArr[2]],valArr[1]-value1*(per5/100)); TL_SetEnd(TL15,sDate,sTime,valArr[1]-value1*(per5/100)); TL_SetBegin(TL16,sDate[barArr[2]],sTime[barArr[2]],valArr[1]-value1*(per6/100)); TL_SetEnd(TL16,sDate,sTime,valArr[1]-value1*(per6/100)); TL_SetBegin(TL17,sDate[barArr[2]],sTime[barArr[2]],valArr[1]-value1*(per7/100)); TL_SetEnd(TL17,sDate,sTime,valArr[1]-value1*(per7/100)); TL_SetBegin(TL18,sDate[barArr[2]],sTime[barArr[2]],valArr[1]-value1*(per8/100)); TL_SetEnd(TL18,sDate,sTime,valArr[1]-value1*(per8/100)); TL_SetBegin(TL19,sDate[barArr[2]],sTime[barArr[2]],valArr[1]-value1*(per9/100)); TL_SetEnd(TL19,sDate,sTime,valArr[1]-value1*(per9/100)); Text_SetLocation(Tx11,sdate,stime,TL_GetValue(TL11,sdate,stime)); Text_SetLocation(Tx12,sdate,stime,TL_GetValue(TL12,sdate,stime)); Text_SetLocation(Tx13,sdate,stime,TL_GetValue(TL13,sdate,stime)); Text_SetLocation(Tx14,sdate,stime,TL_GetValue(TL14,sdate,stime)); Text_SetLocation(Tx15,sdate,stime,TL_GetValue(TL15,sdate,stime)); Text_SetLocation(Tx16,sdate,stime,TL_GetValue(TL16,sdate,stime)); Text_SetLocation(Tx17,sdate,stime,TL_GetValue(TL17,sdate,stime)); Text_SetLocation(Tx18,sdate,stime,TL_GetValue(TL18,sdate,stime)); Text_SetLocation(Tx19,sdate,stime,TL_GetValue(TL19,sdate,stime)); Text_SetString(Tx11,NumToStr(Per1,2)+"%("+NumToStr(TL_GetValue(TL11,sdate,stime),2)+")"); Text_SetString(Tx12,NumToStr(Per2,2)+"%("+NumToStr(TL_GetValue(TL12,sdate,stime),2)+")"); Text_SetString(Tx13,NumToStr(Per3,2)+"%("+NumToStr(TL_GetValue(TL13,sdate,stime),2)+")"); Text_SetString(Tx14,NumToStr(Per4,2)+"%("+NumToStr(TL_GetValue(TL14,sdate,stime),2)+")"); Text_SetString(Tx15,NumToStr(Per5,2)+"%("+NumToStr(TL_GetValue(TL15,sdate,stime),2)+")"); Text_SetString(Tx16,NumToStr(Per6,2)+"%("+NumToStr(TL_GetValue(TL16,sdate,stime),2)+")"); Text_SetString(Tx17,NumToStr(Per7,2)+"%("+NumToStr(TL_GetValue(TL17,sdate,stime),2)+")"); Text_SetString(Tx18,NumToStr(Per8,2)+"%("+NumToStr(TL_GetValue(TL18,sdate,stime),2)+")"); Text_SetString(Tx19,NumToStr(Per9,2)+"%("+NumToStr(TL_GetValue(TL19,sdate,stime),2)+")"); } TL_SetSize(TL1,굵기); TL_SetColor(TL1,black); 2) INPUTS: LENGTH1(5); INPUTS: 색1(YELLOW),색2(RED), 굵기(1); VARS : DEMA1(0),TL(0); var1= EMA(C,LENGTH1); value1= EMA(EMa(C,LENGTH1),LENGTH1); DEMA1 = var1 * 2 - value1; if C >DEMA1 Then PLOT1(DEMA1, "DEMA1",GRAY); Else PLOT1(DEMA1, "DEMA1",GRAY); if CrossUp(DEMA1,v1) or CrossUp(DEMA1,v3) Then { TL_Delete(tl); tl = TL_New(sDate,sTime,DEMA1+PriceScale*10,NextBarSdate,NextBarStime,DEMA1+PriceScale*10); TL_SetColor(tl,RED); TL_SetSize(tl,4); TL_SetExtRight(TL,true); } if CrossDown(DEMA1,v1) or CrossDown(DEMA1,v3) Then { TL_Delete(tl); tl = TL_New(sDate,sTime,DEMA1+PriceScale*10,NextBarSdate,NextBarStime,DEMA1+PriceScale*10); TL_SetColor(tl,lGREEn); TL_SetSize(tl,4); TL_SetExtRight(TL,true); } 1번수식에서2번수식(dema)5이평이76.4프로상승크로스레드색수평선 (dema) 5이평이76.4프로하락크로스그린색 수평선 (dema) 5이평이23.6프로상승크로스레드색수평선 (dema) 5이평이23.6프로하락크로스그린색수평선으로나오게수정부탁드립니다~ 텍스트가격수치는 삭제 프로테이지만나오게 수정해주세요~ 항상노고에 감사드립니다~~
프로필 이미지
장군
2022-09-06
1763
글번호 162038
지표
답변완료

수식 부탁드립니다.

국내 선물에서 특정 조건이 되면 매수 또는 매도로 30개 진입 후 진입가격으로부터 매수집입 대비 5, 10, 15 pt 상승시 각 10개씩 분할 매도 매도진입 대비 -5, -10, 15 하락시 각 10개씩 분할 매수 하며, (각 조건별 중복 청산 없음) 조건 미달성으로 남은 잔액은 당일 종가 청산하는 식 부탁드립니다. 감사합니다.
프로필 이미지
시나리오
2022-09-06
1853
글번호 162037
시스템
답변완료

Highest를 생각없이 쓰다가 궁금해졌습니다.

var1 = Highest(H,N) ; 최근 N개봉 중 최고가 #매수진입 if marketposition == 0 Then{ Buy("B",AtStop,Var1+PriceScale); } 아무런 생각없이 Highest를 위의 코드처럼 쓰고있었는데요. 이렇게하면 현재 봉이 미완성시 고가와 종가 구분을 어떻게 하고 매수를 하는걸까요...? 지금까지 매수/매도가 잘 되어서 잘 되는줄 알았는데 기본적인 의문이 들었습니다. 제가 원래 의도한바는 현재가격(현재 봉의 종가)가 N개봉 고가 돌파시 +1틱에 매수하는 거였는데요. 현재가격(현재 봉의 종가)이 N개봉 고가 돌파시 종가 = Highest(H,N)이 되어버리는거 같아서요.
프로필 이미지
프로라인89
2022-09-06
1640
글번호 162036
시스템