커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

시스템식

안녕하세요 매수 매도 진입해서 손절식이 설명이 부족해서 그림으로 올려봅니다 설명을 하자면 매도시 -- 진입봉 고가기준 2번째 고가봉의 가격을 돌파하고 다시 내려오면 익절 10틱 정리 매수시 -- 진입봉 저가기준 2번째 저가봉의 가격을 이탈하고 다시 올라오면 익절 10틱 정리 그림좀 꼭 봐주시고요 설명이 부족해서 올려요
프로필 이미지
kjdkdh
2021-04-02
890
글번호 147634
시스템
답변완료

수식 작성 부탁드립니다

1. input : ntime(3),P(5); var : S1(0),D1(0),TM(0),TF(0),OO(0),기준선(0),mav(0); 기준선 = (highest(H,26)+lowest(L,26))/2; mav = ma(C,P); if Bdate != Bdate[1] Then { S1 = TimeToMinutes(stime); D1 = sdate; } if D1 > 0 then { if sdate == D1 Then TM = TimeToMinutes(stime)-S1; Else TM = TimeToMinutes(stime)+1440-S1; TF = TM%ntime; if Bdate != Bdate[1] or (Bdate == Bdate[1] and ntime > 1 and TF < TF[1]) or (Bdate == Bdate[1] and ntime > 1 and TM >= TM[1]+ntime) or (Bdate == Bdate[1] and ntime == 1 and TM > TM[1]) Then { OO = O; } if OO > 기준선 and CrossUp(mav,OO) Then Buy(); if OO < 기준선 and CrossDown(mav,OO) Then Sell(); } input : 손실틱(15); var : 최소이익(30),손실범위(15); 최소이익 = PriceScale*30; 손실범위 = PriceScale*15; SetStopTrailing(손실범위 , 최소이익 , PointStop); ///////////////////////////////////////////////////////////////////// 2. input : StartTime(140000),EndTime(055000),xtime(055500); var : 전환선(0),기준선(0),선행스팬1(0),선행스팬2(0); var : Tcond(false),S1(0),D1(0),TM(0); if sDate != sDate[1] then SetStopEndofday(xtime); if Bdate != Bdate[1] Then { S1 = TimeToMinutes(stime); D1 = sdate; } 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; SetStopEndofday(0); } if D1 > 0 then { if sdate == D1 Then TM = TimeToMinutes(stime)-S1; Else TM = TimeToMinutes(stime)+1440-S1; } 전환선 = (highest(H,9)+lowest(L,9))/2; 기준선 = (highest(H,26)+lowest(L,26))/2; 선행스팬1 = (전환선[25]+기준선[25])/2; 선행스팬2 = (highest(H,52)[25]+lowest(L,52)[25])/2; var1 = Disparity(20); Var2 = ma(C,300); if Tcond == true Then { if 전환선 > 기준선 and crossup(전환선,선행스팬1) and var1 >= 99 Then buy("b"); if MarketPosition == 1 then { if 전환선 < 기준선 and CrossDown(전환선,선행스팬2) and var1 >= 99 Then exitlong("bx1"); if TM <= TM[BarsSinceEntry]+30 and CountIf(CrossUp(c,Var2),BarsSinceEntry) >= 1 Then ExitLong("bx2",AtStop,EntryPrice); if CrossDown(c,Var2) Then ExitLong("bx3"); } if 전환선 < 기준선 and CrossDown(전환선,선행스팬1) and var1 <= 100 Then sell("s"); if MarketPosition == -1 then { if 전환선 > 기준선 and CrossUp(전환선,선행스팬2) and var1 <= 100 Then ExitShort("sx1"); if TM <= TM[BarsSinceEntry]+30 and CountIf(CrossDown(c,Var2),BarsSinceEntry) >= 1 Then ExitShort("sx2",AtStop,EntryPrice); if CrossUp(c,Var2) Then ExitShort("sx3"); } } /////////////////////////////////////////////////////////////////////////// 3. input : StartTime(160000),EndTime(055000),xtime(055500); var : 전환선(0),기준선(0),선행스팬1(0),선행스팬2(0); var : Tcond(false); if sDate != sDate[1] then SetStopEndofday(xtime); 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; SetStopEndofday(0); } 전환선 = (highest(H,9)+lowest(L,9))/2; 기준선 = (highest(H,26)+lowest(L,26))/2; 선행스팬1 = (전환선[25]+기준선[25])/2; 선행스팬2 = (highest(H,52)[25]+lowest(L,52)[25])/2; var1 = Disparity(60); if Tcond == true Then { if 전환선 > 기준선 and crossup(전환선,선행스팬1) and var1 >= 99 Then buy("b"); if MarketPosition == 1 then { if 전환선 < 기준선 and CrossDown(전환선,선행스팬2) and var1 >= 99 Then exitlong(); } if 전환선 < 기준선 and CrossDown(전환선,선행스팬1) and var1 <= 1000 Then sell("s"); if MarketPosition == -1 then { if 전환선 > 기준선 and CrossUp(전환선,선행스팬2) and var1 <= 1200 Then ExitShort(); } } ----------------------------------------- 위 3가지 수식어에 각각 청산방법변경후 수식어추가를 부탁 드립니다. 1. 청산방법 변경 buy > sell를 buy > exitlong , sell > buy를 sell > exitShort 2. 수식어 추가 1. 138 이평선 하단내에서 sell 청산만 가능 예외 :- 캔들이 138선 crossup일때 익절+35틱 손절-20틱 - 5~60선 골든크로스 2. 138 이평선 상단내에서 buy 청산만 가능 예외 :- 캔들이 138선 crossdown 일때 익절+35틱 손절20틱 - 5~60선 골든크로스
프로필 이미지
푸른
2021-04-04
977
글번호 147633
시스템

