답변완료
수식 부탁 드립니다
#,안녕하세요
상기 그림파일 참조하여 우축 추세선 수식을 부탁드립니다.
*,당일(D)
1,첫시작 볼밴 상단밴드 최고점을 당일Y축까지 그리기
2,첫시작 볼밴 하단밴드 최저점을 당일Y축까지 그리기
*,전일(D-1)
3,첫시작 볼밴 상단밴드 최고점을 익일 Y축까지 그리기
4,첫시작 볼밴 하단밴드 최저점을 익일 Y축까지 그리기
(PS : D 와 D-1 의 추세선 생성 여부를 변수로 조절하면 좋겠습니다)
Input : Period(20), MultiD(2);
var : MAv(0),BBup(0),BBdn(0);
MAv = ma(C,Period);
BBup = BollBandUp(Period,MultiD);
BBdn = BollBandDown(Period,MultiD);
Plot1(MAv, "이평");
Plot2(BBup, "상단밴드");
Plot3(BBdn, "하단밴드");
$, 언제나 늘 고맙습니다.
2025-02-07
518
글번호 187880
지표
답변완료
사용자 함수를 사용하여 지표에 표현
1. _01_최저누적매수량_2025_CWY_v01.yfu
- 사용자 함수로 2400bar 기간동안 개인 최저 누적수량을 구하여
"기간최저보유수량_개인"을 구한다.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
input : 최대기간(Numeric), 기간최저보유수량_개인(NumericRef) ;
var : 일순매수량_개인(0), 일누적매수량_개인(0), 최고보유수량_개인(0) ;
# 순매수수량 외부 참조 데이터 : 최대 2400 bar이하로 설정 ******************************
일순매수량_개인 = data2(C);
일누적매수량_개인 = 일누적매수량_개인 + 일순매수량_개인 ;
기간최저보유수량_개인 = min(기간최저보유수량_개인,일누적매수량_개인);
_01_최저누적매수량_2025_CWY_v01 = 1;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2. #01_01_개인누적지표.yin
- 2400bar동안 누적개인 보유수량이 -값이 나오지 않도록 사용자함수에서
구한 "기간최저보유수량_개인"의 값을 이용하여 최기 수량에 "최저수량보정_개인"으로
보정을 하여 누적을 하더라도 음수는 나오지 않게 하려고 합니다.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
var : 최대기간(2400), 기간최저보유수량_개인(0) ;
var : 일순매수량_개인(0), 일누적매수량_개인(0), 최고보유수량_개인(0), 최저수량보정_개인(0) ;
_01_최저누적매수량_2025_CWY_v01(최대기간, 기간최저보유수량_개인);
# 순매수수량 외부 참조 데이터 : 최대 2400 bar이하로 설정 ******************************
일순매수량_개인 = data2(C);
일누적매수량_개인 = 일누적매수량_개인 + 일순매수량_개인 ;
If 기간최저보유수량_개인 < 0 Then
최저수량보정_개인 = - 기간최저보유수량_개인 ;
Else 최저수량보정_개인 = 0;
If Index == 0 Then
일누적매수량_개인 = 일순매수량_개인 + 최저수량보정_개인 ;
Else 일누적매수량_개인 = 일누적매수량_개인 + 일순매수량_개인 ;
Plot1(일순매수량_개인, "일순매수량_개인[일/화]", Rgb(000,100,000), Def, 1);
Plot2(일누적매수량_개인, "일누적매수량_개인[일/화]", Rgb(000,250,000), Def, 1);
Plot3(기간최저보유수량_개인, "기간최저보유수량_개인[일/화]", Rgb(000,000,250), Def, 1);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3. 1의 마지막 값만 가져와 2.의 초기의 "최저수량보정_개인"에만 한번만 계산이 되어
적용이 되는 수식을 작성하고 싶은데 잘 되지 않습니다.
4. 가능하면 사용할 수 있도록 검토 부탁드립니다.
2025-02-06
422
글번호 187879
사용자 함수
답변완료
문의 드립니다
input : StartTime(80000),EndTime(60000),Xtime(60000);
var : Tcond(false),entry(0);
if sdate != sDate[1] Then
SetStopEndofday(Xtime);
if (sdate != sdate[1] and stime >= EndTime) or
(sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then
Tcond = False;
if (sdate != sdate[1] and stime >= StartTime) or
(sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then
{
Tcond = true;
SetStopEndofday(0);
entry = 0;
}
if (MarketPosition != 0 and MarketPosition != MarketPosition[1]) or
(MarketPosition == MarketPosition[1] and TotalTrades > TotalTrades[1]) Then
entry = entry+1;
Inputs: VtyPercent(0.10),ATRperiod(1);
input : P1(1),P2(3);
var : m1(0),m2(0);
m1 = ma(C,P1);
m2 = ma(C,P2);
If MarketPosition() <> 1 and m1 > m2 Then
Buy ("Vty_LE1", AtStop, Close + (VtyPercent * ATR(ATRperiod)));
If MarketPosition() <> -1 Then
ExitLong ("Vty_SE1)", AtStop, Close - (VtyPercent * ATR(ATRperiod)));
If MarketPosition() <> 1 and m1 > m2 Then
Buy ("Vty_LE2", AtStop, Close + (VtyPercent * ATR(ATRperiod)));
If MarketPosition() <> -1 Then
ExitLong ("Vty_SE2)", AtStop, Close - (VtyPercent * ATR(ATRperiod)));
If MarketPosition() <> 1 and m1 > m2 Then
Buy ("Vty_LE3", AtStop, Close + (VtyPercent * ATR(ATRperiod)));
If MarketPosition() <> -1 Then
ExitLong ("Vty_SE3)", AtStop, Close - (VtyPercent * ATR(ATRperiod)));
If MarketPosition() <> 1 and m1 > m2 Then
Buy ("Vty_LE4", AtStop, Close + (VtyPercent * ATR(ATRperiod)));
If MarketPosition() <> -1 Then
ExitLong ("Vty_SE4)", AtStop, Close - (VtyPercent * ATR(ATRperiod)));
If MarketPosition() <> 1 and m1 > m2 Then
Buy ("Vty_LE5", AtStop, Close + (VtyPercent * ATR(ATRperiod)));
If MarketPosition() <> -1 Then
ExitLong ("Vty_SE5)", AtStop, Close - (VtyPercent * ATR(ATRperiod)));
하나의 캔들에 진입 청산후 또 동일조건이 왔을때 신호 허용이 가능하지요 ?
-----------------------------------------
input : StartTime(192000),EndTime(52000);
input : 익절틱수(0),손절틱수(0);
var : Tcond(False),entry(0);
Variables: Mom(0);
IF Endtime > starttime Then
SetStopEndofday(Endtime);
Else
{
if sDate != sDate[1] Then
SetStopEndofday(Endtime);
}
if (sdate != sdate[1] and stime >= StartTime) or
(sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then
{
Tcond = true;
IF Endtime <= starttime Then
{
SetStopEndofday(0);
}
}
if (sdate != sdate[1] and stime >= EndTime) or
(sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then
{
Tcond = False;
}
if Tcond == true Then
{
if L ==lowest(L,2) and highest(H,2) >= lowest(L,2)+PriceScale*1 Then
{
Buy("b",AtStop,(highest(H,2)+lowest(L,2))/2);
}
if MarketPosition == 1 and BarsSinceEntry == 9 Then
ExitShort();
}
if H == highest(H,2) and lowest(L,2) <= highest(H,2)+PriceScale*1 Then
{
Sell("s",AtStop,(lowest(L,2)+highest(H,2))/2);
}
if MarketPosition == -1 and BarsSinceEntry == 9 Then
ExitLong();
수식의 해석을 부탁드립니다.
2025-02-07
389
글번호 187877
시스템
답변완료
문의 드립니다.
선생님~
화면에 하이킨 아시 캔들은 표현되지 않아도 됩니다. 제가 원하는건 하이킨 아시 캔들을
바탕으로 한 스무스 하이킨 아시가 적용된 지표 1개만 표시되면 되는데 이 수식은 가능한
가요?
같은 말로 표현하면 일반 캔들이 아닌 하이킨아시 캔들을 아래의 스무스 하이킨아시
수식으로 적용시킨 강조식을 표현 부탁 드립니다.
기간값은 (36)으로 하구요. 항상 감사드립니다.
input : len(36),len2(36);
var : oo(0),cc(0),hh(0),ll(0),col(0);
var : haclose(0),haopen(0),hahigh(0),halow(0);
var : o2(0),h2(0),l2(0),c2(0);
oo=ema(open,len);
cc=ema(close,len);
hh=ema(high,len);
ll=ema(low,len);
haclose = (oo+hh+ll+cc)/4;
haopen = iff(IsNaN(haopen[1]) == true, (oo + cc)/2 , (haopen[1] + haclose[1]) / 2);
hahigh = max (hh, max(haopen,haclose));
halow = min (ll, min(haopen,haclose));
o2=ema(haopen, len2);
c2=ema(haclose, len2);
h2=ema(hahigh, len2);
l2=ema(halow, len2);
col=iff(o2>c2 , red , lime);
PlotPaintBar(h2, l2,o2,c2, "heikin smoothed", col);
2025-02-06
392
글번호 187873
강조