커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

수식 수정 요청

안녕하세요. true 라인이 먼저 생성 되었다가 고,저 라인이 만들어지면 바로 없어 지는데 반대 true라인이 생성 될때 까지 유지 될수 있도록 수식 수정 부탁 드립니다. 고,저 라인은 우측 끝까지 그려지지 않고 확정 캔들 까지만 그려지기 때문에 사용에 불편함이 있어서 입니다. Input:length(12); Var:j(0),lastHiVal(0),lastLoVal(0),sBar(0),eBar(0),TL1(0),TL2(0),TL3(0), Text1(0),처리구분(""),T(0),TL21(0),TL31(0); Array:고점[10,2](0),저점[10,2](0); //가격,위치 처리구분 = ""; If Highest(H,length) == H and lastHiVal <> H and Lowest(L,length) == L and lastLoVal <> L Then { If 저점[1,1] > L Then 처리구분 = "저점처리"; If 고점[1,1] < H Then 처리구분 = "고점처리"; } Else If Highest(H,length) == H and lastHiVal <> H Then 처리구분 = "고점처리"; Else If Lowest(L,length) == L and lastLoVal <> L Then 처리구분 = "저점처리"; If 처리구분 == "고점처리" Then { T = 1; lastHiVal = H; If 고점[1,2] < 저점[1,2] Then { For j = 10 DownTo 2 { 고점[j,1] = 고점[j-1,1]; 고점[j,2] = 고점[j-1,2]; } } If 고점[1,2] < 저점[1,2] or 고점[1,1] < H Then { 고점[1,1] = H; 고점[1,2] = Index; sBar = Index - 저점[1,2]; eBar = 0; If TL_GetBeginDate(TL1) == sDate[sBar] and TL_GetBeginTime(TL1) == sTime[sBar] Then { TL_Delete(TL1); TL_Delete(TL2); TL_Delete(TL21); Text_Delete(Text1); } TL1 = TL_New(sDate[sBar],sTime[sBar],저점[1,1],sDate[eBar],sTime[eBar],고점[1,1]); TL2 = TL_New(sDate[sBar],sTime[sBar],저점[1,1],sDate[eBar],sTime[eBar],저점[1,1]); // TL21 = TL_New(sDate[sBar],sTime[sBar],저점[1,1]+PriceScale*10,sDate[eBar],sTime[eBar],저점[1,1]+PriceScale*10); Text1 = Text_New(sDate[eBar],sTime[eBar],고점[1,1], NumToStr(고점[1,1],2)); Text_SetStyle(Text1, 2, 1); TL_SetSize(TL2,3); TL_SetColor(TL2,REd); //저점 TL_SetSize(TL21,1); TL_SetColor(TL21,YELLOw); //저점 } } If 처리구분 == "저점처리" Then { T = -1; lastLoVal = L; If 저점[1,2] < 고점[1,2] then { For j = 10 DownTo 2 { 저점[j,1] = 저점[j-1,1]; 저점[j,2] = 저점[j-1,2]; } } If 저점[1,2] < 고점[1,2] or 저점[1,1] > L then { 저점[1,1] = L; 저점[1,2] = Index; sBar = Index - 고점[1,2]; eBar = 0; If TL_GetBeginDate(TL1) == sDate[sBar] and TL_GetBeginTime(TL1) == sTime[sBar] Then { TL_Delete(TL1); TL_Delete(TL2); TL_Delete(TL21); Text_Delete(Text1); } TL1 = TL_New(sDate[sBar],sTime[sBar],고점[1,1],sDate[eBar],sTime[eBar],저점[1,1]); TL2 = TL_New(sDate[sBar],sTime[sBar],고점[1,1],sDate[eBar],sTime[eBar],고점[1,1]); // TL21 = TL_New(sDate[sBar],sTime[sBar],고점[1,1]-PriceScale*10,sDate[eBar],sTime[eBar],고점[1,1]-PriceScale*10); Text1 = Text_New(sDate[eBar],sTime[eBar],저점[1,1],NumToStr(저점[1,1],1)); Text_SetStyle(Text1, 2, 10); TL_SetSize(TL2,3); TL_SetColor(TL2,BLUe); TL_SetSize(TL21,1); TL_SetColor(TL21,YELLOw); } } TL_SetSize(TL1,1); TL_SetColor(TL1,GRAy); TL_Delete(TL3); TL_Delete(TL31); if T == 1 then { TL3 = TL_New(sDate[index-고점[1,2]],sTime[index-고점[1,2]],고점[1,1],sDate,sTime,고점[1,1]); // TL31 = TL_New(sDate[index-고점[1,2]],sTime[index-고점[1,2]],고점[1,1]-PriceScale*10,sDate,sTime,고점[1,1]-PriceScale*10); TL_SetColor(TL3,BLUe); TL_SetSize(TL3,3); TL_SetExtRight(TL3,true); TL_SetColor(TL31,YELLOw); TL_SetSize(TL31,1); TL_SetExtRight(TL31,true); } if T == -1 then { TL3 = TL_New(sDate[index-저점[1,2]],sTime[index-저점[1,2]],저점[1,1],sDate,sTime,저점[1,1]); // TL31 = TL_New(sDate[index-저점[1,2]],sTime[index-저점[1,2]],저점[1,1]+PriceScale*10,sDate,sTime,저점[1,1]+PriceScale*10); TL_SetColor(TL3,REd); //저점 TL_SetSize(TL3,3); TL_SetExtRight(TL3,true); TL_SetColor(TL31,YELLOw); //저점 TL_SetSize(TL31,1); TL_SetExtRight(TL31,true); } 감사합니다.
프로필 이미지
참아람
2022-02-13
1021
글번호 156219
지표
답변완료

