커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

수식 부탁 드립니다,

안녕하세요 1. 60봉 최저가가 상승상태이고(이후 하락안함) 5이평선이 60이평 crossup 할때 매수 2. 5이평선이 60이평선 crossup 한 상태이고(다시 5이평이 60이평 아래로 안감) 최근 60봉 최저가가 상승시 매수 부탁드립니다.
프로필 이미지
orfeu
2020-06-08
2100
글번호 139662
시스템
답변완료

지표

********************************************* 내려오던 캔들중 최저가격을 찍은 캔들 이후 이전캔들의 고가를 높인 캔들이 후 다음 캔들이 최저의 가격과 동일 하거나 최저가격보다 1틱 높고 다음캔들에서 신호 ****************************************************** 말로 하기도 이렇게 어려운데 수식으로 표현해서 눈으로 나타나게 하는 쌤들은 진짜 천재네요 ******************************************************* 번호로 쓰긴했는데요 쌤의 수식에서 추가하고 싶은 내용이 있어요 if H < H[1] and #현재봉은 전봉의 고가보다 작음 H[1] < H[2] and L[1] < L[2] and #전봉고가는 잔전봉의 고가보다 작고 전봉저가도 전전봉 저가보다 작음 H[2] > H[3] then #전전봉고가는 전전전봉고가보다 큼(상승) sell(); ____________________________________________________________________ 추가 {이전캔들의 고가를 높인 캔들 이후 전봉의 저가보다 같거나 높아야 합니다 다음캔들에서 신호} ______________________________________________________________-__--- 현재봉의 고가는 전봉의 고가보다 작고 전봉의 고가는 전전봉의 고가보다 작고 전봉의 저가도 전전봉의 저가보다 작고 전전봉의 고가는 전전전봉의 고가보도 크다(전전봉은 고가기준 상승) 라고 하면 될것 같습니다. __________________________________________________________________ 내려오던 캔들 중에 한캔들이 앞 캔들의 고가를 높여야 하고, 저가의 가격이 같거나 높은 캔들의 다음캔들에서 신호 ___________________________________________________________________
프로필 이미지
에리카
2020-06-09
2102
글번호 139661
지표
답변완료

질문 드립니다.

현재봉은 어떻게 표시 합니까?
프로필 이미지
월드맨
2020-06-08
2040
글번호 139660
지표
답변완료

분봉상 누적거래량 수식 문의

var1 = V; 를 사용하면 해당 봉에 대한 거래량만 표시가 되는데요 당일 최초의 분봉을 기준으로 해서 거래량을 누적해서 보여주는 수식이 있을까요? 예를 들어 당일 최초 분봉의 거래량이 1000 이라면 누적거래량은 1000, 두번째 분봉의 거래량이 2000 이라면 누적거래량은 3000, 세번째 분봉의 거래량이 3000 이면 누적거래량 6000... 이런식으로 장종료까지 누적해서 계속 보여주고 다음날엔 다시 당일의 최초봉을 기준으로 보여주는 누적거래량 지표 좀 적어주시면 감사하겠습니다
프로필 이미지
아래위
2020-06-09
2944
글번호 139659
지표
답변완료

당일 첫봉 진입 재질문 합니다!

