예스스탁
예스스탁 답변
2024-11-08 14:04:37
안녕하세요
예스스탁입니다.
Input: Period(42), D(2), period2(0.17);
Input : shortPeriod(12), longPeriod(26);
input : n1(3);//강조표시 없는 구간 진입횟수
input : n2(3);//동시조건 충족 후 진입횟수
Var : BBTop(0), BBMid(0), BBBot(0),Bwidth(0), BWidth2(0), BWidth3(0);
Var : value(0),cnt(0),T(0);
BBTop = BollBandUp(Period,D);
BBMid = ma(C,Period);
BBBot = BollBandDown(Period,D);
BWidth = ((BBTop - BBBot)/ BBMid)*100;
value = MACD(shortPeriod, longPeriod);
#강조조건 만족하면 true 아니면 False
if BWidth<period2 Then
Condition1 = true;
Else
Condition1 = False;
#강조조건 불만족 구간 시작
#T는 1
#cnt는 0으로 초기화
if (Condition1 == False and Condition1 != Condition1[1]) Then
{
T = 1;
cnt = 0;
}
#강조조건 만족 구간 시작
#T는 2
#cnt는 0으로 초기화
if (Condition1 == true and Condition1 != Condition1[1]) Then
{
T = 2;
cnt = 0;
}
If CrossUP(value, 0) Then
{
#횟수카운트
cnt = cnt+1;
#T가 1인구간에서 n1횟수까지만 신호발생, n1이 0이면 신호발생 없음
#T가 2인구간에서 n2횟수까지만 신호발생, n2가 0이면 신호발생 없음
if (n1 > 0 and T == 1 and cnt < n1) or
(n2 > 0 and T == 2 and cnt < n2) Then
Buy("b");
}
If CrossDown(value, 0) Then
{
#횟수카운트
cnt = cnt+1;
#T가 1인구간에서 n1횟수까지만 신호발생, n1이 0이면 신호발생 없음
#T가 2인구간에서 n2횟수까지만 신호발생, n2가 0이면 신호발생 없음
if (n1 > 0 and T == 1 and cnt < n1) or
(n2 > 0 and T == 2 and cnt < n2) Then
Sell("s");
}
즐거운 하루되세요
> 정구지 님이 쓴 글입니다.
> 제목 : 신호와 시스템식의 합성식 문의(수정)
> 1. 공통전제 :아래 두 경우 각각 이어서 나오는 매도매수 신호 횟수를 각각 조정할 수 있게 만들고자 합니다. ( 이해를 돕고자 상세 설명 사진을 아래 2와 3경우 모두 보냈습니다 ) 이렇게 순서를 정해서 어떤 신호 이후 몇번까지만 표시를 나타낼 때 어떻게 하나 ?? 궁리중입니다.
2. 볼밴이격이 표시되어 강조된 캔들 다음에 일반 캔들(강조되는 캔들이 아닌 캔들을 말함) 나오고(만일 이 일반캔들의 갯수를 카운팅해야하고 그 숫자를 별도의 변수로 넣어서 가정해야 한다면 이도 변수로 설정할 수 있다), 그다음 이어서 나오는 시스템의 매수 혹은 매도 신호(macd 매수매도신호)가 나오는 경우( 그 나오는 횟수를 3번만(이 횟수는 변수로서 조정할 수 있게 한다) 나오게 시스템 신호를 만들고 싶습니다.
3. 또 볼밴이격이 표시되어 강조된 캔들과 동시에 macd 매수 매도 신호가 나오면 이후 이어서 나오는 신호( 첫 신호가 동시에 나오면 이어서 나오는 신호는 볼밴이격 강조표시 캔들과 동시든 나오든 아니든 상관없이 나오고 그 횟수를 카운팅하는 식임)를 딱 3번만 나오게(이것도 변수로 조정할 수 있게, 단 여기서는 변수를 0으로 할 수 있게 할 것(0 이면 신호가 나오지 않게 끈다는 뜻) 하고 나머지 신호는 나오지 않게 한다
시스템 신호 식은 더 더 아래에 있습니다
시스템 신호 식은 더 더 아래에 있습니다
볼밴이격 캔들 수식:
Inputs: Period(42), D(2), period2(0.17);
Variables: BBTop(0), BBMid(0), BBBot(0),Bwidth(0), BWidth2(0), BWidth3(0);
BBTop = BollBandUp(Period,D);
BBMid = ma(C,Period);
BBBot = BollBandDown(Period,D);
BWidth = ((BBTop - BBBot)/ BBMid)*100;
if BWidth<period2 Then
PlotPaintBar(High, Low, "이격",Yellow);
else
NoPlot(1);
위 캔들 후 바로 이어 나오는 아래 시스템 매도 매수 신호가 설정된 횟수만 나오게(변수로 조절 가능토록) 하고 싶습니다.
Input : shortPeriod(12), longPeriod(26);
Var : value(0);
value = MACD(shortPeriod, longPeriod);
# 매수/매도청산
If CrossUP(value, 0) Then
{
Buy();
}
# 매도/매수청산
If CrossDown(value, 0) Then
{
Sell();
}