캣피쉬 님에 의해서 삭제되었습니다.

프로필 이미지
캣피쉬
2021-04-02
0
글번호 147632
시스템
답변완료

부탁 드립니다.

도움에 깊이 감사 드립니다. 수식1),수식2)와 같은 것을 통합하여 외부변수 p를 입력하는 방식으로 "For cnt = 0 to P-1" 등을 사용하여 1개의 식으로 다양한 변수를 입력 가능토록 간단히 작성 부탁 드립니다. 수식1) var:a(0),b(0); a=100*(10-(( iff(L ==Lowest(L,11),L-Lowest(L,11), IFf(L[1]==Lowest(L,11),L-Lowest(L,11)[1], IFf(L[2]==Lowest(L,11),L-Lowest(L,11)[2], IFf(L[3]==Lowest(L,11),L-Lowest(L,11)[3], IFf(L[4]==Lowest(L,11),L-Lowest(L,11)[4], IFf(L[5]==Lowest(L,11),L-Lowest(L,11)[5], IFf(L[6]==Lowest(L,11),L-Lowest(L,11)[6], IFf(L[7]==Lowest(L,11),L-Lowest(L,11)[7], IFf(L[8]==Lowest(L,11),L-Lowest(L,11)[8], IFf(L[9]==Lowest(L,11),L-Lowest(L,11)[9], L-Lowest(L,11)[10]))))) ))))) )))/10; b=100*(10-(( iff(H ==Highest(H,11),H-Highest(H,11), IFf(H[1]==Highest(H,11),H-Highest(H,11)[1], IFf(H[2]==Highest(H,11),H-Highest(H,11)[2], IFf(H[3]==Highest(H,11),H-Highest(H,11)[3], IFf(H[4]==Highest(H,11),H-Highest(H,11)[4], IFf(H[5]==Highest(H,11),H-Highest(H,11)[5], IFf(H[6]==Highest(H,11),H-Highest(H,11)[6], IFf(H[7]==Highest(H,11),H-Highest(H,11)[7], IFf(H[8]==Highest(H,11),H-Highest(H,11)[8], IFf(H[9]==Highest(H,11),H-Highest(H,11)[9], H-Highest(H,11)[10]))))) ))))) )))/10; 수식2) var:a(0),b(0); a=100*(20-(( iff(L ==Lowest(L,21),L-Lowest(L,21), IFf(L[1]==lowest(L,21),L-Lowest(L,21)[1], IFf(L[2]==lowest(L,21),L-Lowest(L,21)[2], IFf(L[3]==lowest(L,21),L-Lowest(L,21)[3], IFf(L[4]==lowest(L,21),L-Lowest(L,21)[4], IFf(L[5]==lowest(L,21),L-Lowest(L,21)[5], IFf(L[6]==lowest(L,21),L-Lowest(L,21)[6], IFf(L[7]==lowest(L,21),L-Lowest(L,21)[7], IFf(L[8]==lowest(L,21),L-Lowest(L,21)[8], IFf(L[9]==lowest(L,21),L-Lowest(L,21)[9], IFf(L[10]==lowest(L,21),L-Lowest(L,21)[10], IFf(L[11]==lowest(L,21),L-Lowest(L,21)[11], IFf(L[12]==lowest(L,21),L-Lowest(L,21)[12], IFf(L[13]==lowest(L,21),L-Lowest(L,21)[13], IFf(L[14]==lowest(L,21),L-Lowest(L,21)[14], IFf(L[15]==lowest(L,21),L-Lowest(L,21)[15], IFf(L[16]==lowest(L,21),L-Lowest(L,21)[16], IFf(L[17]==lowest(L,21),L-Lowest(L,21)[17], IFf(L[18]==lowest(L,21),L-Lowest(L,21)[18], IFf(L[19]==lowest(L,21),L-Lowest(L,21)[19], L-Lowest(L,21)[20] ))))) ))))) ))))) ))))) )))/20; b=100*(20-(( iff(H ==Highest(H,21),H-Highest(H,21), IFf(H[1]==Highest(H,21),H-Highest(H,21)[1], IFf(H[2]==Highest(H,21),H-Highest(H,21)[2], IFf(H[3]==Highest(H,21),H-Highest(H,21)[3], IFf(H[4]==Highest(H,21),H-Highest(H,21)[4], IFf(H[5]==Highest(H,21),H-Highest(H,21)[5], IFf(H[6]==Highest(H,21),H-Highest(H,21)[6], IFf(H[7]==Highest(H,21),H-Highest(H,21)[7], IFf(H[8]==Highest(H,21),H-Highest(H,21)[8], IFf(H[9]==Highest(H,21),H-Highest(H,21)[9], IFf(H[10]==Highest(H,21),H-Highest(H,21)[10], IFf(H[11]==Highest(H,21),H-Highest(H,21)[11], IFf(H[12]==Highest(H,21),H-Highest(H,21)[12], IFf(H[13]==Highest(H,21),H-Highest(H,21)[13], IFf(H[14]==Highest(H,21),H-Highest(H,21)[14], IFf(H[15]==Highest(H,21),H-Highest(H,21)[15], IFf(H[16]==Highest(H,21),H-Highest(H,21)[16], IFf(H[17]==Highest(H,21),H-Highest(H,21)[17], IFf(H[18]==Highest(H,21),H-Highest(H,21)[18], IFf(H[19]==Highest(H,21),H-Highest(H,21)[19], H-Highest(H,21)[20] ))))) ))))) ))))) ))))) )))/20; 유사한 참고 수식) (71756번의 질문과 답변 수식) 1)답변하신 수식 input : P(11); var : cnt(0),LL(0),HH(0),a(0),ai(0),b(0),bi(0); LL = Lowest(L,P); HH = highest(H,P); ai = -1; bi = -1; For cnt = 0 to P-1 { if ai == -1 and L[cnt] == LL Then { ai = cnt; } if bi == -1 and H[cnt] == HH Then { bi = cnt; } } a = 100*((P-1)-((ai)))/(P-1); b = 100*((P-1)-((bi)))/(P-1); var1 = a-b; Plot1(var1); 질문수식) 수식1) var:a(0),b(0); a=100*(10-(( IFf(l ==lowest(l,11),0, IFf(l[1]==lowest(l,11),1, IFf(l[2]==lowest(l,11),2, IFf(l[3]==lowest(l,11),3, IFf(l[4]==lowest(l,11),4, IFf(l[5]==lowest(l,11),5, IFf(l[6]==lowest(l,11),6, IFf(l[7]==lowest(l,11),7, IFf(l[8]==lowest(l,11),8, IFf(l[9]==lowest(l,11),9,10)))))))))))))/10; b=100*(10-(( IFf(h ==highest(h,11),0, IFf(h[1]==highest(h,11),1, IFf(h[2]==highest(h,11),2, IFf(h[3]==highest(h,11),3, IFf(h[4]==highest(h,11),4, IFf(h[5]==highest(h,11),5, IFf(h[6]==highest(h,11),6, IFf(h[7]==highest(h,11),7, IFf(h[8]==highest(h,11),8, IFf(h[9]==highest(h,11),9,10)))))))))))))/10; var1=b-a Plot1(var1); 수식2) var:a(0),b(0); a=100*(20-(( IFf(l ==lowest(l,21),0, IFf(l[1]==lowest(l,21),1, IFf(l[2]==lowest(l,21),2, IFf(l[3]==lowest(l,21),3, IFf(l[4]==lowest(l,21),4, IFf(l[5]==lowest(l,21),5, IFf(l[6]==lowest(l,21),6, IFf(l[7]==lowest(l,21),7, IFf(l[8]==lowest(l,21),8, IFf(l[9]==lowest(l,21),9, IFf(l[10]==lowest(l,21),10, IFf(l[11]==lowest(l,21),11, IFf(l[12]==lowest(l,21),12, IFf(l[13]==lowest(l,21),13, IFf(l[14]==lowest(l,21),14, IFf(l[15]==lowest(l,21),15, IFf(l[16]==lowest(l,21),16, IFf(l[17]==lowest(l,21),17, IFf(l[18]==lowest(l,21),18, IFf(l[19]==lowest(l,21),19,20))))) ))))) ))))) ))))) )))/20; b=100*(20-(( IFf(h ==highest(h,21),0, IFf(h[1]==highest(h,21),1, IFf(h[2]==highest(h,21),2, IFf(h[3]==highest(h,21),3, IFf(h[4]==highest(h,21),4, IFf(h[5]==highest(h,21),5, IFf(h[6]==highest(h,21),6, IFf(h[7]==highest(h,21),7, IFf(h[8]==highest(h,21),8, IFf(h[9]==highest(h,21),9, IFf(h[10]==highest(h,21),10, IFf(h[11]==highest(h,21),11, IFf(h[12]==highest(h,21),12, IFf(h[13]==highest(h,21),13, IFf(h[14]==highest(h,21),14, IFf(h[15]==highest(h,21),15, IFf(h[16]==highest(h,21),16, IFf(h[17]==highest(h,21),17, IFf(h[18]==highest(h,21),18, IFf(h[19]==highest(h,21),19,20))))) ))))) ))))) ))))) )))/20; var1=b-a Plot1(var1);
프로필 이미지
yes
2021-04-03
863
글번호 147631
지표
답변완료

