커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

수식문의드립니다

수고하십니다 첨부한 그림을 응용하여 매수(매도)신호 발생시 stoploss, targetpoint 를 TL 선으로 진입가-목표가/진입가-손절가 사이를 그림처럼 바탕색을 넣을 수 있는 수식을 부탁드립니다. 포지션이 청산되면 TL 선이 없어지도록하는 수식을 부탁드립니다. 예) 이동평균선(20) 을 상향돌파시 매수 손절선=최근5개봉저가 목표가= 진입가 + ( (진입가-손절가)*1.5)
프로필 이미지
당일선물
2023-03-23
1838
글번호 167470
지표
답변완료

제1조건과 제2조건을 동시에 만족하는 식

안녕하세요? 추세도 있으면서 변동성도 좋을때에 수직선을 긋는 식을 만들고 싶은데 잘 안됩니다. 수정 좀 부탁드립니다. ======================================================================= //============== TDI(추세지표) ===============// input : len1(20),len2(40); var : mt(0),sum1(0),sum2(0),TDI(0),T(0); mt = Abs(C-C[len1-1]); sum1 = AccumN(mt,len1); sum2 = AccumN(mt,len2); TDI = sum1-(sum2-sum1); If TDI[0] > TDI[1] Then { T = 1; } //============== ATR(변동성지표) ===============// Input : Period(14),SigPeriod(9); var : AvgTrueRange(0,Data1),ATRsig(0,Data1); Var : TL1(0),TL2(0),TL3(0),TL4(0),TL5(0),TL6(0),TL7(0),TL8(0),TL9(0),TL10(0); AvgTrueRange = Data1(ATR(Period)); ATRsig = ema(Data1(ATR(Period)),SigPeriod); //=========================================// If T==1 and cRossUp(AvgTrueRange, ATRsig) Then { TL1 = TL_New(sdate,stime,99999999,sdate,stime,0); TL_SetColor(TL1,ReD); TL_SetSize(TL1,0); PlaySound("C:₩EugeneYesTrader₩Bin10₩data₩Sound₩@거래량증가시작변동성확때시작"); }
프로필 이미지
매버릭
2023-03-23
1309
글번호 167468
지표
답변완료

수식 문의드립니다.

1. 일봉 저가가 5일선을 데드크로스 후, 30분봉상 5선이 10선을 골든크로스할 때 매수 2. 일봉 저가가 5일선 데드크로스 후, 30분봉상 20선을 골든크로스 할때 매수 1번 조건일때 1차매수, 2번 조건일 때 2차매수하고 익절 5%, 손절 5% 수식을 만들고 싶습니다. 항상 감사합니다.
프로필 이미지
망고맨
2023-03-23
2084
글번호 167460
시스템
답변완료

피라미딩별청산2

피라미딩 적용했을 때 a,b 진입 후 a는 xb1 b는 xb2로 청산하는 수식을 작성했는데 a,b 모두 xb1으로 청산됩니다. b는 xb2로 청산되게 수식 수정 부탁드립니다. ****************************************************************************** input:st1(101000),butd21(100),butd31(10000); input:st2(103000),butd22(2000),butd32(12500); input : exst(103000),ex하락1(99999),ex하락2(99999); var : T1(0),entry(0); if Bdate != Bdate[1] Then T1 = TotalTrades; if MarketPosition == 0 Then entry = TotalTrades-T1; Else entry = (TotalTrades-T1)+1; if MarketPosition == 0 and sTime>=st1 and entry==0 and !(data2(c<Highd(0)-butd21)) and !(data3(c>Lowd(0)+butd31)) Then Buy("a"); if MarketPosition == 1 then { if MaxEntries==1 and sTime>=st2 and entry==1 and !(data2(c<Highd(0)-butd22)) and !(data3(c>Lowd(0)+butd32)) Then Buy("b"); } var : Tcond(false,Data2),h2(0,Data2),L2(0,Data2); if Data2(Bdate != Bdate[1]) Then Tcond = False; if Data2((sdate != sdate[1] and stime >= exst) or (sdate == sdate[1] and stime >= exst and stime[1] < exst)) Then { Tcond = true; h2 = Data2(h); l2 = Data2(l); } if Tcond == true Then { if Data2(H) > h2 Then h2 = Data2(h); if Data2(L) < l2 Then l2 = Data2(l); if MarketPosition == 1 and IsEntryName("a") and data2(c<h2-ex하락1) then exitlong("xb1"); if MarketPosition == 1 and IsEntryName("b") and data2(c<h2-ex하락2) then exitlong("xb2"); }
프로필 이미지
목마와숙녀
2023-04-24
1385
글번호 167458
시스템
답변완료

문의 드립니다.

안녕하세요. 당일 포함한 10 ATR 를 구하고 W 값에 저장 당일 최저가 에서 하락하면 하락한 값만큼 W 값 에서 마이너스 시키고 W1에 저장 (저장값에 0.3을 더하거나 뺄수 있음) 당일 최고가 에서 상승한 가격을 W 에 더한값이 W2(저장값에 0.3을 더하거나 뺄수 있음) W가격 화면에 플릇으로 표시 당일최저가 -W1 값 플릇 으로 표시 당일최고가 +W2 값 플릇 으로 표시
프로필 이미지
월드맨
2023-03-23
1438
글번호 167457
지표
답변완료

