커뮤니티

수식수정

프로필 이미지
알리섬
2018-05-28 19:18:57
132
글번호 119287
답변완료

첨부 이미지

늘 도움 감사합니다. 아래의 그림처럼 수식수정부탁드립니다. Input : af(0.02), maxAF(0.2); var : T(0),HH(0),LL(0); var1 = CSar(af,maxAF); if crossup(c,var1) Then { buy(); T = 1; HH = H; if LL > 0 Then { value1 = TL_new(sdate[1],stime[1],HH,sdate,stime,HH); TL_SetColor(value1,RED); value2 = Text_New(sdate,stime,HH,NumToStr((HH-LL)/PriceScale,0)); Text_SetStyle(value2,2,1); } } if CrossDown(c,var1) Then { sell(); T = -1; LL = L; if HH > 0 Then { value3 = TL_new(sdate[1],stime[1],HH,sdate,stime,HH); TL_SetColor(value3,blue); value4 = Text_New(sdate,stime,HH,NumToStr((HH-LL)/PriceScale,0)); Text_SetStyle(value4,2,0); } } if T == 1 then { if H > HH Then { HH = H; Text_Delete(value2); value2 = Text_New(sdate,stime,HH,NumToStr(abs(HH-LL)/PriceScale,0)); Text_SetStyle(value2,2,1); } TL_SetBegin(value1,TL_GetBeginDate(value1),TL_GetBeginTime(value1),HH); TL_SetEnd(value1,sdate,stime,HH); } if T == -1 then { if L < LL Then{ LL = L; Text_Delete(value4); value4 = Text_New(sdate,stime,LL,NumToStr(abs(HH-LL)/PriceScale,0)); Text_SetStyle(value4,2,0); } TL_SetBegin(value3,TL_GetBeginDate(value3),TL_GetBeginTime(value3),LL); TL_SetEnd(value3,sdate,stime,LL); }
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2018-05-29 15:10:52

안녕하세요 예스스탁입니다. 그림에서 지정하신 자리는 사후적으로 판단되는 자리입니다. 매수나 매도가 발생된 이후에 과거봉으로 봤을때만 판단되는 자리로 그림으로 지정한 자리에 신호를 밸 방법은 없습니다. 빨간색,파란색선도 사후적으로 그리는 선입니다. 아래 수식은 아래 내용으로 식 추가했습니다. 매수이후에 최고가봉 다음봉이 최고가를 갱신하지 않으면 매도로 스위치, 매도이후에 최저가봉 다음봉이 최저가를 갱신하지 않으면 매수로 스위치입니다. Input : af(0.02), maxAF(0.2); var : T(0),HH(0),LL(0); var1 = CSar(af,maxAF); if crossup(c,var1) Then { buy(); T = 1; HH = H; if LL > 0 Then { value1 = TL_new(sdate[1],stime[1],HH,sdate,stime,HH); TL_SetColor(value1,RED); value2 = Text_New(sdate,stime,HH,NumToStr((HH-LL)/PriceScale,0)); Text_SetStyle(value2,2,1); } } if CrossDown(c,var1) Then { sell(); T = -1; LL = L; if HH > 0 Then { value3 = TL_new(sdate[1],stime[1],HH,sdate,stime,HH); TL_SetColor(value3,blue); value4 = Text_New(sdate,stime,HH,NumToStr((HH-LL)/PriceScale,0)); Text_SetStyle(value4,2,0); } } if T == 1 then { if H > HH Then { HH = H; Text_Delete(value2); value2 = Text_New(sdate,stime,HH,NumToStr(abs(HH-LL)/PriceScale,0)); Text_SetStyle(value2,2,1); } TL_SetBegin(value1,TL_GetBeginDate(value1),TL_GetBeginTime(value1),HH); TL_SetEnd(value1,sdate,stime,HH); } if T == -1 then { if L < LL Then{ LL = L; Text_Delete(value4); value4 = Text_New(sdate,stime,LL,NumToStr(abs(HH-LL)/PriceScale,0)); Text_SetStyle(value4,2,0); } TL_SetBegin(value3,TL_GetBeginDate(value3),TL_GetBeginTime(value3),LL); TL_SetEnd(value3,sdate,stime,LL); } if MarketPosition == 1 and BarsSinceEntry >= 2 and L[1] == lowest(L,BarsSinceEntry) and L >= L[1] Then buy(); if MarketPosition == -1 and BarsSinceEntry >= 2 and H[1] == Highest(H,BarsSinceEntry) and H <= H[1] Then sell(); 즐거운 하루되세요 > 알리섬 님이 쓴 글입니다. > 제목 : 수식수정 > 늘 도움 감사합니다. 아래의 그림처럼 수식수정부탁드립니다. Input : af(0.02), maxAF(0.2); var : T(0),HH(0),LL(0); var1 = CSar(af,maxAF); if crossup(c,var1) Then { buy(); T = 1; HH = H; if LL > 0 Then { value1 = TL_new(sdate[1],stime[1],HH,sdate,stime,HH); TL_SetColor(value1,RED); value2 = Text_New(sdate,stime,HH,NumToStr((HH-LL)/PriceScale,0)); Text_SetStyle(value2,2,1); } } if CrossDown(c,var1) Then { sell(); T = -1; LL = L; if HH > 0 Then { value3 = TL_new(sdate[1],stime[1],HH,sdate,stime,HH); TL_SetColor(value3,blue); value4 = Text_New(sdate,stime,HH,NumToStr((HH-LL)/PriceScale,0)); Text_SetStyle(value4,2,0); } } if T == 1 then { if H > HH Then { HH = H; Text_Delete(value2); value2 = Text_New(sdate,stime,HH,NumToStr(abs(HH-LL)/PriceScale,0)); Text_SetStyle(value2,2,1); } TL_SetBegin(value1,TL_GetBeginDate(value1),TL_GetBeginTime(value1),HH); TL_SetEnd(value1,sdate,stime,HH); } if T == -1 then { if L < LL Then{ LL = L; Text_Delete(value4); value4 = Text_New(sdate,stime,LL,NumToStr(abs(HH-LL)/PriceScale,0)); Text_SetStyle(value4,2,0); } TL_SetBegin(value3,TL_GetBeginDate(value3),TL_GetBeginTime(value3),LL); TL_SetEnd(value3,sdate,stime,LL); }