수식 작성 부탁드립니다.

안녕하세요. 수식을 만들어주셔서 많은 도움이 되고있습니다. 추가로 수식 좀 만들어주시면 고맙겠습니다. 1. 적용환경 : 해외선물 (Australian Dollar 기준) 2. 매매 조건 (예시) 1) 1계약 매수(시장가 매수) 2) 매수됨과 동시에 익절(0.0011 pt), 손절(0.001 pt) 설정 3. 수익발생시 (수익발생시에는 수량변동 없음) 1) 익절시에는 매수청산 후 1계약 매도진입(반복) 2) 또 익절시에는 매도청산 후 1계약 매수진입(반복) * 한번 이득을 본 상태에선 반대방향으로 베팅 4. 손해 발생시 (손해발생시에는 마틴게일 방식으로 1-2-4-8 단계 까지만 계약수량 진입) 1) 1차 손절시에는 매수청산 후 2계약 매수진입 2) 2차 손절시에는 매수청산 후 4계약 매수진입 3) 3차 손절시에는 매수청산 후 8계약 매수진입 4) 손실발생시 진입수량을 최대 8개까지만으로 해주시고, 최종 단계인 8개까지 진입하고 손실이든 이익이 발생하든 그 다음에는 1계약 매수로 똑같이 처음부터 해주시면 고맙겠습니다.(1-2-4-8-1-2-4-8 이런식으로) 5. 손해 발생후 익절이 되면 반대 방향으로 1계약 매도 진입 위 사항을 반복하는 시스템을 만들어주시면 고맙겠습니다. 그럼 수고하세요.
프로필 이미지
바다가좋아
2021-04-02
909
글번호 147630
시스템
답변완료

