답변완료
수식 의뢰드립니다.
안녕하세요!
항상 도움을 주셔서 감사합니다!
제가 착각을 해서 설명을 잘못 말씀을 드린건지 만들어주신 수식이 제가 의도한 것과 일부 안 맞는 부분이 있는 것 같아서 확인을 좀 부탁드립니다.
1 >
Data1) 연결선물
Data2) 콜 + Data3) 풋 ===> 교차차트 된 상태
1. 콜의 월고가 풋의 월고를 돌파하여 완성봉이 만들어질 때,
같은 시각 (data1)선물챠트에 파랑수평선(두께1)이 우측으로 발생하는 수식을 부탁드립니다.
2. 풋의 월저가 콜의 월저를 하락하여 완성봉이 만들어질 때
같은 시각 (data1)선물챠트에 파랑수평선(두께1)이 우측으로 발생하는 수식을 부탁드립니다.
마찬가지로
3.콜의 월저가 풋의 월저를 하락하여 완성봉이 만들어질 때
같은 시각 (data1)선물챠트에 빨강수평선(두께1)이 우측으로 발생하는 수식을 부탁드립니다.
4.풋의 월고가 콜의 월고를 돌파하여 완성봉이 만들어질 때
같은 시각 (data1)선물챠트에 빨강수평선(두께1)이 우측으로 발생하는 수식을 부탁드립니다.
-------------------------------------
Data1) 연결선물
Data2) 콜 + Data3) 풋 ===> 교차차트 된 상태
콜의 현재가가 풋의 전고 또는 2전고를 돌파하여 완성봉이 만들어지면 또는
풋의 현재가가 콜의 전저 또는 2전저를 하락하여 완성봉이 만들어지면 같은 시각 (data1)선물챠트에 녹색수평선(두께2)이 우측으로 발생하는 수식을 부탁드립니다.
마찬가지로
콜의 현재가가 풋의 전저, 2전저를 하락하여 완성봉이 만들어지면 또는
풋의 현재가가 콜의 전고, 2전고를 돌파하여 완성봉이 만들어지면 같은 시각 (data1)선물챠트에 녹색수평선(두께2)이 우측으로 발생하는 수식을 부탁드립니다.
========================================================================
var : nday2(0,data2),week2(0,Data2),X2(false,Data2),H2(0,Data2),L2(0,Data2);
var : nday3(0,data3),week3(0,Data3),X3(false,Data3),H3(0,Data3),L3(0,Data3);
nday2 = data2(date - int(date/100)*100);
Week2 = data2(DayOfWeek(date));
if Data2(Bdate != Bdate[1]) Then
{
if nday2 >= 8 and nday2 <= 14 and week2 == 4 then
X2 = true;
Else
X2 = False;
if X2 == true and X2[1] == False Then
{
H2 = Data2(H);
L2 = Data2(L);
}
}
if h2 > 0 and Data2(h) > h2 Then
h2 = Data2(h);
if l2 > 0 and Data2(l) < l2 Then
l2 = Data2(l);
nday3 = data3(date - int(date/100)*100);
Week3 = data3(DayOfWeek(date));
if Data3(Bdate != Bdate[1]) Then
{
if nday3 >= 8 and nday3 <= 14 and week3 == 4 then
X3 = true;
Else
X3 = False;
if X3 == true and X3[1] == False Then
{
H3 = Data3(H);
L3 = Data3(L);
}
}
if h3 > 0 and Data3(h) > h3 Then
h3 = Data3(h);
if l3 > 0 and Data3(l) < l3 Then
l3 = Data3(l);
if CrossUp(Data2(c),H3) or CrossUp(Data3(c),H2) Then
value1 = c;
if CrossDown(Data2(c),L3) or CrossDown(Data3(c),L2) Then
value2 = c;
if value1 > 0 Then
Plot1(value1,"1",Blue,Def,2);
if value2 > 0 Then
Plot2(value2,"2",Red,Def,2);
if CrossUp(Data2(c),Data3(HighD(1))) or CrossUp(Data3(c),Data2(HighD(1))) Then
value3 = c;
if CrossDown(Data2(c),Data3(LowD(1))) or CrossDown(Data3(c),Data2(LowD(1))) Then
value4 = c;
if value3 > 0 Then
Plot3(value3,"3",Green,Def,2);
if value4 > 0 Then
Plot4(value4,"4",Green,Def,2);
if CrossUp(Data2(c),Data3(HighD(2))) or CrossUp(Data3(c),Data2(HighD(2))) Then
value5 = c;
if CrossDown(Data2(c),Data3(LowD(2))) or CrossDown(Data3(c),Data2(LowD(2))) Then
value6 = c;
if value5 > 0 Then
Plot5(value5,"5",Green,Def,2);
if value6 > 0 Then
Plot6(value6,"6",Green,Def,2);
======================================================================
2 > 첨부파일처럼 수식에서 가능한지 여쭙고 싶습니다!
일봉의 고가, 저가, 시가, 그리고 큰 글씨가 현재가 입니다!
개인적으론 A안을 원하지만, 만약 수식적으로 불가능하다면 B안도 좋은 대안이라 생각합니다. 가격들의 글자 크기와 색상들는 제가 설정할 수 있게 외부변수로 만들어 주시 길 희망합니다!
2022-10-31
1364
글번호 163383
지표
답변완료
n자 파동 검색식 요청드려요 수정요청
안녕하세
몇일전에 요청드렸는데 몇가지 수정 요청드립니다
( 원본글 제목 : n자 파동 검색식 요청드려요 )
- 해당글에 예시 이미지 있음
아래내용중에
5분봉상 하루(76)봉 내에
   N자 파동이 2번 이상 발생한종목 검색 이될수있도록 수정
   - 저점과 고점의 변동폭 3.5%이상일때 하나의 파동으로 카운트.
