예스스탁
예스스탁 답변
2024-11-07 15:02:44
안녕하세요
예스스탁입니다.
내용을 정확히 이해하지 못했습니다.
강조가 표시된 봉에서는 조건없이 나오고
강조가 표시되지 않은 봉에서난 최대 N번만 진입하게 작성해 드립니다.
Inputs: Period(42), D(2), period2(0.17),N(3);
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;
Input : shortPeriod(12), longPeriod(26);
Var : value(0),count(-1);
value = MACD(shortPeriod, longPeriod);
if BWidth < period2 Then
Condition1 = true;
Else
{
Condition1 = False;
if Condition1[1] == true Then
count = 0;
}
if (MarketPosition != 0 and MarketPosition != MarketPosition[1]) or
(MarketPosition == MarketPosition[1] and TotalTrades>TotalTrades[1]) Then
count = count+1;
If CrossUP(value, 0) Then
{
if Condition1 == true or (Condition1 == False and count < N) then
Buy();
}
If count >= 0 and count < 3 and CrossDown(value, 0) Then
{
if Condition1 == true or (Condition1 == False and count < N) then
Sell();
}
즐거운 하루되세요
> 정구지 님이 쓴 글입니다.
> 제목 : 신호와 시스템식의 합성식 문의
> 1. 공통전제 :아래 두 경우 각각 이어서 나오는 매도매수 신호 횟수를 각각 조정할수 있게 만든다
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();
}