알려주신 내용을 확인해보고 적용을 시켜봤는데 잘 안됩니다 ^^;; 알려주신 수식을 어디에 추가를 해야되나요? 아니면 알려주신 수식을 추가하지 않고 최초 진입 조건식을 수정하는 방법은 없을까요? IF MarketPosition == 0 AND BDATE != EXITDATE(1) Then { IF H <= L1 AND NEXTBARSDATE == SDATE Then BUY("L1",ATSTOP,L1,LUNIT1); IF L >= S1 AND NextBarSdate == SDATE THEN SELL("S1",ATSTOP,S1,SUNIT1); } # 매수 피라미딩 IF MarketPosition == 1 AND STIME <153000 and IsEntryName("L1")==True THEN { if highest(h,BarsSinceEntry) <= L2 Then buy("L2",ATSTOP,L2,LUNIT2); if highest(h,BarsSinceEntry) <= L1 + LTR Then buy("L3",ATSTOP, L3,LUNIT2); } # 매수청산 IF MarketPosition == 1 then { if NextBarSdate == SDATE Then ExitLong("LS",AtStop,LatestEntryPrice - LTR); IF NextBarSdate != SDATE Then ExitLong("EL",ATMARKET); } # 매도 피라미딩 IF MarketPosition == -1 AND STIME < 153000 AND IsEntryName("S1") == True THEN { IF Lowest(L,BarsSinceEntry) >= S2 Then SELL("S2",AtStop,S2,SUNIT2); IF Lowest(L,BarsSinceEntry) >= S1 - STR Then SELL("S3",AtStop,S3,SUNIT2); } # 매도청산 IF MarketPosition == -1 then { IF NextBarSdate == SDATE Then EXITSHORT("SS",AtStop,LatestEntryPrice + STR); SetStopEndofday(); } ELSE SetStopEndofday(0); #해제 # 재진입 IF MarketPosition == 0 AND BDATE == EXITDATE(1) Then { IF MarketPosition(1) == 1 AND H <= NL1 AND NextBarSdate == sDate AND IsExitName("LS",1) == TRUE THEN BUY("NL1",ATSTOP,NL1,LUNIT1); IF MarketPosition(1) == -1 AND L >= NS1 AND NextBarSdate == SDATE THEN SELL("NS1",ATSTOP,NS1,SUNIT1); } IF BDATE == EXITDATE(1) AND MarketPosition == 1 AND IsEntryName("NL1") == TRUE THEN { IF LatestEntryName == "NL1" AND Highest(H,BarsSinceEntry) <= NL2 THEN BUY("NL2",ATSTOP,NL2,LUNIT2); IF LatestEntryName == "NL2" AND HIGHEST(H,BarsSinceEntry) <= NL3 THEN BUY("NL3",ATSTOP,NL3,LUNIT2); } IF BDATE == ExitDate(1) AND MarketPosition == -1 AND IsEntryName("NS1") == TRUE Then { IF LatestEntryName == "NS1" AND Lowest(L,BarsSinceEntry) >= NS2 THEN SELL("NS2",ATSTOP,NS2,SUNIT2); IF LatestEntryName == "NS2" AND Lowest(L,BarsSinceEntry) >= NS3 THEN SELL("NS3",ATSTOP,NS2,SUNIT2); } > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 당일 첫봉에서 진입이 안됩니다, 그리고 계좌예수금에 따라 베팅사이즈를 조절 > 안녕하세요 예스스탁입니다. 1 작성하신 수식에는 첫봉에 신호가 발생할수 있는 내용이 없습니다. 각 진입에 NextBarSdate == sDate라는 조건이 있습니다. 다음봉 시가의 날짜와 완성봉의 날짜가 같다라는 조건으로 첫봉이 완성이 되어야 atstop으로 진입이 조건이 충족되고 가격을 셋팅하면 그 다음봉에 신호가 발생합니다. 그러므로 당일 두번째 봉부터 신호가 나올수 있습니다. 첫봉에 신호가 발생할수 있는 내용을 추가하셔야 합니다. #오늘 마지막봉이 완성되면 #다음봉시가(다음날시가)+LTR 이상의 시세가 첫봉에서 발생하면 매수 #다음봉시가(다음날시가)-STR 이하의 시세가 첫봉에서 발생하면 매도 IF MarketPosition == 0 AND NextBarSdate != sdate Then { BUY("L11",ATSTOP,NextBarOpen+LTR,LUNIT1); SELL("S11",ATSTOP,NExtBarOpen-STR,SUNIT1); } LTR,STR,LUNIT1,SUNIT1변수가 0값입니다. 계산식 추가하시기 바랍니다. 2 예수금 부분은 %값을 다르게 지정하셔야 합니다. 1.5%와 같이 외부변수 지정이 되지 않습니다. 0.015로 지정하시면 됩니다. 랭귀지에서 실제 잔고값을 사용시 유의하시기 바랍니다. 차트에 과거봉에는 값이 없습니다. 즐거운 하루되세요 > 엠씨용가 님이 쓴 글입니다. > 제목 : 당일 첫봉에서 진입이 안됩니다, 그리고 계좌예수금에 따라 베팅사이즈를 조절 > 안녕하세요 ^^ 1) 아래와 같은 수식을 사용할 경우 당일 첫봉에서 매수/매도 진입이 전혀 되지 않습니다. 어떻게 해야될까요? 2) 계좌 예수금에 따라 베팅사이즈를 조절하려면 아래와 같이 수식을 적으면 될까요? (모의투자) input : n(3),risk(1.5%),rt(0.17),MUL(50000); var : noise(0),sum(0),cnt(0), RANGE(0),LTR(0),STR(0), L1(0),L2(0),L3(0),S1(0), S2(0),S3(0), NL1(0), NL2(0),NL3(0), NS1(0), NS2(0), NS3(0), VL(0),Lunit(0),LUNIT1(0),LUNIT2(0),SUNIT(0), SUNIT1(0), SUNIT2(0), Accoundnum(""),value(0); accoundnum = GetAccount(0); value = GetUnclearedDeposits(accoundnum); VL = value / (dayclose(1) * MUL * rt); LUNIT = INT((value * RISK) / (LTR * MUL)); SUNIT = INT((value * RISK) / (STR * MUL)); # ENTRY L1 = DAYOPEN + LTR ; L2 = L1 + (LTR * 0.5); L3 = L1 + LTR; S1 = DAYOPEN - STR; S2 = S1 - (STR * 0.5); S3 = S1 - STR; NL1 = LatestExitPrice(1)+LTR; NL2 = NL1 + LTR * 0.5; NL3 = NL1 + LTR; NS1 = LatestExitPrice(1)-STR; NS2 = NS1 - STR * 0.5; NS3 = NS1 - Str; IF MarketPosition == 0 AND BDATE != EXITDATE(1) Then { IF H <= L1 AND NEXTBARSDATE == SDATE Then BUY("L1",ATSTOP,L1,LUNIT1); IF L >= S1 AND NextBarSdate == SDATE THEN SELL("S1",ATSTOP,S1,SUNIT1); } # 매수 피라미딩 IF MarketPosition == 1 AND STIME <153000 and IsEntryName("L1")==True THEN { if highest(h,BarsSinceEntry) <= L2 Then buy("L2",ATSTOP,L2,LUNIT2); if highest(h,BarsSinceEntry) <= L1 + LTR Then buy("L3",ATSTOP, L3,LUNIT2); } # 매수청산 IF MarketPosition == 1 then { if NextBarSdate == SDATE Then ExitLong("LS",AtStop,LatestEntryPrice - LTR); IF NextBarSdate != SDATE Then ExitLong("EL",ATMARKET); } # 매도 피라미딩 IF MarketPosition == -1 AND STIME < 153000 AND IsEntryName("S1") == True THEN { IF Lowest(L,BarsSinceEntry) >= S2 Then SELL("S2",AtStop,S2,SUNIT2); IF Lowest(L,BarsSinceEntry) >= S1 - STR Then SELL("S3",AtStop,S3,SUNIT2); } # 매도청산 IF MarketPosition == -1 then { IF NextBarSdate == SDATE Then EXITSHORT("SS",AtStop,LatestEntryPrice + STR); SetStopEndofday(1545); } ELSE SetStopEndofday(0); #해제 # 재진입 IF MarketPosition == 0 AND BDATE == EXITDATE(1) Then { IF MarketPosition(1) == 1 AND H <= NL1 AND NextBarSdate == sDate AND IsExitName("LS",1) == TRUE THEN BUY("NL1",ATSTOP,NL1,LUNIT1); IF MarketPosition(1) == -1 AND L >= NS1 AND NextBarSdate == SDATE THEN SELL("NS1",ATSTOP,NS1,SUNIT1); } IF BDATE == EXITDATE(1) AND MarketPosition == 1 AND IsEntryName("NL1") == TRUE THEN { IF LatestEntryName == "NL1" AND Highest(H,BarsSinceEntry) <= NL2 THEN BUY("NL2",ATSTOP,NL2,LUNIT2); IF LatestEntryName == "NL2" AND HIGHEST(H,BarsSinceEntry) <= NL3 THEN BUY("NL3",ATSTOP,NL3,LUNIT2); } IF BDATE == ExitDate(1) AND MarketPosition == -1 AND IsEntryName("NS1") == TRUE Then { IF LatestEntryName == "NS1" AND Lowest(L,BarsSinceEntry) >= NS2 THEN SELL("NS2",ATSTOP,NS2,SUNIT2); IF LatestEntryName == "NS2" AND Lowest(L,BarsSinceEntry) >= NS3 THEN SELL("NS3",ATSTOP,NS2,SUNIT2); }
프로필 이미지
엠씨용가
2020-06-08
2078
글번호 139658
시스템
답변완료