수식 문의 드립니다.

안녕하세요 전에 올려주신 식입니다. 아래 식중에서 500.300.300 이 Crossup 상태에서 10.6.6 이 Crossup 되면은 매수 신호가 나에게 되어 있습니다. 이 식중에서 500.300.300 이 Crossup 된 상태에서 10.6.6 이 침체권(20) 아래로 내려 왔다가 올라가면서 다시 Crossup 이 되면은 매수신호 나오게 하는 식을 부탁드리겠습니다.. (여기서 10.6.6 Crossup 되는것이 20 아래든 20 위던간에 상관없이 Crossup 만 되면은 매수신호, 반드시 20 아래로 왔다가 탈출해야 매수신호출현) 여기서 침체권 영역 (20) 을 25 나 30 과 같이 조절할수 있도록 해 주시면 감사하겠습니다. Input : Period(500), Period1(300), Period2(300), Period3(10), Period4(6), Period5(6); var : T(0); value1 = StochasticsK(Period,Period1); value2 = StochasticsD(Period,Period1,Period2); value3 = StochasticsK(Period3,Period4); value4 = StochasticsD(Period3,Period4,Period5); # 스토캐스틱 500,300,300 이 crossup 상태 일때에만 If CrossDown(value1, value2) Then T = 1; if CrossUp(Value1, Value2) Then T = -1; # 20 이평과 60 이평이 골드시에 매수 하고 if T == 1 and CrossDown(Value3, Value4) Then { Sell(); } # 이미 매수해 놓은것은 이평 20 이 60을 하향돌파 할때에 청산 신호 if CrossUp(Value3, Value4) Then { ExitShort(); } 항상 감사드립니다.
프로필 이미지
뭐이런걸다
2023-03-23
1543
글번호 167455
시스템
답변완료

문의드립니다.

답변 감사드립니다. 답변중에 이해가 잘 안되는 부분이 있어서 다시 질문 드립니다. HH10 = (High[1] + High[2] + High[3] + High[4] + High[5] + High[6] + High[7] + High[8] + High[9] + High[10]) /10 ; 저번 질문 HH10 계산된 값과 가로선 출력값의 오차가 나는 부분을 추세선과 텍스트는 봉완성시에 동작합니다. 차트의 마지막봉은 미완성봉으로 해당값을 기준으로 출력되게는 할수 없습니다. 현재봉이 포함되면 미완성봉이라 평균 값이 계속 틀려지는건 어쩔수 없지만 과거봉 [1] ~ [10] 또는 [2] ~ [11] 으로 하면 현재봉이 포함되지 않을텐데 HH10 값이 가로선 그려지는 값과 왜 틀릴까요? 감사합니다.
프로필 이미지
올독
2023-03-23
1128
글번호 167454
지표
답변완료

수식문의드립니다.

개발자님 감사합니다. 시스템 조건식 부탁드립니다. 삼각가중이평 180 삼각가중이평 60 삼각가중이평 30 위의 3개의 삼각가중이평중에 두개 이상의 이평선 위에서 봉의시가가 시작할때 매수진입 위의 3개의 삼각가중이평중에 두개 이상의 이평선 아래에서 봉의시가가 시작할때 있을때 매도진입 건강한 봄날되시고, 좋은일 가득하시길 바랍니다. 감사합니다.
프로필 이미지
하늘선물
2023-03-23
2001
글번호 167453
시스템
답변완료

문의 드립니다.

아래 식에서 익절 청산 추가를 원합니다. 매수와 매도 진입 후 각각 익절 설정할 수 있도록 부탁드립니다. var1 = BollBandUp(20,2); Var2 = BollBandDown(20,2); if CrossUp(c,var1) Then Buy(); if CrossDown(c,var1) Then ExitLong(); if CrossDown(c,var2) Then Sell(); if CrossUp(c,var2) Then ExitShort();
프로필 이미지
선물대장
2023-03-23
1552
글번호 167446
시스템
답변완료

수고하십니다.

