커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

질문드립니다

수고하십니다 지표수식으로 여러 지표라인을 그릴수있으면 겁색수식에서도 다수에 검색신호를 나오게 할수있을까요 에를들어 10일선 20일선을 상향돌파후 13 15 17일선 등 20일선을 상향돌파 발생시 자동으로 차트에 신호표시 됐으면 합니다 항상감사합니다
프로필 이미지
커피한잔
2022-04-19
1150
글번호 158125
검색
답변완료

지표 부탁드립니다

안녕하세요 여쭤볼께 있습니다. 볼린저밴드를 챠트에 설치 했을때 채우기를 보면 중심이평에서 볼밴상단, 중심이평에서 볼밴하단 이렇게 색 채우기가 됩니다. 여기서 이평이 기울기가 변하여 1. 우상향일때 이평과 상단이 색 채우기가 되고 2. 우하향일때 이평과 하단이 색 채우기가 되게 할 수 있는지 여쭤봅니다.
프로필 이미지
라몬
2022-04-18
1269
글번호 158124
지표
답변완료

지표 수식 문의

지표수식 좀 부탁드리겠습니다. 항상 친절히 답변해 주심에 감사드립니다. input : 캔들수(20) ; var : 기준봉조건(False), 경과봉수(0) , 기준가대비하락률(0),상단가격(0), 하단가격(0) ; 기준봉조건 = Highest(H,캔들수)[1] ; if 기준봉조건 Then { 기준가격= H; } else { 경과봉수=경과봉수+1; } 기준가대비하락률= (L-기준가격)/기준가격*100 ; 기준봉 출현이후에 하락하여 기준가대비하락률 이 -10 %보다 더 밑으로 하락했다가 다시 -5%이내로 올라올 때 { 상단가격= 기준가격 ; 하단가격= Highest(기준봉 이후 경과봉의 고가, 경과봉수) } ★ 반드시 -10%보다 더 밑으로 내려갔다가 다시 -5%이내로 들어와야 하고 기준봉 출현이후부터 기준봉고가와 최대한 근접한 캔들의 고가를 하단가격의 지표로 표시하고자 합니다. 이 때 하단가격의 최대값은 기준가격과 같아지는, 즉 기준가대비하락률이 0 이 되는 캔들의 고가입니다. PLOT1( 상단가격) ; PLOT2(하단가격) ;
프로필 이미지
이심전심
2022-04-18
1238
글번호 158123
지표
답변완료

수식 좀 부탁드립니다.

* 많은 도움에 고맙습니다. * 아래 수식에서 점 이 안찍히는데 무엇이 잘못되엇는지 수정 좀 요청 드립니다. 즉 CrossUp(MA(C,5), MA(C,20) ) 신호가 발생할때 최고,최저점을 찾아서 점을 직을려고 합니다 ## 아래 수식 var : TX33(0) , Tx03(0),TX51(0),TX57(0) ; Condition41 = CrossUp(MA(C,5), MA(C,20) ) ; if Condition41 == true Then value51 = H ; value52 = L; if CrossDown( L , value52-PriceScale*5 ) Then {TX33 = Text_New(sdate,stime,C ,"◆"); Text_SetStyle(TX33,0,0); Text_SetColor(TX33, RGB(0,0,255) ); Text_SetSize(TX33,35); } # 아래지표 10이평선 중간선이 60 이평 중간선 50봉중 최저점 상향 돌파시 수평선 좀 부탁 드립니다 즉 10이평 CENTLINE 라인선이 60이평 CENTLINE 라인중 최저점 크로스업 하면 수평선좀 부탁 드립니다 ##INPUT: MALEN(10),CONST(0.8),ATRs(0); VAR: CENTLINE(0), AVGRANGE(0), UPPER(0), LOWER(0); CENTLINE=KeltnerChannel(Close, MALEN, ATRs); AVGRANGE=Ma(TRUERANGE(),MALEN); UPPER=CENTLINE+(AVGRANGE*CONST); LOWER=CENTLINE-(AVGRANGE*CONST); PLOT1(CENTLINE,"CENTLINE"); PLOT2(UPPER,"UPPER"); PLOT3(LOWER,"LOWER"); * 고맙습니다 수고하십시요.
프로필 이미지
요타
2022-04-19
1492
글번호 158122
지표
답변완료