재질문...

안녕하세요 늘 답변에 감사드립니다. 71742질문에 대한 추가질문입니다. 질문드린 2가지중에 1번은 맞고 2번 코딩이 잘못된것같습니다. 한번 더 봐주세요~~ 2번답변 주신거 input : P1(3),P2(6),P3(12); var : cnt(0),sum1(0),mav1(0),sum2(0),mav2(0),sum3(0),mav3(0); Array : MH[20](0),ML[20](0); if Bdate > Bdate[1]+30 Then { MH[0] = H; ML[0] = L; For cnt = 1 to 19 { MH[cnt] = MH[cnt-1][1]; ML[cnt] = ML[cnt-1][1]; } } if MH[0] > 0 and H > MH[0] Then MH[0] = H; if ML[0] > 0 and L < ML[0] Then ML[0] = L; if MH[1] > 0 and ML[1] > 0 Then { Plot1((MH[1]+ML[1])/2); } if MH[P1] > 0 and ML[P1] > 0 Then { sum1 = 0; For cnt = 1 to P1 { sum1 = sum1 + (MH[cnt]-ML[cnt]); } mav1 = sum1/P1; Plot2(mav1); } if MH[P2] > 0 and ML[P2] > 0 Then { sum2 = 0; For cnt = 1 to P2 { sum2 = sum2 + (MH[cnt]-ML[cnt]); } mav2 = sum2/P2; Plot3(mav2); } if MH[P3] > 0 and ML[P3] > 0 Then { sum3 = 0; For cnt = 1 to P3 { sum3 = sum3 + (MH[cnt]-ML[cnt]); } mav3 = sum3/P3; Plot4(mav3); } plot99(c); 즐거운 하루되세요 ============================================================================= 2번 질문 VAR : VAR1(0), VAR2(0), VAR3(0) ; //랭귀지는 완성봉를 기준으로 값을 리턴합니다. //월봉차트에서 마지막봉은 미완성봉으로 사용이 가능하지 않습니다. //그러므로 data2(H)가 최근 완성봉인 전월의 값이고 data2(H[1])이 전전월의 값입니다. VAR1 = (Data2(H) + Data2(L))/2; VAR2 = (Data2(H[1]) + Data2(L[1]))/2; VAR3 = (Data2(H[2]) + Data2(L[2]))/2; VAR4 = (Data2(H[3]) + Data2(L[3]))/2; VAR5 = (Data2(H[4]) + Data2(L[4]))/2; VAR6 = (Data2(H[5]) + Data2(L[5]))/2; VAR7 = (Data2(H[6]) + Data2(L[6]))/2; VAR8 = (Data2(H[7]) + Data2(L[7]))/2; VAR9 = (Data2(H[8]) + Data2(L[8]))/2; VAR10 = (Data2(H[9]) + Data2(L[9]))/2; VAR11 = (Data2(H[10]) + Data2(L[10]))/2; VAR12 = (Data2(H[11]) + Data2(L[11]))/2; VAR13 = VAR1 ; VAR14 = (VAR1+Var2+Var3)/3 ; VAR15 = (VAR1+Var2+Var3+Var4+Var5+Var6)/6 ; VAR16 = (VAR1+Var2+Var3+Var4+Var5+Var6+Var7+Var8+Var9+Var10+VAR11+VAR12)/12 ; value1 = 0; if c > var1 Then value1 = value1+1; //if c < var1 Then value1 = value1-1; if c > var2 Then value1 = value1+1; //if c < var2 Then value1 = value1-1; if c > var3 Then value1 = value1+1; //if c < var3 Then value1 = value1-1; if c > var4 Then value1 = value1+1; //if c < var4 Then value1 = value1-1; if c > var5 Then value1 = value1+1; //if c < var5 Then value1 = value1-1; if c > var6 Then value1 = value1+1; //if c < var6 Then value1 = value1-1; if c > var7 Then value1 = value1+1; //if c < var7 Then value1 = value1-1; if c > var8 Then value1 = value1+1; //if c < var8 Then value1 = value1-1; if c > var9 Then value1 = value1+1; //if c < var9 Then value1 = value1-1; if c > var10 Then value1 = value1+1; //if c < var10 Then value1 = value1-1; if c > var11 Then value1 = value1+1; //if c < var11 Then value1 = value1-1; if c > var12 Then value1 = value1+1; //if c < var12 Then value1 = value1-1; Plot1(var13); Plot2(var14); Plot3(var15); Plot4(var16); PLOT99(C);
프로필 이미지
9회말2아웃
2021-04-02
739
글번호 147629
지표
답변완료

