답변완료
문의 드립니다.
안녕하세요
항상 감사드립니다.
아래의 서식에서 추가 서식 부탁드립니다.
*진입조건추가
1. 이동평균선(20일) 위에서는 매수, 아래에서는 매도 만 진입
2. RSI(9) 50이상일때 매수 진입, 50이하일때 매도 만 진입
3. MACD 라인이 시그널라인 위에 있을때 매수, 아래에 있을때 매도 진입
4. ATR 2 이상일때만 진입
5. 진입후 고점대비 5포인트 이상 하락시 1/2(절반) 익절
1,2,3,4,5번 모두 최적화를 위해 input에 넣어주세요
감사합니다.
# KOSPI 선물 10분봉
input: 당일진입횟수(3);
Input: chkP(3), reChkP(10), stopChk(20);
var: HH(0), LL(0), BS(0), SS(0);
var: dayChk(0);
var : TotalCount(0),PreDay(0),DayEntry(0);
TotalCount = TotalTrades;
if Bdate != Bdate[1] Then
PreDay = TotalCount[1];
DayEntry = (TotalCount-PreDay)+IFF(MarketPosition != 0,1,0);
if BarIndex == 0 then ClearDebug();
if dayindex == chkP then
{
HH = Highest(Max(C,O), chkP+1);
LL = Lowest(Min(C,O), chkP+1);
#if date == 20240612 then messageLog("--HH %.2f, LL: %.2f", HH, LL);
}
#if High >= HH and MarketPosition == 0 and ExitDate(1) < Date and time > 93000 then messageLog("HH %.2f, High: %.2f", HH, High);
if DayIndex >= chkP
# and Time < 95000
and sDate == NextBarSdate
and EntryDate(0) < Date
and EntryDate(1) < Date
and DayEntry < 당일진입횟수
Then {
Buy("B1", AtStop, HH);
Sell("S1", AtStop, LL);
}
//if dayChk == 0 and High >= HH and MarketPosition == 0 and ExitDate(1) < Date and time > 93000 then {
// messageLog("HH %.2f, High: %.2f", HH, High);
// dayChk = 1;
//}
if ExitDate(1) == Date
and Time < 150000
// and LatestEntryName(1) != "B2"
// and LatestEntryName(1) != "S2"
// and LatestEntryName(0) != "B2"
// and LatestEntryName(0) != "S2"
Then
{
if DayIndex < reChkP Then
{
HH = Highest(Max(C,O), DayIndex+1);
LL = Lowest(Min(C,O), DayIndex+1);
}
Else
{
HH = Highest(Max(C,O), reChkP);
LL = Lowest(Min(C,O), reChkP);
}
if DayEntry < 당일진입횟수 Then
{
Buy("B2", AtStop, HH);
Sell("S2", AtStop, LL);
}
}
if (MarketPosition == 1) Then {
if DayIndex < stopChk Then {
BS = Lowest(Min(C,O), DayIndex+1);
}
Else {
BS = Lowest(Min(C,O), stopChk);
}
ExitLong("EL", AtStop, BS);
}
if (MarketPosition == -1) Then {
if DayIndex < stopChk Then {
SS = Highest(Max(C,O), DayIndex+1);
}
Else {
SS = Highest(Max(C,O), stopChk);
}
#messageLog(" SS %.2f", SS);
ExitShort("ES", AtStop, SS);
}
var : month(0),nday(0),week(0),X(False);
month = int(date/100)-int(date/10000)*100;
nday = date - int(date/100)*100;
Week = DayOfWeek(date);
#만기일
if (month%3 == 0 and nday >= 8 and nday <= 14 and week == 4) then
{
X = true;
SetStopEndofday(151500);
}
Else#만기일아닐때
{
X = False;
SetStopEndofday(152000);
}
2025-06-05
315
글번호 191429
지표
답변완료
지표식인대 시스템 신호 부탁 드립니다.-4
input : P(5);
if C > O Then
var1 = v;
Else if C < O Then
var1 = -v;
Else
var1 = 0;
var2 = AccumN(var1,P);
plot1(var2,"지표",iff(var2>var2[1],RED,BLUE));
PlotBaseLine1(300,"+기준");
PlotBaseLine2(-300,"-기준");
PlotBaseLine3(0,"0");
기준선 아래로 가면 매도 신호 기준선 위면 매수 신호로 부탁 드립니다.
연휴 전날인데 이렇게 많이 올려 죄송합니다. 수고하세요.^^;; 부탁 드립니다.
2025-06-05
230
글번호 191428
시스템
답변완료
지표식인대 시스템 신호 부탁 드립니다.-3
INPUT:P1(1), TH(1.5),P2(2);
VAR: TRV(0), BULL(0), BEAR(0), BULLP(0), BEARP(0),BPO(0);
TRV= V/ATR(P1);
BULL =
Iff( C < O, Iff( C[1] < O, Max( H - C[1], C - L ), Max( H - O, C - L ) ),
Iff( C > O, Iff( C[1] > O, H - L, Max( O - C[1], H - L ) ),
Iff( H - C > C - L, Iff( C[1] < O, Max( H - C[1], C - L ), H - O ),
Iff( H - C < C - L, Iff( C[1] > O, H - L, Max( O - C[1], H - L ) ),
Iff( C[1] > O, Max( H - O, C - L ),
Iff( C[1] < O, Max( O - C[1], H - L ), H - L ) ) ) ) ) );
BEAR =
Iff( C < O,
Iff( C[1] > O, Max( C[1] - O, H - L ), H-L ),
Iff( C > O, Iff( C[1] > O, Max( C[1] - L, H - C ),Max( O - L, H - C ) ),
Iff( H - C > C - L, Iff( C[1] > O, Max( C[1] - O, H - L ),H - L ),
Iff( H - C < C - L,Iff( C[1] > O, Max( C[1] - L, H - C ),O - L ),
Iff( C[1] > O, Max( C[1] - O, H - L ),
Iff( C[1] < O,Max( O - L, H - C ), H - L ) ) ) ) ) ) ;
BULLP=MA(BULL,P2);
BEARP=MA(BEAR,P2);
BPO=BULLP/BEARP ;
PLOT1(BEARP, "매도");
PLOT2(BULLP, "매수");
IF TRV[1]>0 AND TRV/TRV[1]>TH AND BPO<1 THEN PLOT3(BULLP, "매수 대기신호");
IF TRV[1]>0 AND TRV/TRV[1]>TH AND BPO>1 THEN PLOT4(BEARP, "매도 대기신호");
PlotBaseLine1(0.05000);
PlotBaseLine2(0.04000);
PlotBaseLine3(0.06000);
감사합니다 수고하세요.
2025-06-05
230
글번호 191427
시스템
답변완료
지표식인대 시스템 신호 부탁 드립니다.-2
input : P1(10),P2(9),P3(5);
var1 = (highest(H,P1)+lowest(L,P1))/2;
var2 = (highest(H,P2)+lowest(L,P2))/2;
var3 = (highest(H,P3)+lowest(L,P3))/2;
if var1 > var1[1] Then
value1 = 1;
if var1 < var1[1] Then
value1 = -1;
if var2 > var2[1] Then
value2 = 1;
if var2 < var2[1] Then
value2 = -1;
if var3 > var3[1] Then
value3 = 1;
if var3 < var3[1] Then
value3 = -1;
if value1 == 1 Then
plot1(var1,"기준선1",RED);
Else
plot1(var1,"기준선1",BLUE);
if value2 == 1 Then
plot2(var2,"기준선2",RED);
Else
plot2(var2,"기준선2",BLUE);
if value3 == 1 Then
plot3(var3,"기준선3",RED);
Else
plot3(var3,"기준선3",BLUE);
감사합니다. 수고하세요.
2025-06-05
205
글번호 191426
시스템
답변완료
지표식인대 시스템 신호 부탁 드립니다.-1
input : sto1(12),sto2(26),sto3(9);
var : Stochasticsfast(0),Stochasticsslow(0),StochasticssOsc(0);
StochasticsFast = (C-lowest(L,sto1))/(highest(H,sto1)-lowest(L,sto1))*100;
Stochasticsslow = AccumN(C-lowest(L,sto1),sto2)/AccumN((highest(H,sto1)-lowest(L,sto1)),sto2)* 100;
StochasticssOsc = ema(Stochasticsfast,sto2)-ema(Stochasticsslow,sto3);
if StochasticssOsc > 0 Then
plot1(StochasticssOsc,"osc",RED);
Else
plot1(StochasticssOsc,"osc",BLUE);
PlotBaseLine1(0);
PlotBaseLine2(20);
PlotBaseLine3(-20);
PlotBaseLine4(15);
PlotBaseLine5(-15);
PlotBaseLine6(5);
PlotBaseLine7(-5);
감사 합니다.
2025-06-05
213
글번호 191425
시스템
답변완료
수식 수정좀 부탁드려요
안녕하세요.
아래 수식이 원하는대로 작동은 하는데, 박스가 그려질때 세로줄이 생기는게
신경쓰여서 수정을 해보려고 해도 잘안돼네요.
세로줄이 생기지 않도록 수정좀 부탁드려요.
공부를 위해 왜 세로줄이 생겼는지, 해결은 어떻게 되는건지 주석좀 남겨주시면
감사드립니다.
input : st(240),sel(1);
var : cnt(0),ut(0),dt(0),uv(0),dv(0),calcu(0),calcd(0),calcu1(0);
var : uth(0),utl(0),dth(0),dtl(0),ccu(0),ccd(0),sdte(0),sdtt(0),edte(0),edtt(0);
var : ubox1(0),ubox2(0),ubox3(0),ubox4(0),ubox5(0),dbox1(0),dbox2(0),dbox3(0),dbox4(0),dbox5(0);
array : uh[20](0),ul[20](0),dh[20](0),dl[20](0),uc[20](0);;
ut = Upticks;
dt = Downticks;
uv = Upvol;
dv = DownVol;
if sel == 1 Then
{
calcu = ut * uv;
}
if sel == 2 Then
{
calcu = Ticks * Volume;
}
calcd = dt * dv;
if BarIndex%st == 0 Then
{
uth = 0;
utl = 0;
ccu = 0;
//dte = 0;
//dtt = 0;
uh[0] = h;
ul[0] = l;
edte = sdate;
edtt = stime;
}
if calcu > ccu Then
{
uth = h;
utl = l;
ccu = calcu;
sdte = sdate;
sdtt = stime;
For cnt = 1 to 19
{
uh[cnt] = uh[cnt-1][1];
ul[cnt] = ul[cnt-1][1];
uc[cnt] = uc[cnt-1][1];
}
}
Else
{
if ccu > uc[0] Then
uh[0] = uth;
ul[0] = utl;
uc[0] = ccu;
//sortArray(uc,19,1);
//SortArray(ul,20,1);
}
ubox1 =
Box_New(sdate,stime,uh[0],NextBarSdate,NextBarStime,ul[0]);
Box_SetColor(ubox1,Red);
Box_SetFill(ubox1,true);
ubox2 =
Box_New(sdate,stime,uh[1],NextBarSdate,NextBarStime,ul[1]);
Box_SetColor(ubox2,Blue);
Box_SetFill(ubox2,true);
ubox3 =
Box_New(sdate,stime,uh[2],NextBarSdate,NextBarStime,ul[2]);
Box_SetColor(ubox3,Black);
Box_SetFill(ubox3,true);
2025-06-05
269
글번호 191424
지표
답변완료
수식 부탁드립니다
지표식 부탁 드립니다.
//@version=5
indicator("HTF Ribbon", overlay = false)
// ───── INPUTS ─────
length = input.int(10, "Trend Length", minval = 1)
htf_tf = input.timeframe("", "HTF Timeframe")
htf_color_up = input.color(#00ffaa, "HTF Up Color")
htf_color_dn = input.color(#e91e63, "HTF Down Color")
// ───── FUNCTION: HTF TREND ─────
getHTFTrend(tf, len) =>
atr = request.security(syminfo.tickerid, tf, ta.sma(ta.atr(200), 200)) * 0.8
smaHigh = request.security(syminfo.tickerid, tf, ta.sma(high, len)) + atr
smaLow = request.security(syminfo.tickerid, tf, ta.sma(low, len)) - atr
crossUp = request.security(syminfo.tickerid, tf, ta.crossover(close, smaHigh))
crossDn = request.security(syminfo.tickerid, tf, ta.crossunder(close, smaLow))
var bool trend = na
trend := crossUp ? true : crossDn ? false : trend
trend
// ───── TREND STATES ─────
htf_trend = getHTFTrend(htf_tf, length)
// ───── RIBBON LEVELS ─────
base = 0
height = 2
// ───── RIBBON PLOTS ─────
plot(htf_trend ? base + height : na, title = "HTF Up", color = htf_color_up, style = plot.style_columns, histbase = base)
plot(htf_trend == false ? base + height : na, title = "HTF Down", color = htf_color_dn, style = plot.style_columns, histbase = base)
2025-06-04
235
글번호 191421
지표