시초가 1회 진입하여 일정 포인트 상승시 청산

마이크로나스닥100선물 거래하고 있습니다. 시초가 진입(매도, 1회)하여 100포인트 이익나면 청산을 하는 자동매매 수식을 구하고자 합니다.
프로필 이미지
발해덕우맨
2022-04-18
1549
글번호 158121
시스템
답변완료

봉완성시 신호발생 및 스탑트레일링

만약 신호발생조건이 open > ma(c,20) then buy 이런식이어도 해당 봉이 완성된 후에야 신호가 발생하는건가요 ? 스탑트레일링이나 스탑로스는 보통 단독으로 그냥 setstoploss(20,pointstop); 이런 식으로 사용하는데, if marketposition == -1 then setstoploss (20,pointstop); if marketposition == -1 then setstoptrailing(20,pointstop); if marketposition == 1 then setstoptrailing(30,pointstop); 포지션에 따라 다른 청산은 불가능한가요 ?
프로필 이미지
초심자의행운
2022-04-18
1221
글번호 158120
시스템
답변완료

수식문의

안녕하세요, 선생님, 분봉챠트: 메인챠트에 3종목있고(data1, data2, data3) 아래 참조데이터 data4. data5 data6 있습니다. 문의: data4, data5, data6 종목의 전일시가들을 메인챠에서 출력. 감사합니다.
프로필 이미지
jw
2022-04-18
1129
글번호 158119
지표
답변완료

선긋기 문의2

네, 선긋는 방법은 알겠습니다. 그런데, 이번 화면처럼 2종목을 같은 화면에 불러서 각각의 선을 긋는 지표수식를 부탁드립니다. 감사합니다. > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 선긋기 문의 > 안녕하세요 예스스탁입니다. 수식에서 수평선으로 처리하기 위해서는 추세선함수를 이용해야 합니다. 추세선함수가 미완성봉의 값은 그리지 못하며 최종 완성봉(다음봉시가수신)기준으로만 그릴수 있습니다. 차트상 가장 마지막봉 기준으로는 그리지 못합니다. 마지막 완성봉기준으로 그리신다면 아래식 사용하시면 됩니다. var : TL(0); var1 = ma(C,20); TL_Delete(TL); TL = TL_New(sDate,sTime,var1,NextBarSdate,NextBarStime,var1); TL_SetExtLeft(TL,true); TL_SetColor(TL,Green); 즐거운 하루되세요 > kimfeel 님이 쓴 글입니다. > 제목 : 선긋기 문의 > 안녕하세요, 아래 그림처럼 선이 분봉에 따라 변하면서 그려진 값이 그대로 있는 것이 아닌, 최종값으로 일정하게 그리는 방법 문의드립니다. (시간 지나서 분봉최종값이 변하면 선값은 변하겠죠) 감사합니다.
프로필 이미지
kimfeel
2022-04-18
1361
글번호 158118
지표
답변완료

수식 질문드립니다.

if exitb!=0 Then text_New(sDate,sTime,L,"준비"); 여기서 글씨 위치를 한칸더 아래나 더 위로 바꿀수없을까요?? 감사합니다.
프로필 이미지
캣피쉬
2022-04-18
1283
글번호 158108
지표
답변완료

CT를 YT로 변환 오류 검토 부탁드립니다.

