커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

수식좀 부탁드립니다

- 지그재그 형태의 시간대별 상승과 하락을 보고자 합니다. - 2분봉(외부변수) 또는 틱봉 챠트에서 2시간(외부변수) 간격의 상승과 하락 - 종가가 아닌 최고, 최저점 기준
프로필 이미지
harrywin
2020-11-10
700
글번호 143770
지표
답변완료

매매 관련 시스템식 요청드립니다.

1. if Bdate == Bdate[1] and CrossUp(C,DayOpen) Then Buy() 해당 매수 관련 식에서 제가 원하는 금액만큼만 매수가 가능한가요?? 예를 들면 예수금이 1000만원 있으면 그중에 100만원만 매수 이렇게요?? 2. 익절 매도 관련 중에서 매수 이후에 보유하고 있는 주식수 100주 중에서 50주는 2%때 익절 나머지는 5%때 익절 이런 매도 시스템식도 요청드립니다. 감사합니다. 수고하십시오
프로필 이미지
맴맴잉
2020-11-10
502
글번호 143769
시스템
답변완료

수식문의드립니다.

안녕하세요. 매번 고생이 많으십니다. 문의드리고자하는것은, 목표수익 설정부분인데, 현재 차트는 5분봉으로 진입 및 청산신호를 주고 있지만 목표수익청산은 ATR (Average True Range)로 일봉에 대한 ATR 수치만큼 설정하고 싶습니다. 해당 수식은 어떻게 작성하는지 도움 부탁드립니다. 감사합니다.
프로필 이미지
bin
2020-11-10
367
글번호 143765
시스템

옵션매도 님에 의해서 삭제되었습니다.

프로필 이미지
옵션매도
2020-11-10
12
글번호 143761
지표
답변완료

문의

data1 선물 data2 콜연결atm0 data3 풋연결atm0 양합(data2+data3) 생성된 양합으로 진입합니다. 데이트레이딩 1) if stime >= 100000 and 금일 양합 open - 금일 양합(1.00 ~ 2.00) then sell(); 10시 부터 금일 양합이 090000기준 양합 시가 - (1.00 ~ 2.00)이면 sell 2) if stime >= 100000 and 전일 양합 저점 - 금일 양합(1.00 ~ 2.00) then sell(); 10시 부터 금일 양합이 전일 양합 저점 - (1.00 ~ 2.00) 이면 sell 수식 부탁드립니다.
프로필 이미지
목마와숙녀
2020-11-10
419
글번호 143760
시스템
답변완료

지표수정

69836번 5일선만 봉의종가 라인선표현 잘부탁드립니다
프로필 이미지
용각산
2020-11-10
416
글번호 143759
지표
답변완료

문의 드립니다.