수식 질문드립니다.

1분봉을 씁니다. 아래 식에서 FALSE 조건 추가하고 싶습니다. 전거래일 10시30분 부터 15시30분까지 = 전일 구간 AVERAGE(C2,전일구간) > 0 AND LOWEST(C2,전일구간) >-0.2 이 두조건을 넣고 싶습니다. 이 조건 만족시 당일 거래 금지시키려고합니다. 부탁드리겠습니다. 감사합니다. !! ----------------------------------------------------- . . . . . 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; C2 = Data2(c); # 매수/매도청산 if Tcond == true Then { If CROSSUP(C2,0) Then { Buy(); } . . . .
프로필 이미지
캣피쉬
2021-04-02
825
글번호 147628
시스템
답변완료

수식수정좀 부탁드립니다.

투자금액 천만원으로 가정했을때, 아래 매수조건을 바탕으로 분할매수하려고 합니다. 총 7번 매수이며, 비율은 (10%, 10%, 10%, 15%, 15%, 20%, 20%)으로 하며, 매도후엔 기존 매수가 어디까지 진행되었건 상관없이 올매도 하고 다시 첫번째 매수부터 재진행. 반복. Input : 투자금액(10000000),RSIP(14), P1(5), P2(25), 시작일(20210401),시작시간(224500); var : value(0),e(0),x(0),count(0),Vma(0), Tcond(false); var : Rsiv(0); var1 = ma(C,p1); var2 = ma(C,p2); var3 = sar(0.02,0.2); Rsiv = RSI(RSIP); if NextBarSdate >= 시작일 and NextBarStime >= 시작시간 Then Tcond = true; if MarketPosition != 0 and MarketPosition != MarketPosition[1] Then count = count+1; if sdate >= 시작일 and stime >= 시작시간 Then Tcond = true; if Tcond == true then { if MarketPosition >= 0 and CrossUp(var1,var2)and Rsiv < 60 and C > var3 Then{ buy("b"); } if MarketPosition >= 0 and Rsiv > 60 and C < var3 Then{ exitlong("s"); } }
프로필 이미지
바나
2021-04-02
948
글번호 147627
시스템
답변완료

