답변완료
시스템 진입 오류
안녕하세요
해당 코드가 진입이 전혀 발생하지 않아 혹시 틀린 부분이 있는 검증 부탁드립니다. 감사합니다.
전략
전일 23:00~23:30 사이 형성된 고저 범위를 기준으로,
자정(00:00)봉에서 돌파 시 다음 봉에 진입하고,
손절은 해당 범위만큼, 익절은 손절의 1.5배로 설정합니다.
Inputs:
ORLen(1), // OR 범위 길이 (1=2봉, 2=3봉, ...) 1~3(step 1)
RR(1.5), // 익절: 손절의 RR배 1.5~2.5 (step 0.25)
MinRange(0.0); // OR 범위가 이 값보다 작으면 진입 안함 0~0.03 (step 0.005)
Vars:
orHigh(0), orLow(0), orRange(0),
tradeEntered(False),
orStartTime(2300 - (ORLen - 1) * 100); // OR 시작 시간 계산
// Opening Range 계산
If Time == orStartTime Then
Begin
orHigh = High;
orLow = Low;
tradeEntered = False;
End;
If Time > orStartTime and Time <= 2330 Then
Begin
orHigh = MaxList(orHigh, High);
orLow = MinList(orLow, Low);
End;
If Time == 2330 Then
orRange = orHigh - orLow;
// 자정 봉에서 돌파 여부 확인
If Time >= 0 and Time <= 30 and tradeEntered == False and MarketPosition == 0 Then
Begin
If orRange >= MinRange Then
Begin
If Close > orHigh Then
Begin
Buy("ORB_Long", AtMarket, DEf, 1);
tradeEntered = True;
End
Else If Close < orLow Then
Begin
Sell("ORB_Short", AtMarket, DEf, 1);
tradeEntered = True;
End;
End;
End;
// 롱 포지션: 손절 / 익절
If MarketPosition == 1 Then
Begin
If Close < EntryPrice - orRange Then
ExitLong("StopL");
If Close > EntryPrice + orRange * RR Then
ExitLong("TargetL");
End;
// 숏 포지션: 손절 / 익절
If MarketPosition == -1 Then
Begin
If Close > EntryPrice + orRange Then
ExitShort("StopS");
If Close < EntryPrice - orRange * RR Then
ExitShort("TargetS");
End;
2025-05-15
198
글번호 190845
시스템
답변완료
변환 부탁드립니다
아래 수식 종목검색식 부탁드립니다.
A1=StochasticsSlow(12,5);
B1=eavg(A1,5);
A2=StochasticsSlow(5,3);
B2=eavg(A2,3);
E=(Highest(H,9)+Lowest(L,9)+Highest(H,26)+Lowest(L,26))/4;
F=(Highest(H,52)+Lowest(L,52))/2;
(CrossUp(A1,B1) or CrossUp(A2,B2))
&& (CrossUp(C,E(25)) or CrossUp(C,F(25)))
&& C>(highestSince(1,CrossUp(Trix(20),0),C)+lowestSince(1,CrossDown(Trix(20),0),C))/2
2025-05-15
233
글번호 190842
종목검색
답변완료
검색식 부탁합니다
종목검색식 부탁드립니다
조건은 색상이 적색에서 녹색으로 변하는 시점입니다
Inputs:
MA_Length(20), // 이동 평균 길이 (기본 20)
Speed_Factor_1(0.03), // 1,000원 이하 종목의 속도 가중치
Speed_Factor_2(0.025), // 1,000원 ~ 5,000원 종목의 속도 가중치
Speed_Factor_3(0.02), // 5,000원 ~ 10,000원 종목의 속도 가중치
Speed_Factor_4(0.015), // 10,000원 ~ 50,000원 종목의 속도 가중치
Speed_Factor_5(0.01), // 50,000원 이상 종목의 속도 가중치
Lookback_Period_1(30), // 1,000원 이하 종목의 Lookback 기간
Lookback_Period_2(50), // 1,000원 ~ 5,000원 종목의 Lookback 기간
Lookback_Period_3(75), // 5,000원 ~ 10,000원 종목의 Lookback 기간
Lookback_Period_4(100), // 10,000원 ~ 50,000원 종목의 Lookback 기간
Lookback_Period_5(150); // 50,000원 이상 종목의 Lookback 기간
Vars:
i(0),
MA(0),
Speed(0),
Trend_Line(0),
Total_Speed(0),
Speed_Avg(0),
Speed_Factor(0), // 가격대별 선택된 속도 가중치
Lookback_Period(0), // 가격대별 선택된 Lookback 기간
Color_Code(0); // 추세선 색상 (상승 초록, 하락 빨강)
Arrays:
Speed_Array[500](0) ; // 배열 크기 지정 // 최대 500칸 배열로 설정 (Lookback 데이터 저장)
// === 1. 가격대별 변수 설정 ===
If Close < 1000 Then Begin
// 1,000원 이하 종목
Speed_Factor = Speed_Factor_1;
Lookback_Period = Lookback_Period_1;
End
Else If Close < 5000 Then Begin
// 1,000원 ~ 5,000원 종목
Speed_Factor = Speed_Factor_2;
Lookback_Period = Lookback_Period_2;
End
Else If Close < 10000 Then Begin
// 5,000원 ~ 10,000원 종목
Speed_Factor = Speed_Factor_3;
Lookback_Period = Lookback_Period_3;
End
Else If Close < 50000 Then Begin
// 10,000원 ~ 50,000원 종목
Speed_Factor = Speed_Factor_4;
Lookback_Period = Lookback_Period_4;
End
Else Begin
// 50,000원 이상 종목
Speed_Factor = Speed_Factor_5;
Lookback_Period = Lookback_Period_5;
End;
// === 2. 이동 평균 계산 ===
MA = Average(Close, MA_Length); // 지정된 길이로 이동 평균 계산
// === 3. 실시간 가격 속도 계산 ===
For i = 0 to Lookback_Period - 1 Begin
// 각 봉의 가격 속도를 계산하여 배열에 저장
Speed_Array[i] = (Close[i] - MA) * Speed_Factor;
End;
// === 4. 속도 합계 및 평균 계산 ===
Total_Speed = 0;
For i = 0 to Lookback_Period - 1 Begin
// Lookback 기간 동안의 속도를 합산
Total_Speed = Total_Speed + Abs(Speed_Array[i]);
End;
Speed_Avg = Total_Speed / Lookback_Period; // 평균 속도 계산
// === 5. 현재 속도 계산 ===
Speed = (Close - MA) * Speed_Factor; // 현재 봉의 속도 계산
Trend_Line = MA + Speed; // 속도를 더한 다이나믹 추세선
// === 6. 다이나믹 추세선 출력 ===
If Speed > 0 Then Begin
// 상승 추세일 때 초록색 선
Plot1(Trend_Line, "Dynamic_Trend_Line", RGB(0, 200, 0)); // 상승 (초록)
End
Else Begin
// 하락 추세일 때 빨간색 선
Plot1(Trend_Line, "Dynamic_Trend_Line", RGB(200, 0, 0)); // 하락 (빨강)
End;
// === 7. 히스토그램 출력 ===
//Plot2(Speed, "Speed_Histogram", RGB(0, 0, 200)); // 실시간 속도를 히스토그램으로 출력 (파란색)
2025-05-14
242
글번호 190841
종목검색
답변완료
검색식 부탁합니다
슈퍼트렌드지표입니다.
종목검색식 부탁드립니다
input : factor(3), AtrPeriod(10);
var : src(0), AtrV(0),upperBand(0),lowerBand(0), prevLowerBand(0), prevUpperBand(0);
var : prevSuperTrend(0), superTrend(C), direction(0),alpha(0),source(0);
if CurrentBar > 1 Then {
src = (H+L+c)/3;
// ATR계산(ATR 계산시 지수가중이동평균(rma)이용)
alpha = 1 / AtrPeriod ;
source = max(high - low, abs(high - close[1]), abs(low - close[1]));
ATrV = alpha * source + (1 - alpha) * ATrV[1];
upperBand = src + factor * AtrV;
lowerBand = src - factor * AtrV;
prevLowerBand = lowerBand[1];
prevUpperBand = upperBand[1];
if lowerBand > prevLowerBand or close[1] < prevLowerBand Then
lowerBand = lowerBand;
Else
lowerBand = prevLowerBand;
if upperBand < prevUpperBand or close[1] > prevUpperBand Then
upperBand = upperBand;
Else
upperBand = prevUpperBand;
if C > UpperBand Then
direction = 1;
if C < LowerBand Then
direction = -1;
if direction == 1 Then
supertrend = lowerband;
Else
supertrend = upperband;
}
if C > superTrend Then {
Plot1(superTrend,"UpTrend", GREEN, 0, 1);
NoPlot(2);
}
Else {
Plot2(superTrend,"DnTrend", RED, 0, 1);
NoPlot(1);
}
if direction == 1 and direction[1] == -1 Then
plot3(superTrend,"BuyStart",green,0,8);
if direction == -1 and direction[1] == 1 Then
plot4(superTrend,"SellStart",RED,0,8);
2025-05-14
224
글번호 190839
종목검색
답변완료
종목검색 오류 문의
input : 신고기간(225),돌파기준(C);
var : B(0),양(False),일기준(False);
var : CS1(-1),조건1(False),일(False),건상단선(0),건하단선(0);
var : CS2(-1),조건2(False),천1(False),천선1(0);
var : CS3(-1),조건3(False),천2(False),천선2(0);
B= (((L+H+C)/3)*V/100000000);
양= B>HIGHEST(B,신고기간)[1];
일기준= crossdown(C,ma(H,3));
if 양 Then
CS1 = 0;
if 일기준 == true Then
if CS1 >= 0 Then
CS1 = CS1+1;
조건1= CS1==1;
일= 조건1==true and 조건1[1]==False;
if 일 == true Then
건상단선 = Max(O,C);
if 일 == true Then
건하단선 = min(O,C);
천1= CrossUp(C,건상단선);
천2= CrossUp(H,건상단선);
if 일 Then
CS2=0;
if 천1== true Then
if CS2>= 0 then
CS2=CS2+1;
조건2= CS2==1;
천1= 조건2==true and 조건2[1]==False;
if 천1 == true Then
천선1 = H;
if 일 Then
CS3=0;
if 천2== true Then
if CS3>= 0 then
CS3=CS3+1;
조건3= CS3==1;
천2= 조건3==true and 조건3[1]==False;
if 천2 == true Then
천선2 = H;
var1= 천선1;
var2= 천선2;
if (crossup(돌파기준,var1) or crossup(돌파기준,var2)) Then
find(1);
======================================================================================
이렇게 작성하니 var1 or var2를 돌파하지 않은 것도 종목검색에 나오는데 어떻게 해야하나요?
2025-05-14
217
글번호 190838
종목검색