커뮤니티

신호와 시스템식의 합성식 문의(수정)

프로필 이미지
정구지
2024-11-07 16:53:40
826
글번호 185063
답변완료

첨부 이미지

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(); }
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

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(); }