커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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점이면 청산 이런 수식을 부탁드립니다 감사합니다
프로필 이미지
cjfdk
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) 날씨가 많이 차가워 졌습니다. 환절기에 감기조심하시고 항상 건강 하세요^^
프로필 이미지
스톰82
2024-11-07
701
글번호 185057
종목검색

사공하늘 님에 의해서 삭제되었습니다.

프로필 이미지
사공하늘
2024-11-07
394
글번호 185054
검색
답변완료

트레일링스탑식

예) 100p 이상 수익 후 최대수익대비 50%하락하면 익절한다.를 표현부탁합니다.
프로필 이미지
산수유
2024-11-07
638
글번호 185046
시스템

사공하늘 님에 의해서 삭제되었습니다.

프로필 이미지
사공하늘
2024-11-07
423
글번호 185045
검색

하루삼프로 님에 의해서 삭제되었습니다.

프로필 이미지
하루삼프로
2024-11-07
50
글번호 185044
종목검색

묻어가는자 님에 의해서 삭제되었습니다.

프로필 이미지
묻어가는자
2024-11-07
11
글번호 185042
종목검색
답변완료

질문드리겠습니다

지난 답변 감사드립니다 적용을 해봤는데요 질문 몇 가지 드리고 싶습니다 질문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가 나오게 하려면 어떻게 작성해야할까요 감사합니다
프로필 이미지
yamu
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
지표