문의 드립니다!

안녕하세요! 아래수식은 얼마전에 답변해주신것인데요 이것을 아래와같이 한번더 수정부탁드립니다 1, 아래 원본수식에서 plot2(var2+var3*0.500,"중심");<== 이부분만 남겨놓고 나머지 부분은 모두 삭제하여 일단 간략하게 수정해주시구요 2, 이 수정된 수식을 원본으로해서 아래와같이 다시한번 검토 부탁드립니다 * 아래 작성해주신 수식에서 음성신호는 발생되는듯하나 세로선이 나타나지않네요 즉, 1) data1(풋캔들)과 data2(콜캔들)을 설정한 교차챠트에서 2) 이 수식의 plot2 선과 챠트상의 data1 혹은 data2 캔들이 만날때마다 각각 모두 세로선과 알람신호가 발생되었으면합니다 (* 선의 두께와 색은 임의로 조정가능토록 부탁드립니다) 수고스러우시겠지만 한번더 검토 부탁드립니다!!! * 참고로 아래 작성해주신 수식에서 ***표시및 밑줄그은 부분이 혹시 data2가 아닌지요? (2군데 입니다) ----------------------------------------------------- 안녕하세요 예스스탁입니다. input : 색1(RED),굵기1(1); input : 색2(BLUE),굵기2(1); input : 색3(GREEN),굵기3(1); input : 색4(YELLOW),굵기4(1); var : d1month(0,Data1),d1nday(0,Data1),d1week(0,Data1); var : d1EX(false,Data1),d1HH(0,Data1),d1LL(0,Data1),d1OO(0,Data1),d1plot2(0,Data1); var : d1CC(0,Data1),d1DD(0,Data1),d1HH1(0,Data1),d1LL1(0,Data1),d1OO1(0,Data1),d1cond1(False,Data1); var : d1var1(0,Data1),d1var2(0,Data1),d1var3(0,Data1),d1var4(0,Data1),d1var5(0,Data1),d1var6(0,Data1); var : d2month(0,Data2),d2nday(0,Data2),d2week(0,Data2); var : d2EX(false,Data2),d2HH(0,Data2),d2LL(0,Data2),d2OO(0,Data2),d2plot2(0,Data1);==> *** 맨오른쪽 부분이 혹 Data2가 아닌지요? var : d2CC(0,Data2),d2DD(0,Data2),d2HH1(0,Data2),d2LL1(0,Data2),d2OO1(0,Data2),d2cond1(False,Data2); var : d2var1(0,Data2),d2var2(0,Data2),d2var3(0,Data2),d2var4(0,Data2),d2var5(0,Data2),d2var6(0,Data2); var : tl(0); #Data1 d1month = data1(int(date/100)-int(date/10000)*100); d1nday = data1(date - int(date/100)*100); d1week = data1(DayOfWeek(date)); #선물만기 #if d1Month%3 == 0 and d1nday >= 8 and d1nday <= 14 and d1week == 4 then if d1nday >= 8 and d1nday <= 14 and d1week == 4 then#옵션만기 d1EX = true; Else d1EX = false; if d1EX == false and d1EX[1] == true Then { d1Cond1 = true; d1DD = sDate; d1HH = data1(H); d1LL = data1(L); d1OO = data1(O); d1CC = data1(C); d1HH1 = d1HH[1]; d1LL1 = d1LL[1]; d1OO1 = d1OO[1]; } if d1Cond1 == true then { if data1(H) > d1HH Then d1HH = data1(H); if data1(L) < d1LL Then d1LL = data1(L); d1var1 = d1HH; d1var2 = d1LL; d1var3 = d1var1-d1var2; d1plot2 = d1var2+d1var3*0.500; plot1(d1var1,"Maxi"); plot2(d1var2+d1var3*0.500,"중심"); plot3(d1var2,"Mini"); if sDate == d1DD Then { d1Var4 = data1(OpenD(0)); d1Var5 = data1(HighD(0)); d1Var6 = data1(LowD(0)); } Plot4(d1Var4,"첫날시가",IFf(d1oo1 < data1(OpenD(0)) ,MAGENTA,BLUE)); if d1HH1 > 0 and d1LL1 > 0 Then { Plot5(d1HH1,"전월물최고"); Plot6(d1LL1,"전월물최저"); } } #Data1====> *** 이부분도 혹 data2가 아닌지요? ------ d2month = data2(int(date/100)-int(date/10000)*100); d2nday = data2(date - int(date/100)*100); d2week = data2(DayOfWeek(date)); #선물만기 #if d2Month%3 == 0 and d2nday >= 8 and d2nday <= 14 and d2week == 4 then if d2nday >= 8 and d2nday <= 14 and d2week == 4 then#옵션만기 d2EX = true; Else d2EX = false; if d2EX == false and d2EX[1] == true Then { d2Cond1 = true; d2DD = sDate; d2HH = data2(H); d2LL = data2(L); d2OO = data2(O); d2CC = data2(C); d2HH1 = d2HH[1]; d2LL1 = d2LL[1]; d2OO1 = d2OO[1]; } if d2Cond1 == true then { if data2(H) > d2HH Then d2HH = data2(H); if data2(L) < d2LL Then d2LL = data2(L); d2var1 = d2HH; d2var2 = d2LL; d2var3 = d2var1-d2var2; d2plot2 = d1var2+d1var3*0.500; plot7(d2var1,"Maxi"); plot8(d2var2+d2var3*0.500,"중심"); plot9(d2var2,"Mini"); if sDate == d2DD Then { d2Var4 = data2(OpenD(0)); d2Var5 = data2(HighD(0)); d2Var6 = data2(LowD(0)); } Plot10(d2Var4,"첫날시가",IFf(d2oo1 < data2(OpenD(0)) ,MAGENTA,BLUE)); if d2HH1 > 0 and d2LL1 > 0 Then { Plot11(d2HH1,"전월물최고"); Plot12(d2LL1,"전월물최저"); } } if Data1(CrossUp(h,d1plot2) or CrossDown(l,d1plot2)) Then { tl = TL_New_Self(sDate,sTime,0,sDate,sTime,99999999); TL_SetColor(tl,색1); TL_SetSize(Tl,굵기1); PlaySound(""); } if Data2(CrossUp(h,d1plot2) or CrossDown(l,d1plot2)) Then { tl = TL_New_Self(sDate,sTime,0,sDate,sTime,99999999); TL_SetColor(tl,색2); TL_SetSize(Tl,굵기2); PlaySound(""); } if Data1(CrossUp(h,d2plot2) or CrossDown(l,d2plot2)) Then { tl = TL_New_Self(sDate,sTime,0,sDate,sTime,99999999); TL_SetColor(tl,색3); TL_SetSize(Tl,굵기3); PlaySound(""); } if Data2(CrossUp(h,d2plot2) or CrossDown(l,d2plot2)) Then { tl = TL_New_Self(sDate,sTime,0,sDate,sTime,99999999); TL_SetColor(tl,색4); TL_SetSize(Tl,굵기4); PlaySound(""); } 즐거운 하루되세요 > 유로파54 님이 쓴 글입니다. > 제목 : 문의 드립니다! > 안녕하세요! 아래수식에서 plot2와 캔들이 만날때 세로선과 알람신호가 발생토록 부탁드립니다 * data1(풋)과 data2(콜)를 설정한 교차챠트의 2개캔들 모두에 이지표를 적용하고자 하는데요 이때 상대캔들과 이지표가 만날때도 세로선이 발생토록 부탁드립니다 즉, 콜캔들에 적용한 지표에 풋캔들이 만났을때와 이 반대의 경우도 해당됩니다 (* 선의 두께와 색은 임의로 조정가능토록 부탁드립니다) 항상 친절하고 자세히 도와주심에 진심으로 감사드립니다 ----------------------------------------------------- var : month(0),nday(0),week(0); var :EX(false),HH(0),LL(0),OO(0),CC(0),DD(0),HH1(0),LL1(0),OO1(0); month = int(date/100)-int(date/10000)*100; nday = date - int(date/100)*100; week = DayOfWeek(date); #선물만기 #if Month%3 == 0 and nday >= 8 and nday <= 14 and week == 4 then if nday >= 8 and nday <= 14 and week == 4 then#옵션만기 EX = true; Else EX = false; if EX == false and EX[1] == true Then{ Condition1 = true; DD = sDate; HH = H; LL = L; OO = O; CC = C; HH1 = HH[1]; LL1 = LL[1]; OO1 = OO[1]; } if Condition1 == true then { if H > HH Then HH = H; if L < LL Then LL = L; var1 = HH; var2 = LL; var3 = var1-var2; plot1(var1,"Maxi"); plot2(var2+var3*0.500,"중심"); plot3(var2,"Mini"); if sDate == DD Then { Var4 = DayOpen; Var5 = DayHigh; Var6 = DayLow; } Plot4(Var4,"첫날시가",IFf(oo1 < DayOpen(0) ,MAGENTA,BLUE)); if HH1 > 0 and LL1 > 0 Then { Plot5(HH1,"전월물최고"); Plot6(LL1,"전월물최저"); } }
프로필 이미지
유로파54
2022-02-13
756
글번호 156218
지표
답변완료