검토

yeslanguage에 없어서 문의 합니다 혹시 같은 원리인데 못찾는 거있으면 알려주세요 -----stochastic oscillator 일목균형표에서 -----tchimoku kinko 있는데 못찾는 건지 없는지 추가 넣을 계획이 있는지 알려주세요
프로필 이미지
에리카
2020-06-08
2153
글번호 139644
지표
답변완료

문의드립니다.

아래수식을 예스수식으로 부탁드립니다. // INPUTS { Range_Length = input(20, title="Range Length", minval=1) Display_Bars = input(true, title="Show Bar Colors") Display_ST = input(true, title="Show Trend") Display_Channel = input(true, title="Show Channel") // } // SETTINGS { Highest_H = Display_Channel ? highest(high, Range_Length) : na Lowest_L = Display_Channel ? lowest(low, Range_Length) : na Highest_C = highest(close, Range_Length) Lowest_C = lowest(close, Range_Length) Up = float(na), Up := close > Lowest_C ? min(Highest_C, Highest_C[1]) : na Dn = float(na), Dn := close < Highest_C ? max(Lowest_C, Lowest_C[1]) : na ST = float(na), ST := close > Up ? 1 : close < Dn ? -1 : nz(ST[1]) Super_Trend = ST == 1 ? Lowest_C : Highest_C Bar_Color = Display_Bars ? (ST == 1 ? (close > open ? #4caf50 : #800080) : (close > open ? #2a2e39 : #b71c1c)) : na // } // PLOT { plot(Display_ST ? Super_Trend : na, title="Super Trend",color=color.new(#000000, 0), linewidth=4) Highest_High = plot(Highest_H, title="Highest High", color=color.new(#000000, 0), display=display.none, editable=false) Highest_Close = plot(Highest_C, title="Highest Close", color=color.new(#000000, 0), display=display.none, editable=false) Lowest_Close = plot(Lowest_C, title="Lowest Close", color=color.new(#000000, 0), display=display.none, editable=false) Lowest_Low = plot(Lowest_L, title="Lowest Low", color=color.new(#000000, 0), display=display.none, editable=false) fill(Highest_Close, Highest_High, title="Range High", color=color.new(#000000, 60)) fill(Lowest_Low, Lowest_Close, title="Range Low", color=color.new(#000000, 60)) fill(Highest_High, Lowest_Low, title="Full Range", color=color.new(#42a5f5, 90)) barcolor(Bar_Color, title="Bar Colors") // }
프로필 이미지
as8282
2020-06-08
2306
글번호 139640
지표
답변완료

