답변완료
문의드립니다.
다시 한번 문의드립니다.
아래 답변대로 적용하면 신호발생후부터 양봉 3개, 음봉 3개가 연속해 나올 때 청산이 됩니다.
제가 만들고자 하는 청산식은
"매수신호 발생후부터가 아니라 매수신호 발생전에 신호가 나온 봉을 포함해 3양봉이 나오고(신호봉은 반드시 3개 양봉중 마지막 양봉이라야 합니다) 그 직후 3음봉이 연달아서 나올 때 청산입니다"
제 표현력의 한계가 이정도이니 양해바랍니다.
-----------------------------------------------------------------------------
if MarketPosition == 1 and BarsSinceEntry == 3 and #매수진입 이후 3봉 경과
CountIf(C > O,3)[BarsSinceEntry] == 3 and #진입봉기준 3연속 양봉
CountIf(C < O,3) == 3 Then #현재 3연속 음봉
ExitLong();
즐거운 하루되세요
> 카르마다 님이 쓴 글입니다.
> 제목 : 문의드립니다.
> 제가 질문하는 능력이 많이 떨어져서 전달이 제대로 안되는 거 같아
한번 더 질문드립니다.
아래는 제 질문에 대한 예스스탁의 답변입니다.
----------------------------------------------------------------------------
안녕하세요
예스스탁입니다.
if CountIf(C>O,3) == 3 and C[3] <= O[3] Then
Buy();
if MarketPosition == 1 and BarsSinceEntry == 3 and CountIf(C<O,3) == 3 Then
ExitLong();
즐거운 하루되세요
> 카르마다 님이 쓴 글입니다.
연속 2양봉후 3번째 양봉에서 매수(즉, 진입봉 포함 연속 3양봉시 매수)진입후 이어서 연속 3음봉일 때 청산하는 식도 구하고 싶습니다. 즉, 3양봉이라서 매수신호가 나왔는데 바로 3음봉으로 꺽이면 청산하는 식입니다.
결국 양봉, 양봉, 양봉(매수신호 발생)후 이어서 음봉, 음봉, 음봉이 연달아 나오면 청산입니다.
----------------------------------------------------------------------------
1. 매수신호가 필요한게 아니라 청산식만 필요합니다.
2. 우선 연속으로 양봉 2개가 나옵니다. 그리고 3번째 양봉이 나오고나서부터 연속해 3음봉이 나오면 청산하는 청산식입니다. 간단히 말하자면 3개의 양봉 후 3개의 음봉이 나오면 청산하느 식입니다. 즉, 진입봉을 포함해 연속 3양봉이 나온후(마지막 봉이 양봉이라야 합니다) 바로 연속해서 3음봉이 나오면 청산하는 식입니다.
미리 노고에 감사드립니다.
답변완료
변환을 부탁드립니다.
트레이딩뷰의 Squeeze Momentum 입니다. 수고스럽겠지만 예스랭귀지로 변환을 부탁드립니다.
//
// @author LazyBear
// List of all my indicators: https://www.tradingview.com/v/4IneGo8h/
//
study(shorttitle = "SQZMOM_LB", title="Squeeze Momentum Indicator [LazyBear]", overlay=false)
length = input(20, title="BB Length")
mult = input(2.0,title="BB MultFactor")
lengthKC=input(20, title="KC Length")
multKC = input(1.5, title="KC MultFactor")
useTrueRange = input(true, title="Use TrueRange (KC)", type=bool)
// Calculate BB
source = close
basis = sma(source, length)
dev = multKC * stdev(source, length)
upperBB = basis + dev
lowerBB = basis - dev
// Calculate KC
ma = sma(source, lengthKC)
range = useTrueRange ? tr : (high - low)
rangema = sma(range, lengthKC)
upperKC = ma + rangema * multKC
lowerKC = ma - rangema * multKC
sqzOn = (lowerBB > lowerKC) and (upperBB < upperKC)
sqzOff = (lowerBB < lowerKC) and (upperBB > upperKC)
noSqz = (sqzOn == false) and (sqzOff == false)
val = linreg(source - avg(avg(highest(high, lengthKC), lowest(low, lengthKC)),sma(close,lengthKC)),
lengthKC,0)
bcolor = iff( val > 0,
iff( val > nz(val[1]), lime, green),
iff( val < nz(val[1]), red, maroon))
scolor = noSqz ? blue : sqzOn ? black : gray
plot(val, color=bcolor, style=histogram, linewidth=4)
plot(0, color=scolor, style=cross, linewidth=2)
답변완료
아래의 키움 수식을 변환 부탁드립니다.
A0=sum(v*(C+O+L+H)/4);
A1=valuewhen(1,date(1)!=date,A0(1));
M0=(A0-A1);
daymoney = M0/100000000;
d0=sum(v*(C+O+L+H)/4);
d1=valuewhen(1,date(1)!=date,d0(1));
d2=valuewhen(2,date(1)!=date,d0(1));
yesterdaymoney = (d1-d2)/100000000 ;
moneyrate = daymoney / yesterdaymoney * 100 ;
AA = daymoney > 금액;
//AA1 = if(daylow() > npredayclose(1),npredayclose(1),daylow());
AA1 = daylow();
BB = dayhigh() > AA1 * 고가이격;
AAA = highest(H,기간);
BBB = valuewhen(1,AA and BB and C >dayopen() and moneyrate > 전거비,if(daylow()<npredayclose(1),daylow(),npredayclose(1)));
(AAA - (AAA - BBB)/4)
감사합니다.
답변완료
예스트레이더 종목검색으로 요청합니다^.^
아래수식은 키움에서 작성한 수식입니다.
이것을 예스 종목검색으로 변환부탁 드립니다...
분봉 기준입니다..
항상 감사드립니다..
대금=(H+O+L+C)/4*V/100000000;
A=IF(C>O,대금,0);
B=SUM(A);
D=ValueWhen(1,Date(1)!=Date,B(1));
양대금=B-D;
A1=IF(C<O,대금,0);
B1=SUM(A1);
D1=ValueWhen(1,Date(1)!=Date,B1(1));
음대금=B1-D1;
CROSSUP(양대금,음대금)
답변완료
수식검토
아래 수식에 문제가 없는지만 봐주세요. 계속 검색에 하나도 안나와서요.
(하이킨아시 차트기준:
1.음봉(-2봉), 양봉(-1봉), 양봉(0봉)
2.2봉전 저가가 BOL(20,2)하한선이하
3.2봉전 RSI(20)<30, 0봉전 RSI(20)>30)
============================================================================
var : haC(0),haO(0),haH(0),haL(0);
var : mav(0),sdv(0),B(0);
var : A(0),A1(0);
#Heiken Ashi 시고저종
if index == 0 then
{
haC = (O+H+L+C)/4;
haO = open;
haH = MaxList( high, haO, haC);
haL = MinList( low, haO,haC);
}
else
{
haC = (O+H+L+C)/4;
haO = (haO [1] + haC [1])/2 ;
haH = MaxList(High, haO, haC) ;
haL = MinList(Low, haO, haC) ;
}
A=(haO+haH+haL+haC)/4;
A1=(haC[1]+haO[1])/2;
mav = ma(hac,20);
sdv = std(hac,20);
B = mav-sdv*2;
Inputs: Length(20);
Var : Counter(0), DownAmt(0), UpAmt(0), UpSum(0), DownSum(0), UpAvg(0), DownAvg(0),haRSI(0);
If Index == Length Then Begin
UpSum = 0;
DownSum = 0;
For Counter = 0 To Length - 1 Begin
UpAmt = haC[Counter] - haC[Counter+1];
If UpAmt >= 0 Then
DownAmt = 0;
Else Begin
DownAmt = -UpAmt;
UpAmt = 0;
End;
UpSum = UpSum + UpAmt;
DownSum = DownSum + DownAmt;
End;
UpAvg = UpSum / Length;
DownAvg = DownSum / Length;
End
Else If Index > length AND Length > 0 Then Begin
UpAmt = haC[0] - haC[1];
If UpAmt >= 0 Then
DownAmt = 0;
Else Begin
DownAmt = -UpAmt;
UpAmt = 0;
End;
UpAvg = (UpAvg[1] * (Length - 1) + UpAmt) / Length;
DownAvg = (DownAvg[1] * (Length - 1) + DownAmt) / Length;
End;
If UpAvg + DownAvg <> 0 Then
haRSI = 100 * UpAvg / (UpAvg + DownAvg);
Else
haRSI = 0;
if haC[2] < HaO[2] and HaC[1] > HaO[1] and HaC > HaO and
haRSI[2] < 30 and haRSI > 30 and
haL[2] < B[2] then
Find(1);