부탁 드립니다.

도움에 감사 드립니다. 그림과 같이 부탁 드립니다. input:선택(true); var :sum(0,data2); var7=data2(c); if bdate != Bdate[1] Then{ Var7=0; sum = 0;} sum = sum +var7; var:cond15(false); var91=151900; if (stime == var91 or (stime > var91 and stime[1] < var91)) then{ cond15 = 선택; } if (stime == var91 or (stime > var91 and stime[1] < var91 )) Then Cond15 = false; if cond15 == 선택 then{ Plot1(sum);} PlotBaseLine1(0);
프로필 이미지
yes
2022-02-12
1128
글번호 156217
지표
답변완료

문의 드립니다.~~~~

항상 감사합니다~ 이해가 안되는 부분이 있어 아래식의 지세한 주석 부탁드립니다. input : left(3),right(3),N1(30),N2(40); input : 익절틱수(20),손절틱수(20); if SwingHigh(1,h,Left,Right,Left+Right+1) != 1 Then { var1 = H; if Var2 > 0 and var1 >= Var2+PriceScale*N1 Then value1 = Var2; } if SwingLow(1,L,Left,Right,Left+Right+1) != 1 Then { var2 = L; if Var1 > 0 and var2 <= Var1-PriceScale*N1 Then value2 = Var1; } if MarketPosition <= 0 and value1 > 0 and L > value1-PriceScale*n2 Then Buy("b",AtLimit,value1-PriceScale*n2); if MarketPosition >= 0 and value2 > 0 and H < value2+PriceScale*n2 Then Sell("s",AtLimit,value2+PriceScale*n2);
프로필 이미지
예스요
2022-02-12
1114
글번호 156216
시스템
답변완료

