커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

문의 드립니다.

강제청산 기능에 목표수익과 손절매 기능을 코드로 구현하되 진입가격을 고가말고 항상 저가와 먼저 비교하게 해주세요 예를 들어서 원래는 저가 폭이 더 클경우 시가-고가-저가-종가지만 항상 시가-저가-고가-종가 순으로 되도록 해주세요 늘 감사합니다.
프로필 이미지
qwer1234
2020-11-17
678
글번호 143976
시스템
답변완료

69949 수식 수정 부탁합니다.

안녕하세요~ 수식 감사합니다. 그런데, 시스템 적용해보니 첨부 그림과 같이 매수진입 후 위 간격식에 닿을 때 청산이 되어야 하는데, 청산이 안됩니다. 매도로 진입한 경우에도 아래 간격식에 닿으면 청산이 되어야합니다. 차트는 나스닥 1분봉 차트입니다. 수식 수정 부탁드립니다. 감사합니다. ================================================================ 안녕하세요 예스스탁입니다. input : tick(20); var : sngMx(12000.00), sngDx(125.00); var : v1(0),v2(0),v3(0),v4(0),v5(0); var : v6(0),v7(0),v8(0),v9(0),v10(0); var : v11(0),v12(0),v13(0),v14(0),v15(0); var : v16(0),v17(0),v18(0),v19(0),v20(0); v1 = sngMx; v2 = sngMx - 1 * sngDx; v3 = sngMx - 2 * sngDx; v4 = sngMx - 3 * sngDx; v5 = sngMx - 4 * sngDx; v6 = sngMx - 5 * sngDx; v7 = sngMx - 6 * sngDx; v8 = sngMx - 7 * sngDx; v9 = sngMx - 8 * sngDx; v10 = sngMx - 9 * sngDx; v11 = sngMx - 10 * sngDx; v12 = sngMx - 11 * sngDx; v13 = sngMx - 12 * sngDx; v14 = sngMx - 13 * sngDx; v15 = sngMx - 14 * sngDx; v16 = sngMx - 15 * sngDx; v17 = sngMx - 16 * sngDx; v18 = sngMx - 17 * sngDx; v19 = sngMx - 18 * sngDx; v20 = sngMx - 19 * sngDx; var1 = 0; if h < v1+PriceScale*tick Then var1 = v1; if h < v2+PriceScale*tick Then var1 = v2; if h < v3+PriceScale*tick Then var1 = v3; if h < v4+PriceScale*tick Then var1 = v4; if h < v5+PriceScale*tick Then var1 = v5; if h < v6+PriceScale*tick Then var1 = v6; if h < v7+PriceScale*tick Then var1 = v7; if h < v8+PriceScale*tick Then var1 = v8; if h < v9+PriceScale*tick Then var1 = v9; if h < v10+PriceScale*tick Then var1 = v10; if h < v11+PriceScale*tick Then var1 = v11; if h < v12+PriceScale*tick Then var1 = v12; if h < v13+PriceScale*tick Then var1 = v13; if h < v14+PriceScale*tick Then var1 = v14; if h < v15+PriceScale*tick Then var1 = v15; if h < v16+PriceScale*tick Then var1 = v16; if h < v17+PriceScale*tick Then var1 = v17; if h < v18+PriceScale*tick Then var1 = v18; if h < v19+PriceScale*tick Then var1 = v19; if h < v20+PriceScale*tick Then var1 = v20; var2 = 0; if L > v20-PriceScale*Tick Then var2 = v20; if L > v19-PriceScale*Tick Then var2 = v19; if L > v18-PriceScale*Tick Then var2 = v18; if L > v17-PriceScale*Tick Then var2 = v17; if L > v16-PriceScale*Tick Then var2 = v16; if L > v15-PriceScale*Tick Then var2 = v15; if L > v14-PriceScale*Tick Then var2 = v14; if L > v13-PriceScale*Tick Then var2 = v13; if L > v12-PriceScale*Tick Then var2 = v12; if L > v11-PriceScale*Tick Then var2 = v11; if L > v10-PriceScale*Tick Then var2 = v10; if L > v9-PriceScale*Tick Then var2 = v9; if L > v8-PriceScale*Tick Then var2 = v8; if L > v7-PriceScale*Tick Then var2 = v7; if L > v6-PriceScale*Tick Then var2 = v6; if L > v5-PriceScale*Tick Then var2 = v5; if L > v4-PriceScale*Tick Then var2 = v4; if L > v3-PriceScale*Tick Then var2 = v3; if L > v2-PriceScale*Tick Then var2 = v2; if L > v1-PriceScale*Tick Then var2 = v1; if MarketPosition <= 0 and var1 > 0 Then { Buy("b",AtStop,var1+PriceScale*tick); } if MarketPosition >= 0 and Var2 > 0 Then { Sell("s",AtStop,Var2-PriceScale*tick); } if MarketPosition == 1 Then { ExitLong("bp",AtLimit,var1[BarsSinceEntry+1]+sngDx); ExitLong("bl",AtStop,var1[BarsSinceEntry+1]); } if MarketPosition == -1 Then { ExitShort("sp",AtLimit,var2[BarsSinceEntry+1]-sngDx); ExitShort("sl",AtStop,var2[BarsSinceEntry+1]); } 즐거운 하루되세요 ======================================================================== > 모센 님이 쓴 글입니다. > 제목 : 시스템 수식 문의드립니다. > 안녕하세요, 수고 많으십니다. 항상 감사드리며 수식 문의드립니다. 아래 간격선 수식에서 매수, 매도조건을 설정하고 싶습니다. 매수진입 : 간격선 + 20틱에 닿을때 실시간 매수진입 매수청산 : 간격선에 닿을 때 실시간 매수청산 매도진입 : 간격선 - 20틱에 닿을때 실시간 매도진입 매도청산 : 간격선에 닿을 때 실시간 매도청산 input : cnt(20) // 20틱을 외부변수로 조정할 수 있도록 부탁합니다. var : sngMx(12000.00), sngDx(125.00); // 500틱 간격선 중 고점 / sngDx: 500틱 간격(125pt) v1 = sngMx; v2 = sngMx - sngDx; v3 = sngMx - 2 * sngDx; v4 = sngMx - 3 * sngDx; v5 = sngMx - 4 * sngDx; v6 = sngMx - 5 * sngDx; v7 = sngMx - 6 * sngDx; v8 = sngMx - 7 * sngDx; v9 = sngMx - 8 * sngDx; v10 = sngMx - 9 * sngDx; v11 = sngMx - 10 * sngDx; v12 = sngMx - 11 * sngDx; v13 = sngMx - 12 * sngDx; v14 = sngMx - 13 * sngDx; v15 = sngMx - 14 * sngDx; v16 = sngMx - 15 * sngDx; v17 = sngMx - 16 * sngDx; v18 = sngMx - 17 * sngDx; v19 = sngMx - 18 * sngDx; v20 = sngMx - 19 * sngDx;
프로필 이미지
모센
2020-11-17
666
글번호 143974
시스템
답변완료