안녕하세요 관리자님 우선 늘 감사 드립니다. 제가 아래와 같이 하고 싶은데 방법을 몰라서 문의 드립니다. 매수 1 매수 2 매수 3 매도 1 매도 2 매도 3 매수 청산 1 매수 청산 2 매수 청산 3 매도 청산 1 매도 청산 2 매도 청산 3 매수1 진입된 것은 매수 청산 1으로만 진행 매수2 진입된 것은 매수 청산 2으로만 진행 매수3 진입된 것은 매수 청산 3으로만 진행 매도1 진입된 것은 매도 청산 1으로만 진행 매도2 진입된 것은 매도 청산 2으로만 진행 매도3 진입된 것은 매도 청산 3으로만 진행 위와 같이 하고 싶은데 현재는 매수 1로 진입된 것이 매수청산 2나 3으로도 청산 되서요 어떻게 해야 되는지 문의 드립니다. ## 단기 매도매수 수식 ## Condition31 = CrossDown(DZwave3, SEP[11]) and CrossDown(DZwave3, SEP[10]); Condition32 = CrossDown(DZwave3, SEP[10]) and CrossDown(DZwave3, SEP[9]); Condition33 = CrossDown(DZwave3, SEP[9]) and CrossDown(DZwave3, SEP[8]); Condition34 = CrossDown(DZwave3, SEP[8]) and CrossDown(DZwave3, SEP[7]); Condition35 = CrossDown(DZwave3, SEP[7]) and CrossDown(DZwave3, SEP[6]); Condition36 = CrossDown(DZwave3, SEP[6]) and CrossDown(DZwave3, SEP[5]); Condition37 = CrossDown(DZwave3, SEP[5]) and CrossDown(DZwave3, SEP[4]); Condition38 = CrossDown(DZwave3, SEP[4]) and CrossDown(DZwave3, SEP[3]); Condition39 = CrossDown(DZwave3, SEP[3]) and CrossDown(DZwave3, SEP[2]); Condition40 = CrossDown(DZwave3, SEP[2]) and CrossDown(DZwave3, SEP[1]); Condition41 = CrossDown(DZwave3, SEP[1]) and CrossDown(DZwave3, SEP[0]); Condition42 = CrossUp(DZwave3, BUP[11]) and CrossUp(DZwave3, BUP[10]); Condition43 = CrossUp(DZwave3, BUP[10]) and CrossUp(DZwave3, BUP[9]); Condition44 = CrossUp(DZwave3, BUP[9]) and CrossUp(DZwave3, BUP[8]); Condition45 = CrossUp(DZwave3, BUP[8]) and CrossUp(DZwave3, BUP[7]); Condition46 = CrossUp(DZwave3, BUP[7]) and CrossUp(DZwave3, BUP[6]); Condition47 = CrossUp(DZwave3, BUP[6]) and CrossUp(DZwave3, BUP[5]); Condition48 = CrossUp(DZwave3, BUP[5]) and CrossUp(DZwave3, BUP[4]); Condition49 = CrossUp(DZwave3, BUP[4]) and CrossUp(DZwave3, BUP[3]); Condition50 = CrossUp(DZwave3, BUP[3]) and CrossUp(DZwave3, BUP[2]); Condition51 = CrossUp(DZwave3, BUP[2]) and CrossUp(DZwave3, BUP[1]); Condition52 = CrossUp(DZwave3, BUP[1]) and CrossUp(DZwave3, BUP[0]); ## 단기 매도매수 청산수식 ## Condition53 = CrossUp(DZwave3, SEP[0]) and CrossUp(DZwave3, SEP[1]); Condition54 = CrossUp(DZwave3, SEP[1]) and CrossUp(DZwave3, SEP[2]); Condition55 = CrossUp(DZwave3, SEP[2]) and CrossUp(DZwave3, SEP[3]); Condition56 = CrossUp(DZwave3, SEP[3]) and CrossUp(DZwave3, SEP[4]); Condition57 = CrossUp(DZwave3, SEP[4]) and CrossUp(DZwave3, SEP[5]); Condition58 = CrossUp(DZwave3, SEP[5]) and CrossUp(DZwave3, SEP[6]); Condition59 = CrossUp(DZwave3, SEP[6]) and CrossUp(DZwave3, SEP[7]); Condition60 = CrossUp(DZwave3, SEP[7]) and CrossUp(DZwave3, SEP[8]); Condition61 = CrossUp(DZwave3, SEP[8]) and CrossUp(DZwave3, SEP[9]); Condition62 = CrossUp(DZwave3, SEP[9]) and CrossUp(DZwave3, SEP[10]); Condition63 = CrossUp(DZwave3, SEP[10]) and CrossUp(DZwave3, SEP[11]); Condition64 = CrossDown(DZwave3, BUP[0]) and CrossDown(DZwave3, BUP[1]); Condition65 = CrossDown(DZwave3, BUP[1]) and CrossDown(DZwave3, BUP[2]); Condition66 = CrossDown(DZwave3, BUP[2]) and CrossDown(DZwave3, BUP[3]); Condition67 = CrossDown(DZwave3, BUP[3]) and CrossDown(DZwave3, BUP[4]); Condition68 = CrossDown(DZwave3, BUP[4]) and CrossDown(DZwave3, BUP[5]); Condition69 = CrossDown(DZwave3, BUP[5]) and CrossDown(DZwave3, BUP[6]); Condition70 = CrossDown(DZwave3, BUP[6]) and CrossDown(DZwave3, BUP[7]); Condition71 = CrossDown(DZwave3, BUP[7]) and CrossDown(DZwave3, BUP[8]); Condition72 = CrossDown(DZwave3, BUP[8]) and CrossDown(DZwave3, BUP[9]); Condition73 = CrossDown(DZwave3, BUP[9]) and CrossDown(DZwave3, BUP[10]); Condition74 = CrossDown(DZwave3, BUP[10]) and CrossDown(DZwave3, BUP[11]); { If MarketPosition == 0 and (T == 1) and Condition52 == true Then { Buy("B1"); } If MarketPosition == 0 and (T == 1) and Condition51 == true Then { Buy("B2"); } If MarketPosition == 0 and (T == 1) and Condition50 == true Then { Buy("B3"); } If MarketPosition == 0 and (T == -1) and Condition31 == true Then { Sell("S1"); } If MarketPosition == 0 and (T == -1) and Condition32 == true Then { Sell("S2"); } If MarketPosition == 0 and (T == -1) and Condition33 == true Then { Sell("S3"); } if MarketPosition == 1 Then { if CrossDown(DZwave3, BUP[0]) or Condition65 == true or Condition66 == true Then { ExitLong("BX1"); } if CrossDown(DZwave3, BUP[1]) or Condition66 == true or Condition67 == true Then { ExitLong("BX2"); } if CrossDown(DZwave3, BUP[2]) or Condition67 == true or Condition68 == true Then { ExitLong("BX3"); } } if MarketPosition == -1 Then { if CrossUp(DZwave3, SEP[11]) or Condition62 == true or Condition61 == true Then { ExitShort("SX1"); } if CrossUp(DZwave3, SEP[10]) or Condition61 == true or Condition60 == true Then { ExitShort("SX2"); } if CrossUp(DZwave3, SEP[9]) or Condition60 == true or Condition59 == true Then { ExitShort("SX3"); } } }
프로필 이미지
blueo
2020-11-10
496
글번호 143758
시스템
답변완료