수식 문의 드립니다.

1. BWMACD 가 극대값일때는 매도 신호 화살표로 표시 하고 싶습니다.(소리 알람) 2. BWMACD 가 극소값일때는 매수 신호 화살표로 표시 하고 싶습니다.(소리 알람) 3. 각각의 분봉,일봉 차트에 자동으로 일괄 적용되었으면 합니다.예를 들어 1분봉 차트에 시스템을 적용하면 1분봉 BWMACD신호가 적용되고, 5분봉 차트에 시스템을 적용하면 5분봉 기준 BWMACD신호가 적용되고요.
프로필 이미지
도곡동재떨이
2022-02-12
1288
글번호 156215
시스템
답변완료

문의

청산수식 1)양봉기준 if 봉(봉크기 0.5 이하)의 숫자가 30개 누적 then exitshort(); if 봉(봉크기 0.5 > 몸통)의 숫자가 10개 누적 then exitshort(); 2)양봉,음봉 구분 없음 if 봉(봉크기 0.5 이하)의 숫자가 30개 누적 then exitshort(); if 봉(봉크기 0.5 > 몸통)의 숫자가 10개 누적 then exitshort(); 수식 부탁드립니다.
프로필 이미지
목마와숙녀
2022-02-12
1025
글번호 156214
시스템
답변완료