문의드립니다.

안녕하세요. 아래와 같이 베이시스를 만들어 사용하고 있습니다. 기본차트 연결선물지수, 참조데이터 KP200지수로 하여 plot1(C-data2(c)); 를 출력해 사용하고 있습니다. 그런데 분봉상 이 수치는 해당봉이 완성될 때 까지 계속해서 바뀌죠. 가령, 5분봉 차트에서 C-data2(c) 값은 각C값에 따라 5분동안 실시간으로 바뀌는데 5분동안 C-data2(c) 값의 고점과 저점을 고정하여 나타내고 싶습니다. 수식이 어떻게 될까요..??
프로필 이미지
뉴하트
2020-11-17
703
글번호 143969
지표
답변완료

문의 드립니다.

안녕하세요 항상 빠른 답변 갑사드립니다. 아래 답변중에 수정 보완을 요청 드립니다. 2-b 5일 평균 거래량을 100% 돌파한 양봉들의 중심선을 수평선으로 차트 오른쪽까지 주욱 표시 할수 있는 식을 요청 드립니다. input : P(5),Per(100); var : TL(0); var1 = ma(V,P); if CrossUp(V,var1*(1+per/100)) Then { var2 = (H+L)/2; TL = TL_New(sDate,sTime,var2,NextBarSdate,NextBarStime,var2); TL_SetExtRight(TL,true); } 위 사항을 적용하니 전일 라인이 오른쪽을 방향으로 침범하여 당일차트 보기가 불편합니다. 분봉상 당일만 라인이 표기 희망합니다. 혹시 인풋값으로 기간값을 넣을수 있다면 일봉에서도 신호가 발행하고 10일정도까지만 오른쪽 수평선이 표시된다면 좋을듯 합니다. 그럼 좋은 하루 되세요^^ 감사합니다
프로필 이미지
느와르
2020-11-17
774
글번호 143968
지표
답변완료

수식부탁드립니다