그리고 각 n자파동의 저점 고점에대한 강조표시? 가 될스있도록
수정부탁드려요
감사드립니다.
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : n자 파동 검색식 요청드려요
> 안녕하세요
예스스탁입니다.
1
Input:전환비율(3.5),nday(0);
1번,2번 수식내용은 같습니다.
외부변수로 전환비율과 고점3개의 날짜차이만 지정하시면 됩니다.
고점3개가 모두 당일이면 0, 전일까지 포함이면 1과 같이 지정하시면 됩니다.
2
검색식은 차트에 적용해서 조건만족봉에 점을 찍어 표시하는 식입니다.
종목검색식이면 아래 수식 내용 중에 Plot1(H,"검색",Magenta);
을 find(1);로 변경하시면 됩니다.
3
Input:전환비율(3.5),nday(0);
Var:j(0),jj(0),HH(0),LL(0),hiBar(0),loBar(0),최종꼭지점(""),처리구분(""), TL1(0),Text1(0);
Array:고[10,4](0),저[10,4](0);
HH = H;
LL = L;
If Index == 0 Then
{
      고[1,1] = HH;
      고[1,2] = 0;
      고[1,3] = sDate;
      고[1,4] = sTime;
      저[1,1] = LL;
      저[1,2] = 0;
      저[1,3] = sDate;
      저[1,4] = sTime;
}
If Index > 0 Then
{
   hiBar = hiBar + 1;
   loBar = loBar + 1;
}
If HH[hiBar] < HH Then hiBar = 0;
If LL[loBar] > LL Then loBar = 0;
Condition1 = 저[1,1] * (1 + (전환비율/100)) < HH and hiBar == 0;
Condition2 = 고[1,1] * (1 - (전환비율/100)) > LL and loBar == 0;
처리구분 = "";
If Condition1 and Condition2 Then                // 고점과 저점 조건 동시 만족
{
   If 최종꼭지점 == "저점" Then
   {
      If 저[1,1] > LL Then 처리구분 = "저점처리";
      Else                 처리구분 = "고점처리";
   }
   Else If 최종꼭지점 == "고점" Then
   {
      If 고[1,1] < HH Then 처리구분 = "고점처리";
      Else                 처리구분 = "저점처리";
   }
}
Else If Condition1 Then 처리구분 = "고점처리";
Else If Condition2 Then 처리구분 = "저점처리";
If 처리구분 == "고점처리" Then
{
      If 최종꼭지점 == "저점" Then
      {
            For j = 10 DownTo 2
            {
                  For jj = 1 To 4
                  {
                        고[j,jj] = 고[j-1,jj];
                  }
            }
            고[1,1] = HH[hiBar];
            고[1,2] = Index - hiBar;
            고[1,3] = sDate[hiBar];
            고[1,4] = sTime[hiBar];
            hiBar   = -1;
            loBar   = -1;
      }
      Else If 고[1,1] < HH[hiBar] Then                    // 1번 고점보다 높은 고가 출현
      {
            고[1,1] = HH[hiBar];
            고[1,2] = Index - hiBar;
            고[1,3] = sDate[hiBar];
            고[1,4] = sTime[hiBar];
            hiBar   = -1;
            loBar   = -1;
      }
      최종꼭지점 = "고점";
}
If 처리구분 == "저점처리" Then
{
   If 최종꼭지점 == "고점" Then
   {
            For j = 10 DownTo 2
            {
                  For jj = 1 To 4
                  {
                        저[j,jj] = 저[j-1,jj];
                  }
            }
            저[1,1] = LL[loBar];
            저[1,2] = Index - loBar;
            저[1,3] = sDate[loBar];
            저[1,4] = sTime[loBar];
            hiBar   = -1;
            loBar   = -1;     
            
            if 고[1,1] > 고[2,1] and 고[2,1] > 고[3,1] and 고[3,1] > 0 and
                  저[2,1] > 저[3,1] and 저[3,1] > 저[4,1] and 
                  (고[1,3] - 고[3,3]) == nday Then
                  Plot1(H,"검색",Magenta);
      }
      Else If 저[1,1] > LL[loBar] Then
      {
            저[1,1] = LL[loBar];
            저[1,2] = Index - loBar;
            저[1,3] = sDate[loBar];
            저[1,4] = sTime[loBar];
            hiBar   = -1;
            loBar   = -1;
      }
      최종꼭지점 = "저점";
}
즐거운 하루되세요
> 파란자전거 님이 쓴 글입니다.
> 제목 : n자 파동 검색식 요청드려요
> 
1. 5분봉상 하루(76)봉 내에
   N자 파동이 2번 이상 발생한종목 검색
   - 저점과 고점의 변동폭 3.5%이상일때 하나의 파동으로 카운트
   첫번째 파동보다 두번째 파동의 고점이높을것
   첫번째 파동의 저점보다 두번째 파동의 저점이 낮으면 않됨
   두번째 파동보다 세번째 파동의 고점이 높을것
   두번째 파동의 저점보다 세번째 파동의 저점이 낮으면 않됨
   n번째 파동보다 n+1의 파동의 고점이 높을것
   n번째 파동의 저점보다 n+1번째 파동의 저점이 낮으면 않됨