[5034]양음양 일봉기준을 80틱 기준으로 하려면 어떻게 해야하는지요

if ma(c,5) > ma(c,20) and ma(V,5)[1] >= 100000 and C > 1000 and C > O and C[1] < O[1] and C[2] > O[2] then find(1); 위 식은 일봉을 기준으로한 [5034]번 양음양 패턴 검색식입니다. 이것을 일봉이 아니라 80틱 기준으로 바꾸어 검색을 하려면 어떻게 해야하는지요(위 이동평균선 역시 80틱 기준으로 바꾸려고 합니다.)
프로필 이미지
플로어
2020-11-10
635
글번호 143757
검색
답변완료

문의드립니다

1)Input:barCnt(5); Var:j(0),turnPntBit(""),TL1(0),TL33(0),TL44(0),HD(0),HT(0),LD(0),LT(0),HH(0),LL(0); Array:valArr[10](0),barArr[10](0),turnPntArr[10](""); // 봉이 새로 생겼으므로 봉개수 관리하는 변수들의 봉개수 값 1씩 증가 For j = 0 To 9 { barArr[j] = barArr[j] + 1; } 상승추세선과 하락추세선의 마지막값출력테스트를 나오게 부탁드립니다, // 고점조건 = 5-1-5에서 가운데 고가가 좌측 5봉과 우측 5봉 고가보다 높다 // 저점조건 = 5-1-5에서 가운데 저가가 좌측 5봉과 우측 5봉 저가보다 낮다 Condition1 = Highest(H,barCnt)[barCnt+1] <= H[barCnt] and H[barCnt] > Highest(H,barCnt); Condition2 = Lowest(L,barCnt)[barCnt+1] >= L[barCnt] and L[barCnt] < Lowest(L,barCnt); // 전환점구분 null값으로 초기화; // if 고점조건, 저점조건 동시 만족시 then // if 이전 고점,저점 범위를 모두 벗어났을 때 // 전환점구분 = 고저점; // else if 이전 고점을 갱신했다면 전환점구분 = 고점; // else if 이전 저점을 갱신했다면 전환점구분 = 저점; // else if 전환점배열의 현재(배열상 1번째)값이 고점이면 전환점구분 = 저점; // else if 전환점배열의 현재 값이 저점이면 전환점구분 = 고점; // else if 고점조건 만족하면 전환점구분 = 고점; // else if 저점조건 만족하면 전환전구분 = 저점; turnPntBit = ""; If Condition1 and Condition2 Then { If Max(valArr[1],valArr[2]) < H[barCnt] and Min(valArr[1],valArr[2]) > L[barCnt] Then turnPntBit = "HiLo"; Else If Max(valArr[1],valArr[2]) < H[barCnt] Then turnPntBit = "Hi"; Else If Min(valArr[1],valArr[2]) > L[barCnt] Then turnPntBit = "Lo"; Else If turnPntArr[1] == "Hi" Then turnPntBit = "Lo"; Else If turnPntArr[1] == "Lo" Then turnPntBit = "Hi"; } Else If Condition1 Then turnPntBit = "Hi"; Else If Condition2 Then turnPntBit = "Lo"; // if 전환점구분에 값이 있을 때만 아래 실행, 없으면 통과 If turnPntBit <> "" Then { // if 전환점구분이 고저점이면 then // 이전 파동은 연장시키고 아래에서 새로이 파동선을 추가토록 한다. If turnPntBit == "HiLo" Then { valArr[1] = IFF(turnPntArr[1] == "Hi",H[barCnt],L[barCnt]); barArr[1] = barCnt; TL_SetEnd(TL1,sDate[barArr[1]],sTime[barArr[1]],valArr[1]); If turnPntArr[1] == "Hi" Then turnPntBit = "Lo"; Else turnPntBit = "Hi"; } // if 신규 전환점구분이 현재(전환점배열 1번째)와 다르면 then // 배열값들을 이전값으로 Move; If turnPntBit <> turnPntArr[1] Then { for j = 8 downto 1 { valArr[j+1] = valArr[j]; barArr[j+1] = barArr[j]; turnPntArr[j+1] = turnPntArr[j]; } } // if 전환점구분이 바뀌었거나 또는 // (전환점구분은 안바뀌었는데 // (이전 고점보다 높은 고점이 발생했거나 또는 // 이전 저점보다 낮은 저점이 발생했으면)) then If turnPntBit <> turnPntArr[1] or (turnPntBit == turnPntArr[1] and ((turnPntBit == "Hi" and valArr[1] < H[barCnt]) or (turnPntBit == "Lo" and valArr[1] > L[barCnt]))) Then { // 값 배열에는 고점 또는 저점을 대입; // 봉개수 배열에는 입력변수의 봉개수 대입; // 전환점 배열에 전환점구분값을 대입; valArr[1] = IFF(turnPntBit == "Hi",H[barCnt],L[barCnt]); barArr[1] = barCnt; turnPntArr[1] = turnPntBit; // if 이전봉대비 전환점구분이 바뀌었다면 추세선 새로 그리고; // else 전환점구분이 안바뀌었으면 값만 바뀐거므로 추세선 연장; If turnPntArr[1][1] <> turnPntArr[1][0] Then TL1 = TL_New(sDate[barArr[2]],sTime[barArr[2]],valArr[2], sDate[barArr[1]],sTime[barArr[1]],valArr[1]); Else TL_SetEnd(TL1,sDate[barArr[1]],sTime[barArr[1]],valArr[1]); } } TL_SetSize(TL1,0); TL_SetColor(TL1,BLACK); var : TL11(0),TL12(0),hhh(0),lll(0),mmm(0),mm1(0),mm2(0),mm3(0),mm4(0); if turnPntArr[1][0] == "Hi" Then { hhh = valArr[1]; TL_Delete(TL11); TL_SetExtRight(TL11,true); TL_SetColor(TL11,BLUE); TL_SetSize(TL11,0); mmm = (hhh-lll)/5; TL_Delete(mm1); TL_SetExtRight(mm1,true); TL_SetColor(mm1,BLACK); TL_SetSize(mm1,0); TL_Delete(mm2); TL_SetExtRight(mm2,true); TL_SetColor(mm2,BLACK); TL_SetSize(mm2,0); TL_Delete(mm3); TL_SetExtRight(mm3,true); TL_SetColor(mm3,BLACK); TL_SetSize(mm3,0); TL_Delete(mm4); TL_SetExtRight(mm4,true); TL_SetColor(mm4,BLACK); TL_SetSize(mm4,0); } if turnPntArr[1][0] == "Lo" Then { lll = valArr[1]; TL_Delete(TL12); TL_SetExtRight(TL12,true); TL_SetColor(TL12,LGREEN); TL_SetSize(TL12,0); mmm = (hhh-lll)/5; TL_Delete(mm1); TL_SetExtRight(mm1,true); TL_SetColor(mm1,BLACK); TL_SetSize(mm1,0); TL_Delete(mm2); TL_SetExtRight(mm2,true); TL_SetColor(mm2,BLACK); TL_SetSize(mm2,0); TL_Delete(mm3); TL_SetExtRight(mm3,true); TL_SetColor(mm3,BLACK); TL_SetSize(mm3,0); TL_Delete(mm4); TL_SetExtRight(mm4,true); TL_SetColor(mm4,BLACK); TL_SetSize(mm4,0); } if bdate != BDate[1] Then{ HD = sdate; HT = stime; LD = sdate; LT = stime; HH = H; LL = L; } if H > HH Then{ HH = H; HD = sdate; HT = stime; } TL_Delete(TL33); if turnPntArr[1][0] == "Hi" Then{ TL33 = TL_New(sDate[barArr[1]],sTime[barArr[1]],valArr[1],HD,HT,dayhigh); } if turnPntArr[1][0] == "Lo" Then{ TL33 = TL_New(sDate[barArr[2]],sTime[barArr[2]],valArr[2],HD,HT,dayhigh); } TL_SetExtRight(TL33,true); TL_SetColor(TL33,LGREEN); TL_SetSize(TL33,1); if L < LL Then{ LL = L; LD = sdate; LT = stime; } TL_Delete(TL44); if turnPntArr[1][0] == "Hi" Then{ TL44 = TL_New(sDate[barArr[2]],sTime[barArr[2]],valArr[2],LD,LT,daylow); } if turnPntArr[1][0] == "Lo" Then{ TL44 = TL_New(sDate[barArr[1]],sTime[barArr[1]],valArr[1],LD,LT,daylow); } TL_SetExtRight(TL44,true); TL_SetColor(TL44,BLACK); TL_SetSize(TL44,1); 상승추세선 과 하락추세선의 마지막값이 나오게 출력테스트를부탁드립니다,~~ 봉과 추세선이 만나는지점도텍스트출력부탁드립니다 2) 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); 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); } 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); TL_SetExtRight(Tl2,true); TL_SetColor(Tl2,CYAN); TL_SetSize(TL2,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); 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(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); TL_SetExtRight(Tl2,true); TL_SetColor(Tl2,RED); TL_SetSize(TL2,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); 고점수평선이 확정되어 수평선이 나오면 고점수평선으로부터+50틱에 레드색으로 수평선이 나오게~~반대로 저점수평선이 확정되어 저점을찍으면 저점수평선으로 부턱-50틱에 블루색으로 수평선이 나오게 ~~수평선은 트리로 나오게 해주세요, 2)당일시가기준으로 상승시+50틱마다수평선이나오게 하고십습니다, 당일시가기준으로 하락시-50틱마다 수평선이나오게 하고십습니다 +는 래드색 -는 블루색,, 수평선 마지막값이 나오도록 톄스트출력을 하고십습니다, 3)전일고점과 저점을 기준으로 +50,-50틱마다 2번과갗이 수평선이나오게 하고 전일은 전일이란 글씨가 나오게 ~~수치값테스트술력을 해주세요, 4)당일고점과 저점을 기준으로 +50틱 -50틱 마다 1번이나 2번과갗이 당일이란 글씨가나오게 하고 수치갑텍스트 출력을 하고십습니다, 1234번 색갈을 다 다르게 하게 조정하게끔부탁드립니다~~미리감사드립다,
프로필 이미지
장군
2020-11-10
620
글번호 143756
지표

로꼬로꼬 님에 의해서 삭제되었습니다.

프로필 이미지
로꼬로꼬
2020-11-10
1
글번호 143755
지표