오늘도 수고해 주셔서 감사드립니다. 아래와 같은 과정으로 수식부탁을 드립니다. (1)매수식(분봉에 적용) 1.거래시간 한국시간 기준 19시부터 익일 02시 00분까지 2.거래회수 : 주어진시간 기준 총 12회까지 3.매매기준 1)첫번째 양봉에 매수(손절15틱 익절 30틱)진입 2)먼저 진입된 매수포지션이 손절일 경우 다음 진입은 손절가 기준으로 +-15틱(외부변수) 이상에서 양봉에 매수진입( 손절 15틱 익절 30틱) 3)먼저 진입된 매수포지션이 익절 청산일 경우 다음봉 양봉에 매수진입(손절 15틱 익절 30틱) 4)이런 방법으로 먼저 진입되어진 것이 손절되거나 익절되어 청산되면(무포지션 상태) 주어진 조건(손절청산 또는 익절청산) 기준에 따라 양봉에만 계속 매수진입과 청산을 연속적으로 반복합니다. 5)매수진입 하루 총한도 12회까지 가능 외부변수 원함 1.거래시간 2.진입횟수 3.손절 4.익절 5.손절가기준 수고해 주셔서 다시 한 번 감사드립니다.
프로필 이미지
황금룰
2020-11-17
692
글번호 143963
시스템
답변완료

분봉에서..

안녕하세요? 항상 어려운 질문드려도 답변 주셔서 감사합니다. 분봉에서 일봉, 주봉의 Linear Regression Line 계산해보고 싶은데, 방법 가이드 부탁드립니다!! 감사합니다.
프로필 이미지
롬롬7
2020-11-17
662
글번호 143960
시스템
답변완료

지표식 문의 드립니다.

안녕하세요,,, 해외선물에서 data2 차트의 당일의 최고가와 최저가 차이를 구하는 식좀 알려주세요,, 해외선물의 개장은 한국시간으로 아침 8시인데, 장마감이 다음날 아침7시라서, 어떻게 해야하는지를 모르겠어요,, 부탁드립니다... 감사합니다...
프로필 이미지
클레멘타인
2020-11-17
728
글번호 143959
지표
답변완료

문의

아래는 max 2개 까지 피라미딩하는 수식입니다. 피라미딩으로 2개 진입이 완성된 후 첫번째 진입한 것은 진입가격에서 2포인트 상승하면 익절 두번째 진입한 것은 진입가격에서 4포인트 상승하면 익절 수식을 요청합니다. ******************************************************************************** input : 시간1(090000),시간2(143000),상승(1.70); input : uppyra검증(1.30),상승pyra(0.00),상승N(2); var : C2(0,data2),entry(false,data2); C2 = data2(C); if data2(Bdate != Bdate[1]) Then entry = false; if data2(stime >= 시간1 and stime < 시간2) then{ if entry == false and data2(Bdate == Bdate[1] and HighD(0) > HighD(0)[1] and HighD(0)-LowD(0) >= 상승) Then{ entry = true; buy("b"); } } if C >= EntryPrice+uppyra검증 and MaxContracts < 상승N Then buy("bb1",AtStop,LatestEntryPrice(0)+상승Pyra);
프로필 이미지
좌오비우오비
2020-11-17
653
글번호 143958
시스템
답변완료

지표 질문입니다

1. 당일 고가에서 당일 저가를 뺀 차이값을 당일 고가 위에 글자로 표시 당일 고가와 당일 저가의 차이를 당일 고가에 더한 값을 당일 고가 위에 글자로 표시 당일 고가와 당일 저가의 차이를 당일 저가에 뺀 값을 당일 저가 아래에 글자로 표시 2. 오전9시부터 오전 10시까지 당일 고가에서 1.0 하락한 위치를 표시한다 감사합니다
프로필 이미지
유튜버
2020-11-17
635
글번호 143957
지표
답변완료

문의드립니다

