답변완료
수식요청
다=Min(
NPreDayLow(2),NPreDayLow(3),NPreDayLow(4),
NPreDayLow(5),NPreDayLow(6),NPreDayLow(7),
NPreDayLow(8),NPreDayLow(9),NPreDayLow(10),
NPreDayLow(11),NPreDayLow(12),NPreDayLow(13),
NPreDayLow(14),NPreDayLow(15),NPreDayLow(16));
바=Max(
NPreDayHigh(1),NPreDayHigh(2),NPreDayHigh(3),
NPreDayHigh(4),NPreDayHigh(5),NPreDayHigh(6),
NPreDayHigh(7),NPreDayHigh(8),NPreDayHigh(9),
NPreDayHigh(10),NPreDayHigh(11),NPreDayHigh(12),
NPreDayHigh(13),NPreDayHigh(14),NPreDayHigh(15));
스=CountSince(DayLow()<다,date!=date(1))==(기간-간격);
Valuewhen(1,스,바)
기간 15, 간격 3
위 수식은 60분봉에서 다바스박스 선을 긋는 것으로 입수한 것입니다.
이 선을 돌파하는 종목을 검색코저 합니다만,
우선 이 수식이 맞는 건지 아니면 다른 더 좋은 게 있는지요?
60분봉 돌파수식을 부탁드립니다.
(물론 예스랭귀지로 된 수식)
2025-03-09
308
글번호 188884
종목검색
답변완료
문의 드립니다
아래 3가지 수식어의 수정을 부탁드립니다.
1.
1선 5선 데드크로스 이후 매수 진입신호금지 및 손절 100틱
input : StartTime(80000),EndTime(40000);
var : Tcond(false);
IF Endtime > starttime Then
SetStopEndofday(Endtime);
Else
{
if sDate != sDate[1] Then
SetStopEndofday(Endtime);
}
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;
IF Endtime <= starttime Then
{
SetStopEndofday(0);
}
}
var : HH(0),LL(0),MM(0),t(0);
HH = DayHigh;
LL = DayLow;
MM = (HH+LL)/2;
if bdate != Bdate[1] Then
T = 0;
Else
{
if CrossUp(H,MM) Then
T = 1;
if CrossDown(L,MM) Then
T = -1;
if T == 1 and MarketPosition <= 0 Then
buy("b0",AtStop,LL+(HH-LL)*0.110);
if MarketPosition == 1 and MaxEntries == 1 Then
ExitLong("b1",AtStop,LL+(HH-LL)*1.310);
if T == 1 and MarketPosition <= 0 Then
buy("b2",AtStop,LL+(HH-LL)*0.680);
if MarketPosition == 1 and MaxEntries == 1 Then
ExitLong("b3",AtStop,LL+(HH-LL)*0.750);
if T == -1 and MarketPosition <= 0 Then
buy("b4",AtStop,LL+(HH-LL)*0.900);
if MarketPosition == 1 and MaxEntries == 1 Then
ExitLong("b5",AtStop,LL+(HH-LL)*0.100);
if T == -1 and MarketPosition <= 0 Then
buy("b6",AtStop,LL+(HH-LL)*0.680);
if MarketPosition == 1 and MaxEntries == 1 Then
ExitLong("b7",AtStop,LL+(HH-LL)*0.750);
if T == -1 and MarketPosition <= 0 Then
buy("b8",AtStop,LL+(HH-LL)*0.900);
if MarketPosition == 1 and MaxEntries == 1 Then
ExitLong("b9",AtStop,LL+(HH-LL)*0.100);
if T == -1 and MarketPosition <= 0 Then
buy("b00",AtStop,LL+(HH-LL)*0.110);
if MarketPosition == 1 and MaxEntries == 1 Then
ExitLong("b11",AtStop,LL+(HH-LL)*1.310);
if T == -1 and MarketPosition <= 0 Then
buy("b22",AtStop,LL+(HH-LL)*0.680);
if MarketPosition == 1 and MaxEntries == 1 Then
ExitLong("b33",AtStop,LL+(HH-LL)*0.750);
if T == -1 and MarketPosition <= 0 Then
buy("b44",AtStop,LL+(HH-LL)*0.900);
if MarketPosition == 1 and MaxEntries == 1 Then
ExitLong("b55",AtStop,LL+(HH-LL)*0.100);
if T == -1 and MarketPosition <= 0 Then
buy("b66",AtStop,LL+(HH-LL)*0.680);
if MarketPosition == 1 and MaxEntries == 1 Then
ExitLong("b77",AtStop,LL+(HH-LL)*0.750);
if T == -1 and MarketPosition <= 0 Then
buy("b88",AtStop,LL+(HH-LL)*0.900);
if MarketPosition == 1 and MaxEntries == 1 Then
ExitLong("b99",AtStop,LL+(HH-LL)*0.100);
}
2.
1선 5선 골든크로스 이후 매도 진입신호금지 및 손절 100틱
input : StartTime(80000),EndTime(40000);
var : Tcond(false);
IF Endtime > starttime Then
SetStopEndofday(Endtime);
Else
{
if sDate != sDate[1] Then
SetStopEndofday(Endtime);
}
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;
IF Endtime <= starttime Then
{
SetStopEndofday(0);
}
}
var : HH(0),LL(0),MM(0),t(0);
HH = DayHigh;
LL = DayLow;
MM = (HH+LL)/2;
if bdate != Bdate[1] Then
T = 0;
Else
{
if CrossUp(H,MM) Then
T = 1;
if CrossDown(L,MM) Then
T = -1;
if T == -1 and MarketPosition >= 0 Then
Sell("s0",AtStop,LL+(HH-LL)*0.600);
if MarketPosition == 1 and MaxEntries == 1 Then
ExitShort("s1",AtStop,LL+(HH-LL)*-0.300);
if T == -1 and MarketPosition >= 0 Then
Sell("s2",AtStop,LL+(HH-LL)*0.600);
if MarketPosition == 1 and MaxEntries == 1 Then
ExitShort("s3",AtStop,LL+(HH-LL)*-0.300);
if T == -1 and MarketPosition >= 0 Then
Sell("s4",AtStop,LL+(HH-LL)*0.600);
if MarketPosition == 1 and MaxEntries == 1 Then
ExitShort("s5",AtStop,LL+(HH-LL)*-0.300);
if T == -1 and MarketPosition >= 0 Then
Sell("s6",AtStop,LL+(HH-LL)*0.600);
if MarketPosition == 1 and MaxEntries == 1 Then
ExitShort("s7",AtStop,LL+(HH-LL)*-0.300);
if T == -1 and MarketPosition >= 0 Then
Sell("s8",AtStop,LL+(HH-LL)*0.600);
if MarketPosition == 1 and MaxEntries == 1 Then
ExitShort("s9",AtStop,LL+(HH-LL)*0.100);
if T == -1 and MarketPosition >= 0 Then
Sell("s00",AtStop,LL+(HH-LL)*0.600);
if MarketPosition == 1 and MaxEntries == 1 Then
ExitShort("s11",AtStop,LL+(HH-LL)*-0.300);
if T == -1 and MarketPosition >= 0 Then
Sell("s22",AtStop,LL+(HH-LL)*0.600);
if MarketPosition == 1 and MaxEntries == 1 Then
ExitShort("s33",AtStop,LL+(HH-LL)*-0.300);
if T == -1 and MarketPosition >= 0 Then
Sell("s44",AtStop,LL+(HH-LL)*0.600);
if MarketPosition == 1 and MaxEntries == 1 Then
ExitShort("s55",AtStop,LL+(HH-LL)*-0.300);
if T == -1 and MarketPosition >= 0 Then
Sell("s66",AtStop,LL+(HH-LL)*0.600);
if MarketPosition == 1 and MaxEntries == 1 Then
ExitShort("s77",AtStop,LL+(HH-LL)*-0.300);
if T == -1 and MarketPosition >= 0 Then
Sell("s88",AtStop,LL+(HH-LL)*0.600);
if MarketPosition == 1 and MaxEntries == 1 Then
ExitShort("s99",AtStop,LL+(HH-LL)*0.100);
}
3.
1선 5선 골든크로스 이후 매도 진입신호금지 및 손절 100틱
1선 5선 데드크로스 이후 매수 진입신호금지 및 손절 100틱
input : StartTime(190000),EndTime(40000);
var : Tcond(false);
IF Endtime > starttime Then
SetStopEndofday(Endtime);
Else
{
if sDate != sDate[1] Then
SetStopEndofday(Endtime);
}
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;
IF Endtime <= starttime Then
{
SetStopEndofday(0);
}
}
var : HH(0),LL(0),MM(0),t(0);
HH = DayHigh;
LL = DayLow;
MM = (HH+LL)/2;
if bdate != Bdate[1] Then
T = 0;
Else
{
if CrossUp(H,MM) Then
T = 1;
if CrossDown(L,MM) Then
T = -1;
if T == 1 and MarketPosition <= 0 Then
buy("b0",AtStop,LL+(HH-LL)*0.110);
if MarketPosition == 1 and MaxEntries == 1 Then
buy("b1",AtStop,LL+(HH-LL)*1.310);
if T == -1 and MarketPosition >= 0 Then
Sell("s0",AtStop,LL+(HH-LL)*0.600);
if MarketPosition == 1 and MaxEntries == 1 Then
Sell("s1",AtStop,LL+(HH-LL)*-0.300);
if T == 1 and MarketPosition <= 0 Then
buy("b2",AtStop,LL+(HH-LL)*0.680);
if MarketPosition == 1 and MaxEntries == 1 Then
buy("b3",AtStop,LL+(HH-LL)*0.750);
if T == -1 and MarketPosition >= 0 Then
Sell("s2",AtStop,LL+(HH-LL)*0.600);
if MarketPosition == 1 and MaxEntries == 1 Then
Sell("s3",AtStop,LL+(HH-LL)*-0.300);
if T == -1 and MarketPosition <= 0 Then
buy("b4",AtStop,LL+(HH-LL)*0.900);
if MarketPosition == 1 and MaxEntries == 1 Then
buy("b5",AtStop,LL+(HH-LL)*0.100);
if T == -1 and MarketPosition >= 0 Then
Sell("s4",AtStop,LL+(HH-LL)*0.600);
if MarketPosition == 1 and MaxEntries == 1 Then
Sell("s5",AtStop,LL+(HH-LL)*-0.300);
if T == 1 and MarketPosition <= 0 Then
buy("b6",AtStop,LL+(HH-LL)*0.680);
if MarketPosition == 1 and MaxEntries == 1 Then
buy("b7",AtStop,LL+(HH-LL)*0.750);
if T == -1 and MarketPosition >= 0 Then
Sell("s6",AtStop,LL+(HH-LL)*0.600);
if MarketPosition == 1 and MaxEntries == 1 Then
Sell("s7",AtStop,LL+(HH-LL)*-0.300);
if T == -1 and MarketPosition <= 0 Then
buy("b8",AtStop,LL+(HH-LL)*0.900);
if MarketPosition == 1 and MaxEntries == 1 Then
buy("b9",AtStop,LL+(HH-LL)*0.100);
if T == -1 and MarketPosition >= 0 Then
Sell("s8",AtStop,LL+(HH-LL)*0.600);
if MarketPosition == 1 and MaxEntries == 1 Then
Sell("s9",AtStop,LL+(HH-LL)*0.100);
if T == 1 and MarketPosition <= 0 Then
buy("b00",AtStop,LL+(HH-LL)*0.110);
if MarketPosition == 1 and MaxEntries == 1 Then
buy("b11",AtStop,LL+(HH-LL)*1.310);
if T == -1 and MarketPosition >= 0 Then
Sell("s00",AtStop,LL+(HH-LL)*0.600);
if MarketPosition == 1 and MaxEntries == 1 Then
Sell("s11",AtStop,LL+(HH-LL)*-0.300);
if T == 1 and MarketPosition <= 0 Then
buy("b22",AtStop,LL+(HH-LL)*0.680);
if MarketPosition == 1 and MaxEntries == 1 Then
buy("b33",AtStop,LL+(HH-LL)*0.750);
if T == -1 and MarketPosition >= 0 Then
Sell("s22",AtStop,LL+(HH-LL)*0.600);
if MarketPosition == 1 and MaxEntries == 1 Then
Sell("s33",AtStop,LL+(HH-LL)*-0.300);
if T == -1 and MarketPosition <= 0 Then
buy("b44",AtStop,LL+(HH-LL)*0.900);
if MarketPosition == 1 and MaxEntries == 1 Then
buy("b55",AtStop,LL+(HH-LL)*0.100);
if T == -1 and MarketPosition >= 0 Then
Sell("s44",AtStop,LL+(HH-LL)*0.600);
if MarketPosition == 1 and MaxEntries == 1 Then
Sell("s55",AtStop,LL+(HH-LL)*-0.300);
if T == 1 and MarketPosition <= 0 Then
buy("b66",AtStop,LL+(HH-LL)*0.680);
if MarketPosition == 1 and MaxEntries == 1 Then
buy("b77",AtStop,LL+(HH-LL)*0.750);
if T == -1 and MarketPosition >= 0 Then
Sell("s66",AtStop,LL+(HH-LL)*0.600);
if MarketPosition == 1 and MaxEntries == 1 Then
Sell("s77",AtStop,LL+(HH-LL)*-0.300);
if T == -1 and MarketPosition <= 0 Then
buy("b88",AtStop,LL+(HH-LL)*0.900);
if MarketPosition == 1 and MaxEntries == 1 Then
buy("b99",AtStop,LL+(HH-LL)*0.100);
if T == -1 and MarketPosition >= 0 Then
Sell("s88",AtStop,LL+(HH-LL)*0.600);
if MarketPosition == 1 and MaxEntries == 1 Then
Sell("s99",AtStop,LL+(HH-LL)*0.100);
}
2025-03-06
321
글번호 188875
시스템