문의

항상 친절한 답변 감사드립니다. 아래식을 데이타2에 적용하게 부탁드립니다 Input:length(12); Var:j(0),lastHiVal(0),lastLoVal(0),sBar(0),eBar(0),TL1(0), Text1(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; If TL_GetBeginDate(TL1) == sDate[sBar] and TL_GetBeginTime(TL1) == sTime[sBar] Then { TL_Delete(TL1); Text_Delete(Text1); } TL1 = TL_New(sDate[sBar],sTime[sBar],저점[1,1], sDate[eBar],sTime[eBar],고점[1,1]); Text1 = Text_New(sDate[eBar],sTime[eBar],고점[1,1],NumToStr(고점[1,1],2) +NewLine+"진폭"+NumToStr((고점[1,1]-저점[1,1]),2)); Text_SetStyle(Text1, 2, 1); } } 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; If TL_GetBeginDate(TL1) == sDate[sBar] and TL_GetBeginTime(TL1) == sTime[sBar] Then { TL_Delete(TL1); Text_Delete(Text1); } TL1 = TL_New(sDate[sBar],sTime[sBar],고점[1,1], sDate[eBar],sTime[eBar],저점[1,1]); Text1 = Text_New(sDate[eBar],sTime[eBar],저점[1,1],NumToStr(저점[1,1],2) +NewLine+"진폭"+NumToStr((고점[1,1]-저점[1,1]),2)); Text_SetStyle(Text1, 2, 0); } } TL_SetSize(TL1,2); TL_SetColor(TL1,BLACK);
프로필 이미지
레전드
2020-06-08
2153
글번호 139630
지표
답변완료

로직식 부탁드립니다

전일 매수하고 오늘 장초에 시초가 매도할때 시초가가 전일 매수한가격보다 높고 갭이 2퍼센트 이상뜰때 매도하고싶은데 어떻게 작성하면좋을지 모르겠습니다. 작성도움 부탁드립니다
프로필 이미지
하얀귤
2020-06-08
1990
글번호 139629
시스템
답변완료

문의드립니다.

수고에 항상 감사드립니다. 초보질문드립니다. 1. 청산수식을, 종가청산으로 하는것과, 다음봉시가청산으로 하는 것이 같은 것인지요, 결과에 차이가 없는 건가요. 2. 전봉 고가 돌파시 진입조건이면, 전봉고가 +1틱일때 진입되는 건지요. (휩소무시하고 이론적으로) 3. 전봉 고가 돌파시 진입이라는 조건일때, 다음봉 시가가 갭으로 전봉 고가보다 몇 틱 위에서 시작 되었을 경우, 바로 진입이 되는건지. 4. 설정창에서 계약수를 설정할수도 있고, 수식으로 설정할수도 있는 것으로 아는데, 설정창의 계약수와 수식의 계약수의 수가 다르면 어느게 우선인가요? 또한, 예를들어 1가지 시스템으로 나스닥과 오일 2종목을 매매한다고 할때, 나스닥은 1계약, 오일은 2계약을 매매하고 싶다면, 수식에 계약수설정 수식을 각각 다르게 넣어야 하지요? (이때 설정창의 계약수는 0으로 하면 되나요?) 감사합니다.
프로필 이미지
군고구마
2020-06-08
2153
글번호 139627
시스템