1)틱수를 가지고 피보나치처럼 표현을 해볼까 하는데가능할지 .. 전일종가기준으로해서 + 500틱을고점으로잡고-500틱을저점으로 잡고해서 +250틱이중심선이되고-250틱이중심선이되고 +중심선으로표현 -중심선으로표현 해서 50프로만 수평선으로위.아래두개선이 나오게 하고십습니다 , var1 = dayhigh; var2 = daylow; var3 = var1-var2; plot1(var1-var3*0.236); plot2(var1-var3*0.50); plot3(var1-var3*0.764); 위수식을 응용하여 가능하다면 부탁드리겠습니다~항상감사드립니다 2)if C >= dayopen+PriceScale*1 Then PlotPaintBar(H,L,"강조",RED); if C <= dayopen-PriceScale*1 Then PlotPaintBar(H,L,"강조",LMAGENTA); 시가기준강조를 지표식으로 수정부탁합니다~~ 3)Input:length(5); Var:j(0),lastHiVal(0),lastLoVal(0),sBar(0),eBar(0),TL1(0),TL2(0),TL3(0),Text1(0),처리구분(""), TL_Val1(0),TL_Val2(0); Var:TL11(0),TL12(0),TL13(0),TL14(0),TL15(0),TL16(0),TL17(0),TL18(0),TL19(0),TL20(0); Var:TL21(0),TL22(0),TL23(0),TL24(0),TL25(0),TL26(0),TL27(0),TL28(0),TL29(0),TL30(0),mav(0),T(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 { 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; TL_Delete(TL1); TL_Delete(TL2); TL_Delete(TL3); If TL_GetBeginDate(TL1) == sDate[sBar] and TL_GetBeginTime(TL1) == sTime[sBar] Then { Text_Delete(Text1); If 고점[3,1][1] < 고점[2,1][1] and 고점[2,1][1] > 고점[1,1][1]and 저점[2,1][1] < 저점[1,1][1] Then { TL_Delete(TL2); TL_Delete(TL3); } } TL1 = TL_New(sDate[sBar],sTime[sBar],저점[1,1],sDate[eBar],sTime[eBar],고점[1,1]); TL2 = TL_New(sDate[eBar+1],sTime[eBar+1],고점[1,1]+ PriceScale*1,sDate[eBar],sTime[eBar],고점[1,1]+PriceScale*1); TL3 = TL_New(sDate[eBar+1],sTime[eBar+1],고점[1,1]+ PriceScale*40,sDate[eBar],sTime[eBar],고점[1,1]+PriceScale*40); TL_SetExtRight(Tl2,true); TL_SetColor(Tl2,CYAN); TL_SetSize(TL2,2); TL_SetExtRight(Tl3,true); TL_SetColor(Tl3,CYAN); TL_SetSize(TL3,2); TL_SetColor(TL1,BLACK); TL_SetSize(TL1,0); If 고점[3,1] < 고점[2,1] and 고점[2,1] > 고점[1,1] and 저점[2,1] < 저점[1,1] Then { sBar = Index - 저점[2,2]; eBar = Index - 저점[1,2]; } } } If 처리구분 == "저점처리" Then { 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; TL_Delete(TL1); TL_Delete(TL2); TL_Delete(TL3); If TL_GetBeginDate(TL1) == sDate[sBar] and TL_GetBeginTime(TL1) == sTime[sBar] Then { Text_Delete(Text1); If 저점[2,1][1] < 저점[1,1][1] and 저점[2,1][1] < 저점[3,1][1] and 고점[2,1][1] > 고점[1,1][1] Then { TL_Delete(TL2); TL_Delete(TL3); } } TL1 = TL_New(sDate[sBar],sTime[sBar],고점[1,1],sDate[eBar],sTime[eBar],저점[1,1]); TL2 = TL_New(sDate[eBar+1],sTime[eBar+1],저점[1,1]- PriceScale*1,sDate[eBar],sTime[eBar],저점[1,1]-PriceScale*1); TL3 = TL_New(sDate[eBar+1],sTime[eBar+1],저점[1,1]- PriceScale*40,sDate[eBar],sTime[eBar],저점[1,1]-PriceScale*40); TL_SetExtRight(Tl2,true); TL_SetColor(Tl2,RED); TL_SetSize(TL2,2); TL_SetExtRight(Tl3,true); TL_SetColor(Tl3,RED); TL_SetSize(TL3,2); TL_SetColor(TL1,BLACK); TL_SetSize(TL1,0); If 저점[2,1] < 저점[1,1] and 저점[2,1] < 저점[3,1] and 고점[2,1] > 고점[1,1] Then { sBar = Index - 고점[2,2]; eBar = Index - 고점[1,2]; } } } mav = ma(C,20); 지그재그고점과저점을찍을때+40틱씩위아래로 나타나는데 문재는 고점과저점을 조금이라도 돌파하면 거기서추가한만큼 다시+-40틱씩이추가되니까 어려움이 있습니다~~(예를들어 가격이계속상승하여서 40틱수평선을 1틱2틱10틱30틱 즉돌파한틱수가40틱미만이라면 첫번째 수평선은변하지않고계속유지되게끔 그러니까첫번째수평선으로부터 80틱이상이되어야 변하게끔~~80틱미만이라면 첫번&#51760;수평선은 계속유지되는거죠, 수정부탁드립니다~`항상감사드립니다
프로필 이미지
장군
2020-11-17
626
글번호 143956
지표