항상 감사 드립니다. 아래 수식 두 개 검토 부탁드립니다. /* #======================================================# # YT <수식 3-21> 분차트를 이용한 단기매매전략 # SS_RangeBreak(v 0.2) # 10분봉, 2000/01/04 ~ 2003/09/30 #======================================================# 의문점 방향성 청산에 Var1 이 사용되었는데, Var1은 아래 식으로 한정이 되어 있다. 값을 가져 올 수 없다. If method == 0 then Var1=dayhigh(1)-daylow(1) ; // 전일 range 미작동 매수 진입/청산만 작동하고 , 매도 진입/청산은 작동하지 않는다. 청산식이 매수추적스탑만 나온다 . 매도진입이 없으니 매도추적스탑은 당근 없고 시가청산, 당일청산loss 가 작동하지 않는다. 그러면, 원 수식의 블록{ } 지정 오류인 것인가 컨버젼의 블록{ } 지정 오류인 것인가 #======================================================# # YT <수식 3-22> 일간차트를 이용한 단기매매 전략 # 이름: S_Rangebreak(v 0.2) # 체크 대상 : Setbarback, open[-1], I_MarketPosition, i_Entryprice #======================================================# /* # 체크 대상 : Setbarback, open[-1], I_MarketPosition, i_Entryprice SetBarBack : [설명] 실시간에서 현재 봉 시가를 이용해 현재 봉에 주문실행이 가능하도록 설정 예문 : 미래값 참조(open(-1)) 실시간 실전매매에서 일봉상의 금일저가보다 내일시가가 100원 떨어져서 시작하면 매수하라는 예 Setbarback If low >= open(-1) + 100 Then Call buy("매수", Atmarket) End If CT 에서는 Setbarback 함수가 있는데, YT에서는 없는 것 같다. 대체를 할 수 있는 함수나 문법스킬은 무엇인가, 1일봉전 참조하면 되지 않는가? (DATA2) open[-1] : YT에서 미래봉 참조가 가능한가? I_MarketPosition CT는 전체 수식 영역에서 사용가능하나, YT는 전략식에서는 사용불가 , 대체방법은? 전략식에서 MarketPosition 으로 충분하지 않은가, I_MarketPosition을 사용하는 이유는? i_Entryprice */ /* #======================================================# # CT <수식 3-21> 분차트를 이용한 단기매매전략 # SS_RangeBreak(v 0.2) # 10분봉, 2000/01/04 ~ 2003/09/30 #======================================================# <수식 3-21> 분차트를 이용한 단기매매전략 영역: 전략 이름: SS_RangeBreak(v 0.2) Input: len(0.37), atrlen(20), len1(3.2), entrystart(920), entrylimit(1430), dayin(3), method(0) ‘기본식------------------------------------------------------------- Ifmethod=0 then Var1=highd(1)-lowd(1) Cond1=exitname(1)="매수추적스탑"Andtdate=exitdate(1)Andtdate=Entrydate(1)_ Andexitprice(1)>opend+Var1*len Cond2=exitname(1)="매도추적스탑"Andtdate=exitdate(1)Andtdate=Entrydate(1)_ Andexitprice(1)<opend-Var1*len Cond3=exitname(1)="매수추적스탑"Andtdate=exitdate(1)Andtdate<>Entrydate(1)_ Andexitprice(1)>opend+Var1*len Cond4=exitname(1)="매도추적스탑"Andtdate=exitdate(1)Andtdate<>Entrydate(1)_ Andexitprice(1)<opend-Var1*len If ttime>Entrystart And ttime<Entrylimit Then IfCond1=False And Cond3=False Then Callbuy("매수",Atstop,Def,opend+Var1*len) EndIf IfCond2=False And Cond4=False Then Callsell("매도",Atstop,Def,opend-Var1*len) EndIf EndIf If position<>0 Then Callexitlong("매수추적스탑",Atstop,hhv(1,high,barnumsinceEntry+1)-atr(atrlen)*len1) Callexitshort("매도추적스탑",Atstop,llv(1,low,barnumsinceEntry+1)+atr(atrlen)*len1) EndIf ‘손실발생당일청산----------------------------------------------------- Elseif method=1 or method=2 or method=3 then If ttime =1450 And position<>0 Then ‘2시50분에포지션이 있다면 If position=1 And Entryprice > close Then ‘진입가격보다종가가낮다면 Callexitlong("당일청산",Atmarket) EndIf Ifposition=-1 And Entryprice<close Then Callexitshort("당일청산",Atmarket) EndIf EndIf ‘방향성청산---------------------------------------------------------- Elseif method=2 or method=3 then If ttime=1450 And position<>0 Then Ifposition=1 And (opend-Var1*len>lowdOrEntryprice>close) Then Callexitlong("당일청산",Atmarket) EndIf Ifposition=-1 and (opend+var1*len<highdorEntryprice<close)Then Callexitshort("당일청산",Atmarket) EndIf EndIf ‘ProfitableOpenStop--------------------------------------------------- Elseif method=3 then If position=0 Then ‘날짜변경을카운트하기위한식 Var50=0 ‘초기화 EndIf If tdate<>tdate(1) And position<>0 Then ‘포지션이있으면서날짜가변경되면 Var50=Var50 +1 ‘카운트를 1씩증가시킨다. EndIf If Var50=dayin And tdate<>tdate(1) And position<>0 Then ‘카운트가 지정한숫자가 되면 If Entryprice < opend Then ‘진입가격보다시가가크면 Callexitlong("시가청산",Atmarket) ‘청산 EndIf If Entryprice>opend Then Callexitshort("시가청산",Atmarket) EndIf EndIf EndIf */ #======================================================# # YT <수식 3-21> 분차트를 이용한 단기매매전략 # SS_RangeBreak(v 0.2) # 10분봉, 2000/01/04 ~ 2003/09/30 #======================================================# Input: len(0.37), atrlen(20), len1(3.2), entrystart(092000), entrylimit(143000), dayin(3), method(0) ; //'기본식------------------------------------------------------------- //If method == 0 then Var1=dayhigh(1)-daylow(1) ; // 전일 range Condition1= exitname(1) == "매수추적스탑" And date == exitdate(1) And date == Entrydate(1) And exitprice(1)>dayopen+Var1*len ; Condition2= exitname(1) == "매도추적스탑" And date == exitdate(1) And date == Entrydate(1) And exitprice(1)<dayopen-Var1*len ; Condition3= exitname(1) == "매수추적스탑" And date == exitdate(1) And date <> Entrydate(1) And exitprice(1)>dayopen+Var1*len ; Condition4= exitname(1) == "매도추적스탑" And date == exitdate(1) And date <> Entrydate(1) And exitprice(1)<dayopen-Var1*len ; If Entrystart < time And time < Entrylimit Then { If Condition1 == False And Condition3==False Then buy("매수",Atstop,dayopen+Var1*len) ; If Condition2 == False And Condition4==False Then sell("매도",Atstop,dayopen-Var1*len) ; } If MarketPosition<>0 Then { exitlong("매수추적스탑",Atstop,NthHighest(1,high,BarsSinceEntry+1)-atr(atrlen)*len1) ; exitshort("매도추적스탑",Atstop,NthLowest(1,low,BarsSinceEntry+1)+atr(atrlen)*len1) ; } //'손실발생당일청산----------------------------------------------------- //Else if method == 1 Or method == 2 Or method == 3 then { if method == 1 Or method == 2 Or method == 3 then { If time ==145000 And MarketPosition<>0 Then { //'2시50분에포지션이 있다면 If MarketPosition==1 And Entryprice > close Then //'진입가격보다종가가낮다면 exitlong("당일청산lloss",Atmarket) ; If MarketPosition == -1 And Entryprice<close Then exitshort("당일청산sloss",Atmarket) ; } } //'방향성청산---------------------------------------------------------- Else if method == 2 Or method == 3 then { If time==145000 And MarketPosition<>0 Then { If MarketPosition == 1 And (dayopen-Var1*len>daylow Or Entryprice>close) Then exitlong("당일청산ldirection",Atmarket) ; If MarketPosition == -1 And (dayopen+var1*len<dayhigh Or Entryprice<close) Then exitshort("당일청산sdirection",Atmarket) ; } } //'ProfitableOpenStop--------------------------------------------------- Else if method == 3 then { If MarketPosition==0 Then //'날짜변경을 카운트하기 위한 식 Var50=0 ; //'초기화 If date<>date[1] And MarketPosition<>0 Then //'포지션이 있으면서 날짜가 변경되면 Var50=Var50 +1 ; //'카운트를 1씩증가시킨다. If Var50==dayin And date<>date[1] And MarketPosition<>0 Then { //'카운트가 지정한숫자가 되면 If Entryprice < dayopen Then //'진입가격보다 시가가 크면 exitlong("시가청산l",Atmarket) ; //'청산 If Entryprice > dayopen Then exitshort("시가청산s",Atmarket) ; } } /* #======================================================##======================================================# #======================================================# # CT <수식 3-22> 일간차트를 이용한 단기매매 전략 # 이름: S_Rangebreak(v 0.2) # 일봉, 2000/01/04 ~ 2003/09/30 #======================================================# Input: len(0.4), atrlen(3), profitlen(2), stoplen(4), len1(21), method(0) ‘진입전략------------------------------------------------------------ Var1=high-low ‘시가고가의 거리= range Setbarback ‘ 주문발생시점 한봉전으로 If open(-1)<=open then ‘내일시가가오늘 시가보다적거나같으면 Callbuy("매수",Atstop,Def,open(-1)+var1*len) Endif If open(-1)>open then ‘내일 시가가오늘시가보다크면 Callsell("매도",Atstop,Def,open(-1)-var1*len) Endif Ifmethod=1then ‘시가청산조건식------------------------------------------------------- Ifi_position<>i_position(1)Then Var10=0‘초기화 Var11=0‘초기화 EndIf Ifi_position=1Andopen(-1)>=i_Entryprice+atr(atrlen)Then ‘현재매수상태이며진입이후 시가가진입가보다일정수준 이상이면 Var10=var10+1 ‘var10을1씩증가 ElseIfi_position=-1Andopen(-1)<=i_Entryprice-atr(atrlen)Then ‘현재매도상태이며진입이후 시가가진입가 보다일정수준 이하이면 Var10=var10+1 ‘var10을1씩증가 EndIf Ifi_position=1Andopen(-1)<=i_Entryprice Then ‘현재매수상태이며진입이후 시가가진입가 보다일정수준 이하이면 Var11=var11+1 ‘var11을1씩증가 elseIfi_position=-1Andopen(-1)>=i_EntrypriceThen ‘현재매도상태이며진입이후 시가가진입가 보다일정수준 이상이면 Var11=var11+1 ‘var11을1씩증가 EndIf ‘수익발생시가청산----------------------------------------------------- Ifposition=1Then IfVar10=profitlenThen Callexitlong("시가청산",Atmarket) EndIf Elseifposition=-1Then IfVar10=profitlenThen Callexitshort("시가청산",Atmarket) EndIf EndIf ‘손실발생시가청산----------------------------------------------------- Ifposition=1Then IfVar11=stoplenThen Callexitlong("손실청산",Atmarket) EndIf Elseifposition=-1Then IfVar11=stoplenThen Callexitshort("손실청산",Atmarket) EndIf EndIf ‘ATR추적스탑-------------------------------------------------------- Ifposition=1Then Callexitlong("추적스탑",Atstop,hhv(1,high,i_barnumsinceEntry+1)-atr(atrlen)*len1) Elseifposition=-1Then Callexitshort("추적스탑",Atstop,llv(1,low,i_barnumsinceEntry+1)+atr(atrlen)*len1) EndIf EndIf */ #======================================================# # YT <수식 3-22> 일간차트를 이용한 단기매매 전략 # 이름: S_Rangebreak(v 0.2) # 일봉, 2000/01/04 ~ 2003/09/30 # 체크 대상 : Setbarback, open[-1], I_MarketPosition, i_Entryprice #======================================================# Input: len(0.4), atrlen(3), profitlen(2), stoplen(4), len1(21), method(0) ; //‘진입전략------------------------------------------------------------ Var1=high-low ; //‘시가고가의 거리= range #Setbarback ; //‘ 주문발생시점 한 봉전으로 #Setbarback ; // YT에서 대체할 수 있는 방법은? 왜 쓰는가? 참조나 index로 제어가 안되는가? ### open[-1] YT에서 내일시가란 개념이 없는것 같은데 If open[-1] <= open then //‘내일시가가 오늘시가보다 적거나 같으면 buy("매수", Atstop, open[-1]+var1*len) ; If open[-1] > open then //‘내일시가가 오늘시가보다 크면 sell("매도",Atstop, open[-1]-var1*len) ; If method == 1 Then { //‘시가청산조건식------------------------------------------------------- // If I_MarketPosition <> I_MarketPosition(1) Then { If MarketPosition <> MarketPosition(1) Then { Var10=0 ; //‘초기화 Var11=0 ; //‘초기화 } /* If I_MarketPosition == 1 And open[-1] >= i_Entryprice+atr(atrlen) Then //‘현재매수상태이며진입이후 시가가진입가보다일정수준 이상이면 Var10=var10+1 ; //‘var10을1씩증가 Else If I_MarketPosition ==-1 And open[-1] <= i_Entryprice-atr(atrlen) Then //‘현재매도상태이며진입이후 시가가진입가 보다일정수준 이하이면 Var10=var10+1 ; //‘var10을1씩증가 If I_MarketPosition == 1 And open[-1] <= i_Entryprice Then //‘현재매수상태이며진입이후 시가가진입가 보다일정수준 이하이면 Var11=var11+1 ; //‘var11을1씩증가 Else If I_MarketPosition ==-1 And open[-1] >= i_Entryprice Then //‘현재매도상태이며진입이후 시가가진입가 보다일정수준 이상이면 Var11=var11+1 ; //‘var11을1씩증가 */ If MarketPosition == 1 And open[-1] >= Entryprice+atr(atrlen) Then //‘현재매수상태이며진입이후 시가가진입가보다일정수준 이상이면 Var10=var10+1 ; //‘var10을1씩증가 Else If MarketPosition ==-1 And open[-1] <= Entryprice-atr(atrlen) Then //‘현재매도상태이며진입이후 시가가진입가 보다일정수준 이하이면 Var10=var10+1 ; //‘var10을1씩증가 If MarketPosition == 1 And open[-1] <= Entryprice Then //‘현재매수상태이며진입이후 시가가진입가 보다일정수준 이하이면 Var11=var11+1 ; //‘var11을1씩증가 Else If MarketPosition ==-1 And open[-1] >= Entryprice Then //‘현재매도상태이며진입이후 시가가진입가 보다일정수준 이상이면 Var11=var11+1 ; //‘var11을1씩증가 //‘수익발생시가청산----------------------------------------------------- If MarketPosition == 1 Then If Var10 == profitlen Then exitlong("시가청산L",Atmarket) ; Else If MarketPosition == -1 Then If Var10 == profitlen Then exitshort("시가청산S",Atmarket) ; //‘손실발생시가청산----------------------------------------------------- If MarketPosition == 1 Then If Var11 == stoplen Then exitlong("손실청산L",Atmarket) ; Else If MarketPosition == -1 Then If Var11 == stoplen Then exitshort("손실청산S",Atmarket) ; //‘ATR추적스탑-------------------------------------------------------- If MarketPosition == 1 Then exitlong("추적스탑L",Atstop,NthHighest(1,high,BarsSinceEntry+1)-atr(atrlen)*len1) ; Else If MarketPosition == -1 Then exitshort("추적스탑S",Atstop,NthLowest(1,low,BarsSinceEntry+1)+atr(atrlen)*len1) ; }
프로필 이미지
목포댁
2022-04-18
1290
글번호 158107
시스템