2. 5분봉상 이틀(152)봉 내에
   N자 파동이 2번 이상 발생한종목 검색
   - 저점과 고점의 변동폭 5.5%이상일때 하나의 파동으로 카운트
   첫번째 파동보다 두번째 파동의 고점이높을것
   첫번째 파동의 저점보다 두번째 파동의 저점이 낮으면 않됨
   두번째 파동보다 세번째 파동의 고점이 높을것
   두번째 파동의 저점보다 세번째 파동의 저점이 낮으면 않됨
2022-10-28
1101
글번호 163366
검색
답변완료
79357 번 수식의뢰 에서
작성해주신 수식에서
스토캐스틱RSI 값이
79310번 글에서 요청하여 작성해주신 수식의 값과 다른데
타주스스토캐스틱RSI(14,3,3) 와
현 설정챠트 스토캐스틱RSI(14,3,3) 동일수식 변수입니다.
수정부탁드립니다
사용자함수로 StoRsi StoK StoD 를 작성해두었으니 참고 바랍니다.
/////////////
input : RSIPeriod(NumericSimple),Period(NumericSimple),K(NumericSimple),D(NumericSimple);
var : RSIV(0);
RSIv = RSI(RSIPeriod);
StoRsi = (RSIv- lowest(RSIv,Period)) / ( highest(RSIv,Period)-lowest(RSIv,Period) ) *100 ;
///////////
input : RSIPeriod(NumericSimple),Period(NumericSimple),K(NumericSimple),D(NumericSimple);
var : RSIV(0),StoRsi(0);
RSIv = RSI(RSIPeriod);
StoRsi = (RSIv- lowest(RSIv,Period)) / ( highest(RSIv,Period)-lowest(RSIv,Period) ) *100 ;
StoK = ma(StoRsi,K);
//////////////
input : RSIPeriod(NumericSimple),Period(NumericSimple),K(NumericSimple),D(NumericSimple);
var : RSIV(0),StoRsi(0),StoK(0);
RSIv = RSI(RSIPeriod);
StoRsi = (RSIv- lowest(RSIv,Period)) / ( highest(RSIv,Period)-lowest(RSIv,Period) ) *100 ;
StoK = ma(StoRsi,K);
StoD = ma(StoK,D);
//////////////////
===========
안녕하세요
예스스탁입니다.
Input : 타주기분(15), RSIPeriod(14),Period(14),K(3),D(3);
var : cnt(0),S1(0),D1(0),TM(0),TF(0);
var : SigSum(0),count2(0),RSIsig(0);
Var : Counter(0), DownAmt(0), UpAmt(0), UpSum(0), DownSum(0), UpAvg(0), DownAvg(0);
var : idx(0), PreUpAvg(0), preDownAvg(0),HH(0),LL(0),sum1(0),sum2(0);
Array : C1[100](0),RSIV[100](-1),StoRsi[100](-1),Stok[100](-1),StoD[100](-1);
if Bdate != Bdate[1] Then
{
S1 = TimeToMinutes(stime);
D1 = sdate;
}
if D1 > 0 then
{
if sdate == D1 Then
TM = TimeToMinutes(stime)-S1;
Else
TM = TimeToMinutes(stime)+1440-S1;
TF = TM%타주기분;
if Bdate != Bdate[1] or
(Bdate == Bdate[1] and 타주기분 > 1 and TF < TF[1]) or
(Bdate == Bdate[1] and 타주기분 > 1 and TM >= TM[1]+타주기분) or
(Bdate == Bdate[1] and 타주기분 == 1 and TM > TM[1]) Then
{
for cnt = 1 to 99
{
C1[cnt] = C1[cnt-1][1];
RSIv[cnt] = RSIv[cnt-1][1];
StoRsi[cnt] = StoRsi[cnt-1][1];
Stok[cnt] = Stok[cnt-1][1];
Stod[cnt] = Stod[cnt-1][1];
}
PreUpAvg = UpAvg[1];
preDownAvg = DownAvg[1];
idx = idx + 1;
}
C1[0] = C;
If idx == RSIPeriod+2 Then
{
UpSum = 0;
DownSum = 0;
For Counter = 0 To RSIPeriod - 1 {
UpAmt = C1[Counter] - C1[Counter+1];
If UpAmt >= 0 Then
DownAmt = 0;
Else{
DownAmt = -UpAmt;
UpAmt = 0;
}
UpSum = UpSum + UpAmt;
DownSum = DownSum + DownAmt;
}
UpAvg = UpSum / RSIPeriod;
DownAvg = DownSum / RSIPeriod;
}
If idx > RSIPeriod+2 Then {
UpAmt = C1[0] - C1[1];
If UpAmt >= 0 Then
DownAmt = 0;
Else {
DownAmt = -UpAmt;
UpAmt = 0;
}
UpAvg = (PreUpAvg * (RSIPeriod - 1) + UpAmt) / RSIPeriod;
DownAvg = (preDownAvg * (RSIPeriod - 1) + DownAmt) / RSIPeriod;
}
If UpAvg + DownAvg <> 0 Then
RSIv[0] = 100 * UpAvg / (UpAvg + DownAvg);
Else
RSIv[0] = 0;
if RSIV[Period-1] >= 0 Then
{
hh = RSIV[0];
LL = RSIV[0];
For cnt = 0 to Period-1
{
if RSIV[cnt] > hh Then
hh = RSIV[cnt];
if RSIV[cnt] < ll Then
ll = RSIV[cnt];
}
StoRsi[0] = (RSIv[0]- LL) / (HH-LL) *100 ;
}
if StoRsi[K-1] >= 0 Then
{
sum1 = 0;
For cnt = 0 to K-1
{
sum1 = sum1 + StoRsi[cnt];
}
stok[0] = sum1/K;
plot1(stok[0],"stoRSIK");
}
if Stok[D-1] >= 0 Then
{
sum2 = 0;
For cnt = 0 to D-1
{
sum2 = sum2 + StoK[cnt];
}
stod[0] = sum2/d;
plot2(stoD[0],"stoRSID");
}
PlotBaseLine1(20, "기준선 20");
PlotBaseLine2(80, "기준선 80");
PlotBaseLine3(50, "기준선 50");
}
2022-10-28
921
글번호 163359
시스템
답변완료
부탁드립니다.
문의드립니다.
전에 한번 문의드렸는데
누락된 수식이 있어서 재 문의 드립니다.
키움조건식인데
1. 첫번째
B = sum(if(c>o,v,if(c<o,-v,0)));
B2 = valueWhen(1, date(1)!=date, B(1) );
B - B2
2. 두번째는 분봉피보나치 지표인데
커뮤니티에 답변된 수식과 아래의 수식의 지표선과 다르네요.
---..23.6---
AH=dayhigh();
AL=daylow();
B1=BarsSince(AH==H);
B2=BarsSince(AL==L);
B3=AH-AL;
P1=if(B1>B2,AL+B3*0.236,AH-B3*0.236);
P2=if(B1>B2,AL+B3*0.382,AH-B3*0.382);
P1
---38.2
AH=dayhigh();
AL=daylow();
B1=BarsSince(AH==H);
B2=BarsSince(AL==L);
B3=AH-AL;
P1=if(B1>B2,AL+B3*0.236,AH-B3*0.236);
P2=if(B1>B2,AL+B3*0.382,AH-B3*0.382);
P2
--- 50
AH=dayhigh();
AL=daylow();
B1=BarsSince(AH==H);
B2=BarsSince(AL==L);
B3=AH-AL;
P3=if(B1>B2,AL+B3*0.5,AH-B3*0.5);
P4=if(B1>B2,AL+B3*0.618,AH-B3*0.618);
P3
--61.8
B1=BarsSince(AH==H);
B2=BarsSince(AL==L);
B3=AH-AL;
P3=if(B1>B2,AL+B3*0.5,AH-B3*0.5);
P4=if(B1>B2,AL+B3*0.618,AH-B3*0.618);
P4
변환 부탁드립니다.
수고하세요
2022-10-28
1075
글번호 163357
지표