답변완료
신호와 시스템식의 합성식 문의(수정)
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();
}
2024-11-07
848
글번호 185063
시스템
답변완료
문의드립니다
1번
input : Period(20),dv(2);
input : 하단아래(3),하단위(4),상단위(3),상단아래(4);
var : BBup(0),BBmd(0),BBdn(0);
var : T(0),i1(0),i2(0),i3(0),i4(0);
BBup = BollBandUp(Period,dv);
BBmd = ma(c,Period);
BBdn = BollBandDown(Period,dv);
if CrossDown(C,BBdn) Then
{
T = -1;
i1 = 0;
}
if CrossUp(C,BBdn) Then
{
T = 1;
i2 = 0;
}
if CrossUp(C,BBup) Then
{
T = 2;
i3 = 0;
}
if CrossDown(C,BBup) Then
{
T = -2;
i4 = 0;
}
if T == -1 Then
i1 = i1+1;
if T == 1 Then
i2 = i2+1;
if T == 2 Then
i3 = i3+1;
if T == -2 Then
i4 = i4+1;
if MarketPosition <= 0 and T == 1 and i2 == 하단위 and i1 >= 하단아래 Then
Buy();
if MarketPosition >= 0 and T == -2 and i4 == 상단아래 and i3 >= 상단위 Then
Sell();
2번
input : Period(30),dv(2);
input : 하단아래(3),하단위(4),상단위(3),상단아래(4);
var : BBup(0),BBmd(0),BBdn(0);
var : T(0),i1(0),i2(0),i3(0),i4(0);
BBup = BollBandUp(Period,dv);
BBmd = ma(c,Period);
BBdn = BollBandDown(Period,dv);
if CrossDown(C,BBdn) Then
{
T = -1;
i1 = 0;
}
if CrossUp(C,BBdn) Then
{
T = 1;
i2 = 0;
}
if CrossUp(C,BBup) Then
{
T = 2;
i3 = 0;
}
if CrossDown(C,BBup) Then
{
T = -2;
i4 = 0;
}
if T == -1 Then
i1 = i1+1;
if T == 1 Then
i2 = i2+1;
if T == 2 Then
i3 = i3+1;
if T == -2 Then
i4 = i4+1;
if MarketPosition <= 0 and T == 1 and i2 == 하단위 and i1 >= 하단아래 Then
Buy();
if MarketPosition >= 0 and T == -2 and i4 == 상단아래 and i3 >= 상단위 Then
Sell();
수고 많으십니다
만들어 주신 수식인데 1번과 2번
같은 내용이나 변수만 약간 틀립니다
문의드릴 내용은
1번 시스템이 매수면 +1점 매도면 -1점
2번 시스템이 매수면 +1점 매도면 -1점
이렇게 2개 시스템에 점수를 합하여
+2점 이면 매수 -2점이면 매도 0점이면 청산
이런 수식을 부탁드립니다
감사합니다
2024-11-07
852
글번호 185058
시스템
답변완료
수식 변환 부탁드립니다.
안녕하세요.
키움수식 변환을좀부탁드립니다.
X=sum(if(c>c(1), v, if(c<c(1), -v, 0)));
Y=valueWhen(1, date!=date(1), X(1));
Z=X-Y;
A=avg(ma(z,1,단순),390);
CrossUP(A,Z)
날씨가 많이 차가워 졌습니다.
환절기에 감기조심하시고
항상 건강 하세요^^
2024-11-07
701
글번호 185057
종목검색
답변완료
질문드리겠습니다
지난 답변 감사드립니다 적용을 해봤는데요
질문 몇 가지 드리고 싶습니다
질문1)
분봉차트에 분-일봉간 크로스업 다운 할때요
마지막줄에 PLOT18 처럼 작성하면 골든 할때 분봉상 H 값이 불러지는게 맞는거죠?~
VAR : 분봉기간(0),일봉기간(0);
var : sum2(0);
분봉기간=60;
일봉기간=20;
m1 = ma(C,분봉기간);
sum2 = 0;
For cnt = 0 to 일봉기간-1
{
sum2 = sum2 + DayClose(cnt);
}
m2 = sum2/일봉기간;
var11 = 0;
if CrossUp(m1,m2) Then
{
var11 = H;
VAR14= 1;
}
if CrossDown(m1,m2) Then
var14 = -1;
IF VAR11>0 THEN Plot18(var11,"MM",OrangE,DeF,1);
질문2) 질문1 내용을 사용자함수로 알려주셨는데요
일단 마지막줄에서
if updown == -1 and CrossDown(m1,m2) Then
MDAYCROSS = true;
MDAYCROSS=FALSE; 로 해야 맞는거죠?
아래는 알려주신 수식입니다
input : MINPERIOD(Numeric),DAYPERIOD(Numeric),updown(Numeric);
var : cnt(0);
var : m1(0),sum2(0),m2(0);
m1 = ma(C,MINPERIOD);
sum2 = 0;
For cnt = 0 to DAYPERIOD-1
{
sum2 = sum2 + DayClose(cnt);
}
m2 = sum2/DAYPERIOD;
MDAYCROSS = False;
if updown == 1 and CrossUp(m1,m2) Then
MDAYCROSS = true;
if updown == -1 and CrossDown(m1,m2) Then
MDAYCROSS = true;
그리고 수식에서 이 함수를 사용해서 H 값을 나타내려고 하는데요
CONDITION1=MDAYCROSS(60,20,1);
IF CONDITION1=TRUE THEN Plot17(H,"MDAY",OrangE,DeF,1);
이렇게 작성하면 H가 모든 봉에서 나오는데 질문1처럼 업할때만 H가 나오게 하려면 어떻게 작성해야할까요
감사합니다
2024-11-07
578
글번호 185041
지표
답변완료
지표 입니다
일목균형표처럼 부탁합니다
정배열상승
A=EAVG(C,200);
A1=EAVG(C,50);
A2=EAVG(C,20);
bearTrend = A > A1 and A1 > A2; // Bearish trend
bullTrend = A < A1 and A1 < A2; // Bullish trend
if(bullTrend, A,0)
정배열하락
A=EAVG(C,200);
A1=EAVG(C,50);
A2=EAVG(C,20);
bearTrend = A > A1 and A1 > A2; // Bearish trend
bullTrend = A < A1 and A1 < A2; // Bullish trend
if(bearTrend , A,0)
20
EAVG(C,20);
핑크색상으로
50
EAVG(C,50);
스카이블루색상으로
2024-11-06
679
글번호 185040
지표