지표를 부탁드립니다...

안녕하세요 1.선물 3분봉차트에 9시10분에서 15시30분까지 시간이 흘러가면서 거래량이 제일 많은 봉 순서대로 1.2. 가장거래량 적은 봉에 1개 3개봉에 표시를하고싶습니다. 점이나 가로선으로 나타냈으면합니다..감사합니다.
프로필 이미지
미우
2022-02-13
857
글번호 156213
지표

워런버핏100 님에 의해서 삭제되었습니다.

프로필 이미지
워런버핏100
2022-02-12
69
글번호 156212
시스템
답변완료

문의드립니다

1) input : per1(23.6),per2(50.0),per3(76.4); var : hh(0),ll(0),dd(0),tt(0); var : tl1(0),tl2(0),tl3(0),v1(0),v2(0),v3(0),tl4(0),tl5(0); if bdate > bdate[1] then { hh = h; ll = l; dd = sdate[1]; tt = stime[1]; TL_Delete(tl1); TL_Delete(tl2); TL_Delete(tl3); TL_Delete(tl4); TL_Delete(tl5); tl1 = TL_New(dd,tt,hh-(hh-ll)*(per1/100),sdate,stime,hh-(hh-ll)*(per1/100)); tl2 = TL_New(dd,tt,hh-(hh-ll)*(per2/100),sdate,stime,hh-(hh-ll)*(per2/100)); tl3 = TL_New(dd,tt,hh-(hh-ll)*(per3/100),sdate,stime,hh-(hh-ll)*(per3/100)); tl4 = TL_New(dd,tt,DayHigh(1),sdate,stime,DayHigh(1)); tl5 = TL_New(dd,tt,DayLow(1),sdate,stime,DayLow(1)); } if h > hh and hh > 0 Then { hh = h; TL_Delete(tl1); TL_Delete(tl2); TL_Delete(tl3); tl1 = TL_New(dd,tt,hh-(hh-ll)*(per1/100),sdate,stime,hh-(hh-ll)*(per1/100)); tl2 = TL_New(dd,tt,hh-(hh-ll)*(per2/100),sdate,stime,hh-(hh-ll)*(per2/100)); tl3 = TL_New(dd,tt,hh-(hh-ll)*(per3/100),sdate,stime,hh-(hh-ll)*(per3/100)); } if l < ll and ll > 0 Then { ll = l; TL_Delete(tl1); TL_Delete(tl2); TL_Delete(tl3); tl1 = TL_New(dd,tt,hh-(hh-ll)*(per1/100),sdate,stime,hh-(hh-ll)*(per1/100)); tl2 = TL_New(dd,tt,hh-(hh-ll)*(per2/100),sdate,stime,hh-(hh-ll)*(per2/100)); tl3 = TL_New(dd,tt,hh-(hh-ll)*(per3/100),sdate,stime,hh-(hh-ll)*(per3/100)); } TL_SetColor(TL1,GRAY); TL_SetSize(TL1,0); TL_SetExtRight(TL1,true); TL_SetColor(TL2,BLACK); TL_SetSize(TL2,1); TL_SetExtRight(TL2,true); TL_SetColor(TL3,GRAY); TL_SetSize(TL3,0); TL_SetExtRight(TL3,true); TL_SetColor(TL4,LMAGENTA); TL_SetSize(TL4,0); TL_SetExtRight(TL4,true); TL_SetColor(TL5,LMAGENTA); TL_SetSize(TL5,0); TL_SetExtRight(TL5,true); v1 = hh-(hh-ll)*(per1/100); v2 = hh-(hh-ll)*(per2/100); v3 = hh-(hh-ll)*(per3/100); 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,v2) or CrossUp(DEMA1,v2) or CrossUp(DEMA1,v2) or CrossUp(DEMA1,DayHigh(1)) or CrossUp(DEMA1,DayLow(1)) Then { TL_Delete(tl); tl = TL_New(sDate,sTime,DEMA1-PriceScale*5,NextBarSdate,NextBarStime,DEMA1-PriceScale*5); TL_SetColor(tl,REd); TL_SetSize(tl,3); TL_SetExtRight(TL,true); } if CrossDown(DEMA1,v2) or CrossDown(DEMA1,v2) or CrossDown(DEMA1,v2) or CrossDown(DEMA1,DayHigh(1)) or CrossDown(DEMA1,DayLow(1)) Then { TL_Delete(tl); tl = TL_New(sDate,sTime,DEMA1-PriceScale*5,NextBarSdate,NextBarStime,DEMA1-PriceScale*5); TL_SetColor(tl,GREEn); TL_SetSize(tl,3); TL_SetExtRight(TL,true); } 1) 이수식을 사용하고 있는데 수평선이 나왔다 안나왔다 하는데 안나올때는 점만찍히게 됩니다 주로 틱챠트에서그런현상이자주 나옵니다,잘나오게 방법이 있는지요? 만약에 수정할부분이 없다면 현재수평선 나오는지점에서 하나더+5틱위로 나오게 부탁드립니다 (즉수평선이같은색으로 2개나오게) 2) input : 기간(10); var1 = (H+L+C+C); var2 = ma(var1,기간); value1 = iff(var1>var2,1,0); value2 = iff(var1<=var2,1,0); plot1(value1,"수식1"); plot2(value2,"수식2"); 1번수식에다 2번수식을 추가하여크로스될때에 색채우기 지표를만들려고 합니다 부탁드립니다~~항상감사드립니다
프로필 이미지
장군
2022-02-12
615
글번호 156211
지표

지에스한 님에 의해서 삭제되었습니다.

프로필 이미지
지에스한
2022-02-15
12
글번호 156210
지표