안녕하십니까? Text2 위에 Text3에 봉갯수 표시 되도록 추가부탁드립니다. Input:length(20),종가사용여부(0),파동선두께(2),수치표시(1); Input:가로라인두께(2),고점라인색상(RED),저점라인색상(BLUE); Var:j(0),jj(0),HH(0),LL(0),최종고가(0),최종저가(0),최종꼭지점(""),처리구분(""), TL1(0),Text1(0),text2(0),TL2(0); Array:고[10,4](0),저[10,4](0); // 1:가격,2:Index,3:sDate,4:sTime #==========================================# HH = IFF(종가사용여부==1,C,H); LL = IFF(종가사용여부==1,C,L); If Index == 0 Then { 고[1,1] = HH; 저[1,1] = LL; } Condition1 = Highest(HH,length) == HH and 최종고가 <> HH; Condition2 = Lowest (LL,length) == LL and 최종저가 <> LL; 처리구분 = ""; If Condition1 and Condition2 Then // 기간고점과 기간저점 동시 발생 { If 최종꼭지점 == "저점" Then { If 저[1,1] > LL Then 처리구분 = "저점처리"; Else 처리구분 = "고점처리"; } Else If 최종꼭지점 == "고점" Then { If 고[1,1] < HH Then 처리구분 = "고점처리"; Else 처리구분 = "저점처리"; } } Else If Condition1 Then 처리구분 = "고점처리"; Else If Condition2 Then 처리구분 = "저점처리"; #==========================================# If 처리구분 == "고점처리" Then { 최종고가 = HH; // 신규고점을 체크하기 위해 저장 If 최종꼭지점 == "저점" Then { For j = 10 DownTo 2 { For jj = 1 To 4 { 고[j,jj] = 고[j-1,jj]; } } 고[1,1] = HH; 고[1,2] = Index; 고[1,3] = sDate; 고[1,4] = sTime; TL1 = TL_New(저[1,3],저[1,4],저[1,1],고[1,3],고[1,4],고[1,1]); var1 = 고[2,1]-저[1,1]; TL2 = TL_New(저[1,3],저[1,4],저[1,1],sDate,sTime,저[1,1]); If 수치표시 == 1 Then { Text1 = Text_New(고[1,3],고[1,4],고[1,1],NumToStr(고[1,1],2)); Text_SetStyle(Text1, 1, 1); Text_SetSize(Text1, 26); Text2 = Text_New(고[1,3],고[1,4],고[1,1],NumToStr(고[1,1]-저[1,1],2)+NewLine); Text_SetStyle(Text2, 1, 1); Text_SetSize(Text2, 26); Text_SetColor(text2,RED); } TL_SetSize(TL1,파동선두께); TL_SetColor(TL1,BLUe); TL_SetSize(TL2,가로라인두께); TL_SetColor(TL2,저점라인색상); } Else If 고[1,1] < HH Then // 1번 고점보다 높은 고가 출현 { 고[1,1] = HH; 고[1,2] = Index; 고[1,3] = sDate; 고[1,4] = sTime; TL_SetEnd(TL1,고[1,3],고[1,4],고[1,1]); TL_SetEnd(TL2,고[1,3],고[1,4],저[1,1]); // 시작점은 변동없고 끝점의 위치가 현재 봉으로 연장된 것임 If 수치표시 == 1 Then { Text_SetLocation(Text1,고[1,3],고[1,4],고[1,1]); Text_SetString(Text1,NumToStr(고[1,1],2)); Text_SetLocation(Text2,고[1,3],고[1,4],고[1,1]); Text_SetString(Text2,NumToStr(고[1,1]-저[1,1],2)+NewLine); } } 최종꼭지점 = "고점"; } #==========================================# If 처리구분 == "저점처리" Then { 최종저가 = LL; If 최종꼭지점 == "고점" then { For j = 10 DownTo 2 { For jj = 1 To 4 { 저[j,jj] = 저[j-1,jj]; } } 저[1,1] = LL; 저[1,2] = Index; 저[1,3] = sDate; 저[1,4] = sTime; TL1 = TL_New(고[1,3],고[1,4],고[1,1],저[1,3],저[1,4],저[1,1]); var1 = 고[1,1]-저[2,1]; TL2 = TL_New(고[1,3],고[1,4],고[1,1],sDate,sTime,고[1,1]); If 수치표시 == 1 Then { Text1 = Text_New(저[1,3],저[1,4],저[1,1],NumToStr(저[1,1],2)); Text_SetStyle(Text1, 1, 0); Text_SetSize(Text1, 26); Text2 = Text_New(저[1,3],저[1,4],저[1,1],NewLine+NumToStr(저[1,1]-고[1,1],2)); Text_SetStyle(Text2, 1, 0); Text_SetSize(Text2, 26); Text_SetColor(text2,RED); } TL_SetSize(TL1,파동선두께); TL_SetColor(TL1,BLUe); TL_SetSize(TL2,가로라인두께); TL_SetColor(TL2,고점라인색상); } Else If 저[1,1] > LL then { 저[1,1] = LL; 저[1,2] = Index; 저[1,3] = sDate; 저[1,4] = sTime; TL_SetEnd(TL1,저[1,3],저[1,4],저[1,1]); TL_SetEnd(TL2,저[1,3],저[1,4],고[1,1]); If 수치표시 == 1 Then { Text_SetLocation(Text1,저[1,3],저[1,4],저[1,1]); Text_SetString(Text1,NumToStr(저[1,1],2)); Text_SetLocation(Text2,저[1,3],저[1,4],저[1,1]); Text_SetString(Text2,NewLine+NumToStr(저[1,1]-고[1,1],2)); } } 최종꼭지점 = "저점"; }
프로필 이미지
fill
2023-03-23
1400
글번호 167445
지표