수식문의드립니다

5분봉 12봉이내 신고가 돌파시 알람신호받고 싶습니다. 혹 키움처럼 차트에 기준선 설정가능하면 이것도 수식부탁드립니다. 수고하세요
프로필 이미지
젬스임다
2021-04-02
946
글번호 147626
시스템
답변완료

문의 드립니다.

주가가 상승이고 기준라인도 상승인데 캔들이 기준라인 아래에 위치하고 윗꼬리를 달면 짧은 하락라인이 게속 발생이 되면서 진행이 되고, 반대로 하락 시에는 기준라인 위에 캔들이 위치하고 아랫꼬리가 발생되면 반대라인이 계속 발생이 됩니다. 역매매가 이루어 지게 되는데, 수정부탁 드립니다. input: period(30),봉수(2); Var:선두께(3),상승색(BLACk), 하락색(GREEn),상승세로선색상(red),하락세로선색상(MAGENTA),세로선두께(2); Var:j(0),T(0); Var: date11(0),date12(0),time11(0),time12(0),TL1(0),TL(0), date21(0),date22(0),time21(0),time22(0), date31(0),date32(0),time31(0),time32(0),tx(0),tx1(0),tl4(0),idx(0); Array:HiVal[20](0),LoVal[20](0),HiBar[20](0),LoBar[20](0)/*,ZZ[20](0)*/; Array:r[7](0),fr[7](0),TL2[7](0),TL3[7](0),TX2[7](0),TX3[7](0); r[0] = 0; r[1] = 2; r[2] = 3.; r[3] = -1; r[4] = -2.; r[5] = 1; r[6] = 0.5; For j = 0 To 19 { HiBar[j] = HiBar[j] + 1; LoBar[j] = LoBar[j] + 1; } if crossup(c,highest(h,Period)[1]) Then T = 1; if CrossDown(c,Lowest(l,Period)[1]) Then T = -1; If T == -1 Then { If T[1] != -1 Then { For j = 36 DownTo 0 { LoVal[j+1] = LoVal[j]; LoBar[j+1] = LoBar[j]; //ZZ[j+1] = ZZ[j]; } LoVal[0] = l; LoBar[0] = 0; //ZZ[0] = l; date11 = date[HiBar[0]]; time11 = stime[HiBar[0]]; Value11 = HiVal[0]; date12 = date[LoBar[0]]; time12 = stime[LoBar[0]]; Value12 = LoVal[0]; TL_Delete(tl); TL = TL_New(sdate,stime,Value12,NextBarSdate,NextBarStime,NextBarOpen); TL1 = TL_New(date11,time11,Value11,date12,time12,Value12); TL_SetColor(TL1,상승색); Tx = Text_New(date11,time11,Value11,"▼"); #동그라미 색상, 빨강 Text_SetColor(Tx,LGREEn); Text_SetStyle(Tx,2,1); Text_SetSize(tx,12); tx = Text_New(date11,time11,Value11,NumToStr(value11,2)+NewLine); Text_SetStyle(tx,2,1); Text_SetColor(Tx,LGREEn); date21 = date[HiBar[0]]; time21 = stime[HiBar[0]]; date22 = date[0]; time22 = stime[0]; for j = 0 to 6 { fr[j] = LoVal[1] + ((HiVal[0] - LoVal[1]) * r[j]); } // TL2[0] = TL_New(date21,time21,fr[0],date22,time22,fr[0]); // TL_SetColor(TL2[0],white); #TL2[1] = TL_New(date21,time21,fr[1],date22,time22,fr[1]); #TL_SetColor(TL2[1],RED); #TL_SetStyle(TL2[1], 3); #TL2[2] = TL_New(date21,time21,fr[2],date22,time22,fr[2]); #TL_SetColor(TL2[2],red); #TL_SetSize(TL2[2],1); #TX2[2] = Text_New(date22,time22,fr[2],NumToStr(fr[2],2)); #Text_SetColor(Tx2[2],BWHITE); #Text_SetStyle(TX2[2],1,1); #TL2[3] = TL_New(date21,time21,fr[3],date22,time22,fr[3]); #TL_SetColor(TL2[3],RED); #TL_SetStyle(TL2[3], 3); #TL2[4] = TL_New(date21,time21,fr[4],date22,time22,fr[4]); #TL_SetColor(TL2[4],red); #TL_SetSize(TL2[4],1); #TX2[4] = Text_New(date22,time22,fr[4],NumToStr(fr[4],2)); #Text_SetColor(Tx2[4],BWHITE); #Text_SetStyle(TX2[4],1,0); TL2[5] = TL_New(date21,time21,fr[5],date22,time22,fr[5]); TL_SetColor(TL2[5],BLUe); TL_SetSize(TL2[5],2); // TL2[6] = TL_New(date21,time21,fr[6],date22,time22,fr[6]); // TL_SetColor(TL2[6],MAGENTA); idx = 0; } Else { If LoVal[0] > l Then { LoVal[0] = l; LoBar[0] = 0; //ZZ[0] = l; date12 = date[LoBar[0]]; time12 = stime[LoBar[0]]; Value12 = LoVal[0]; TL_SetEnd(TL1, date12,time12,Value12); date22 = date[0]; time22 = stime[0]; // Tx = Text_New_Self(date12,time12,Value12,NumToStr(abs(value11-value12)/PriceScale,0)+" "); #동그라미 색상, 빨강 // Text_SetColor(Tx,BLUE); // Text_SetStyle(Tx,1,0); TL_SetEnd(TL2[0],date22,time22,fr[0]); TL_SetEnd(TL2[1],date22,time22,fr[1]); TL_SetEnd(TL2[2],date22,time22,fr[2]); Text_SetLocation(TX2[2],date22,time22,fr[2]); TL_SetEnd(TL2[3],date22,time22,fr[3]); TL_SetEnd(TL2[4],date22,time22,fr[4]); Text_SetLocation(TX2[4],date22,time22,fr[4]); TL_SetEnd(TL2[5],date22,time22,fr[5]); TL_SetEnd(TL2[6],date22,time22,fr[6]); TL_Delete(tl); TL = TL_New(sdate,stime,Value12,NextBarSdate,NextBarStime,NextBarOpen); idx = 0; } Else TL_SetEnd(TL,sDate,sTime,C); } } If T == 1 Then { If T[1] != 1 Then { For j = 36 DownTo 0 { HiVal[j+1] = HiVal[j]; HiBar[j+1] = HiBar[j]; //ZZ[j+1] = ZZ[j]; } HiVal[0] = h; HiBar[0] = 0; //ZZ[0] = h; date11 = date[LoBar[0]]; time11 = stime[LoBar[0]]; Value11 = LoVal[0]; date12 = date[HiBar[0]]; time12 = stime[HiBar[0]]; Value12 = HiVal[0]; TL_Delete(tl); TL = TL_New(sdate,stime,Value12,NextBarSdate,NextBarStime,NextBarOpen); TL1 = TL_New(date11,time11,Value11,date12,time12,Value12); TL_SetColor(TL1,하락색); Tx1 = Text_New(date11,time11,Value11,"▲"); #동그라미 색상, 파랑 Text_SetColor(Tx1,MAGENTa); Text_SetStyle(Tx1,2,5); tx = Text_New(date11,time11,Value11,NewLine+NumToStr(value11,2)); Text_SetStyle(tx,2,0); Text_SetColor(Tx,MAGENTa); date31 = date[LoBar[0]]; time31 = stime[LoBar[0]]; date32 = date[0]; time32 = stime[0]; for j = 0 to 5 { fr[j] = LoVal[0] + ((HiVal[1] - LoVal[0]) * r[j]); } TL3[0] = TL_New(date31,time31,fr[0],date32,time32,fr[0]); TL_SetColor(TL3[0],REd); TL_SetSize(TL3[0],2); #TL3[1] = TL_New(date31,time31,fr[1],date32,time32,fr[1]); #TL_SetColor(TL3[1],BLUE); #TL_SetStyle(TL3[1], 3); #TL3[2] = TL_New(date31,time31,fr[2],date32,time32,fr[2]); #TL_SetColor(TL3[2],BLUE); #TL_SetSize(TL3[2],1); #TX3[2] = Text_New(date32,time32,fr[2],NumToStr(fr[2],2)); #Text_SetColor(Tx3[2],BWHITE); #Text_SetStyle(TX3[2],1,1); #TL3[3] = TL_New(date31,time31,fr[3],date32,time32,fr[3]); #TL_SetColor(TL3[3],BLUE); #TL_SetStyle(TL3[3], 3); #TL3[4] = TL_New(date31,time31,fr[4],date32,time32,fr[4]); #TL_SetColor(TL3[4],BLUE); #TL_SetSize(TL3[4],1); #TX3[4] = Text_New(date32,time32,fr[4],NumToStr(fr[4],2)); #Text_SetColor(Tx3[4],BWHITE); #Text_SetStyle(TX3[4],1,0); // TL3[5] = TL_New(date31,time31,fr[5],date32,time32,fr[5]); // TL_SetColor(TL3[5],white); // TL3[6] = TL_New(date31,time31,fr[6],date32,time32,fr[6]); // TL_SetColor(TL3[6],cyan); idx = 0; } Else { If HiVal[0] < h Then { HiVal[0] = h; HiBar[0] = 0; //ZZ[0] = h; date12 = date[HiBar[0]]; time12 = stime[HiBar[0]]; Value12 = HiVal[0]; TL_SetEnd(TL1, date12,time12,Value12); date32 = date[0]; time32 = stime[0]; // Tx = Text_New_Self(date12,time12,Value12,NumToStr(abs(value11-value12)/PriceScale,0)+" "); #동그라미 색상, 빨강 // Text_SetColor(Tx,RED); // Text_SetStyle(Tx,1,1); TL_SetEnd(TL3[0],date32,time32,fr[0]); TL_SetEnd(TL3[1],date32,time32,fr[1]); TL_SetEnd(TL3[2],date32,time32,fr[2]); Text_SetLocation(TX3[2],date32,time32,fr[2]); TL_SetEnd(TL3[3],date32,time32,fr[3]); TL_SetEnd(TL3[4],date32,time32,fr[4]); Text_SetLocation(TX3[4],date32,time32,fr[4]); TL_SetEnd(TL3[5],date32,time32,fr[5]); TL_SetEnd(TL3[6],date32,time32,fr[6]); TL_Delete(tl); TL = TL_New(sdate,stime,Value12,NextBarSdate,NextBarStime,NextBarOpen); idx = 0; } Else TL_SetEnd(TL,sDate,sTime,C); } } idx = idx+1; TL_SetSize(tL,선두께); TL_SetSize(tL1,선두께); TL_SetEnd(TL,sDate,sTime,c); if T == 1 Then TL_SetColor(TL,상승색); Else TL_SetColor(TL,하락색); var : VTL(0); if idx == 봉수 Then { // TL_Delete(VTL);//최근것만 표시하고자 할경우 이 내용을 삭제하시면 됩니다. // VTL = TL_New(sdate,stime,999999999,sDate,stime,0); // TL_SetColor(VTL,iff(T == -1,상승세로선색상,하락세로선색상)); // TL_SetSize(VTL,세로선두께); }
프로필 이미지
참아람
2021-04-02
883
글번호 147625
지표