예스스탁
예스스탁 답변
2025-08-18 12:51:12
안녕하세요
예스스탁입니다.
1
input : period1(15),multiplier1(3);
input : period2(10),multiplier2(1);
var : src(0);
var : AtrV1(0),upperBand1(0),lowerBand1(0), prevLowerBand1(0), prevUpperBand1(0);
var : prevSuperTrend1(0), direction1(0),alpha1(0),source1(0),SuperTrend1(C);
var : AtrV2(0),upperBand2(0),lowerBand2(0), prevLowerBand2(0), prevUpperBand2(0);
var : prevSuperTrend2(0), direction2(0),alpha2(0),source2(0),SuperTrend2(C);
var : AH(0),AL(0),B1(0),B2(0),조건1(0);
src = (H+L)/2;
if CurrentBar > 1 Then
{
alpha1 = 1 / period1 ;
source1 = max(high - low, abs(high - close[1]), abs(low - close[1]));
ATrV1 = alpha1 * source1 + (1 - alpha1) * ATrV1[1]; //지수가중이평방식
upperBand1 = src + multiplier1 * AtrV1;
lowerBand1 = src - multiplier1 * AtrV1;
prevLowerBand1 = lowerBand1[1];
prevUpperBand1 = upperBand1[1];
if lowerBand1 > prevLowerBand1 or close[1] < prevLowerBand1 Then
lowerBand1 = lowerBand1;
Else
lowerBand1 = prevLowerBand1;
if upperBand1 < prevUpperBand1 or close[1] > prevUpperBand1 Then
upperBand1 = upperBand1;
Else
upperBand1 = prevUpperBand1;
if C > UpperBand1 Then
direction1 = 1;
if C < LowerBand1 Then
direction1 = -1;
if direction1 == 1 Then
SuperTrend1 = lowerband1;
Else
SuperTrend1 = upperband1;
alpha2 = 1 / period2 ;
source2 = max(high - low, abs(high - close[1]), abs(low - close[1]));
ATrV2 = alpha2 * source2 + (1 - alpha2) * ATrV2[1]; //지수가중이평방식
upperBand2 = src + multiplier2 * AtrV2;
lowerBand2 = src - multiplier2 * AtrV2;
prevLowerBand2 = lowerBand2[1];
prevUpperBand2 = upperBand2[1];
if lowerBand2 > prevLowerBand2 or close[1] < prevLowerBand2 Then
lowerBand2 = lowerBand2;
Else
lowerBand2 = prevLowerBand2;
if upperBand2 < prevUpperBand2 or close[1] > prevUpperBand2 Then
upperBand2 = upperBand2;
Else
upperBand2 = prevUpperBand2;
if C > UpperBand2 Then
direction2 = 1;
if C < LowerBand2 Then
direction2 = -1;
if direction2 == 1 Then
SuperTrend2 = lowerband2;
Else
SuperTrend2 = upperband2;
AH = DayHigh;
AL = DayLow;
if AH == H Then
B1 = 0;
Else
{
if B1 >= 0 Then
B1 = B1+1;
}
if AL == L Then
B2 = 0;
Else
{
if B2 >= 0 Then
B2 = B2+1;
}
조건1 = IFf(B1 > B2,AH,AL);
if CrossUp(C,SuperTrend1) Then
var1 = SuperTrend2[1];
}
if CrossUp(C,var1) && CrossUp(SuperTrend2,SuperTrend1) && CrossUp(조건1,SuperTrend1) Then
Find(1);
2
input : period1(15),multiplier1(3);
input : period2(10),multiplier2(1);
var : src(0);
var : AtrV1(0),upperBand1(0),lowerBand1(0), prevLowerBand1(0), prevUpperBand1(0);
var : prevSuperTrend1(0), direction1(0),alpha1(0),source1(0),SuperTrend1(C);
var : AtrV2(0),upperBand2(0),lowerBand2(0), prevLowerBand2(0), prevUpperBand2(0);
var : prevSuperTrend2(0), direction2(0),alpha2(0),source2(0),SuperTrend2(C);
var : AH(0),AL(0),B1(0),B2(0),조건1(0),count(0);
src = (H+L)/2;
if CurrentBar > 1 Then
{
alpha1 = 1 / period1 ;
source1 = max(high - low, abs(high - close[1]), abs(low - close[1]));
ATrV1 = alpha1 * source1 + (1 - alpha1) * ATrV1[1]; //지수가중이평방식
upperBand1 = src + multiplier1 * AtrV1;
lowerBand1 = src - multiplier1 * AtrV1;
prevLowerBand1 = lowerBand1[1];
prevUpperBand1 = upperBand1[1];
if lowerBand1 > prevLowerBand1 or close[1] < prevLowerBand1 Then
lowerBand1 = lowerBand1;
Else
lowerBand1 = prevLowerBand1;
if upperBand1 < prevUpperBand1 or close[1] > prevUpperBand1 Then
upperBand1 = upperBand1;
Else
upperBand1 = prevUpperBand1;
if C > UpperBand1 Then
direction1 = 1;
if C < LowerBand1 Then
direction1 = -1;
if direction1 == 1 Then
SuperTrend1 = lowerband1;
Else
SuperTrend1 = upperband1;
alpha2 = 1 / period2 ;
source2 = max(high - low, abs(high - close[1]), abs(low - close[1]));
ATrV2 = alpha2 * source2 + (1 - alpha2) * ATrV2[1]; //지수가중이평방식
upperBand2 = src + multiplier2 * AtrV2;
lowerBand2 = src - multiplier2 * AtrV2;
prevLowerBand2 = lowerBand2[1];
prevUpperBand2 = upperBand2[1];
if lowerBand2 > prevLowerBand2 or close[1] < prevLowerBand2 Then
lowerBand2 = lowerBand2;
Else
lowerBand2 = prevLowerBand2;
if upperBand2 < prevUpperBand2 or close[1] > prevUpperBand2 Then
upperBand2 = upperBand2;
Else
upperBand2 = prevUpperBand2;
if C > UpperBand2 Then
direction2 = 1;
if C < LowerBand2 Then
direction2 = -1;
if direction2 == 1 Then
SuperTrend2 = lowerband2;
Else
SuperTrend2 = upperband2;
AH = DayHigh;
AL = DayLow;
if AH == H Then
B1 = 0;
Else
{
if B1 >= 0 Then
B1 = B1+1;
}
if AL == L Then
B2 = 0;
Else
{
if B2 >= 0 Then
B2 = B2+1;
}
조건1 = IFf(B1 > B2,AH,AL);
if CrossUp(C,SuperTrend1) Then
var1 = SuperTrend2[1];
}
if sDate != sDate[1] Then
count = 0;
if CrossUp(C,var1) && CrossUp(SuperTrend2,SuperTrend1) && CrossUp(조건1,SuperTrend1) Then
count = count+1;
if count >= 1 Then
Find(1);
즐거운 하루되세요
> 다리 님이 쓴 글입니다.
> 제목 : 종목검색식 부탁드립니다..
> 안녕하세요. 감사드립니다.
아래는 키움수식입니다.
1)종목검색식, 2)분봉 당일내 검색된 모든 종목검색식 부탁 드립니다.
ST1= supertrend(15, 3);
ST2= supertrend(10, 1);
AH= DayHigh();
AL= DayLow();
B1= BarsSince(AH==H);
B2= BarsSince(AL==L);
조건1=if(B1>B2,AH,AL);
CrossUp(C,ValueWhen(1, CrossUp(C, ST1), ST1(1))) &&
CrossUp(ST2,ST1) && CrossUp(조건1,ST1)