답변완료
지표 수식변환부탁드립니다
Re : 지표 수식변환부탁드립니다
아래지표 코멘트드립니다
예스트레이더 수식으로 전환 부탁드립니다
Avgif(C-A,-1,0.0) // (종가 - 224일지수이평) 값이 0보다 작은값들에 대해서만 평균을구한다
Stdevif(C-A,-1,0.0) // (종가 - 224일지수이평) 값이 0보다 작은값들에 대해서만 표준편차 구한다
기간은 moving 224일동안의 해당되는 평균,표준편차를 구하는것으로 하면 되겠읍니다
> seayun1 님이 쓴 글입니다.
> 제목 : 지표 수식변환부탁드립니다
> 영웅문 수식 변환 부탁드립니다
A=MA(C,가격1,지수);
A+Avgif(C-A,-1,0.0)-2*Stdevif(C-A,-1,0.0)
2023-03-14
1358
글번호 167164
지표
답변완료
수식 문의드립니다
input : Periods(10),Multiplier(3.0),changeATR(true),showsignals(true),highlighting(true);
input : short(12),long(26);
var : src(0),ATr2(0),ATrv(0),upv(0),up1(0),dnv(0),dn1(0);
var : trend(0),macdv(0);
src = (h+l)/2;
atr2 = ma(TrueRange, Periods);
atrv = iff(changeATR , atr(Periods) , atr2);
upv = src-(Multiplier*atrv);
up1 = iff(IsNaN(upv[1]) == False,upv[1],upv);
upv = iff(close[1] > up1 , max(upv,up1) , upv);
dnv =src+(Multiplier*atrv);
dn1 = iff(isnan(dnv[1]) == False,dnv[1], dnv);
dnv = iff(close[1] < dn1 , min(dnv, dn1) , dnv);
trend = 1;
trend = iff(IsNaN(trend[1]) == False,trend[1], trend);
trend = iff(trend == -1 and close > dn1 , 1 , IFf( trend == 1 and close < up1 , -1 , trend));
macdv = macd(short,long);
if trend == 1 and trend[1] == -1 and macdv > 0 Then
{
Buy();
}
if trend == -1 and trend[1] == 1 and macdv < 0 Then
{
exitlong();
}
논라값(참/거짓)이나 논리표현식이 와야 한다고 나옵니다ㅜㅜ
어디가 잘못된것일까요?
2023-03-14
751
글번호 167163
시스템
답변완료
표시 삭제
input : Period(120);
Var:j(0),T(0),count(0),l1(0),l2(0),l3(0);
Var: date11(0),date12(0),time11(0),time12(0),
date21(0),date22(0),time21(0),time22(0),txx(0),
date31(0),date32(0),time31(0),time32(0),tx(0),tx1(0);
Array:HiVal[20](0),LoVal[20](0),HiBar[20](0),LoBar[20](0);
Plot1(value12);
For j = 0 To 19
{
HiBar[j] = HiBar[j] + 1;
LoBar[j] = LoBar[j] + 1;
}
if crossup(c,highest(H,Period)[1]) Then
T = 1;
if CrossDown(c,Lowest(L,Period)[1]) Then
T = -1;
If T == -1 Then
{
If T[1] != -1 Then
{
For j = 18 DownTo 0
{
LoVal[j+1] = LoVal[j];
LoBar[j+1] = LoBar[j];
}
LoVal[0] = L;
LoBar[0] = 0;
date11 = date[HiBar[0]];
time11 = stime[HiBar[0]];
Value11 = HiVal[0];
date12 = date[LoBar[0]];
time12 = stime[LoBar[0]];
Value12 = LoVal[0];
date21 = date[HiBar[0]];
time21 = stime[HiBar[0]];
date22 = date[0];
time22 = stime[0];
Condition1 = False;
Condition11 = False;
count = 0;
}
Else
{
If LoVal[0] >= L Then
{
LoVal[0] = L;
LoBar[0] = 0;
date12 = date[LoBar[0]];
time12 = stime[LoBar[0]];
Value12 = LoVal[0];
date22 = date[0];
time22 = stime[0];
if Condition11 == true and value12 < l2-PriceScale*5 Then
Text_Delete(txx);
Condition1 = False;
}
Else
{
if Condition1 == False and Value12 <= value11-0.5 and H >= value12+PriceScale*3 Then
{
Condition1 = true;
count = count+1;
l1 = value12;
l2 = l1[1];
l3 = l2[1];
if count >= 2 and l1 >= l2-PriceScale*5 Then
{
Condition11 = true;
txx = Text_New(sdate,sTime,H+PriceScale*5,"●");
Text_SetStyle(txx,2,2);
Text_SetColor(txx,Red);
Text_SetSize(txx,25);
}
}
if Condition11 == true and value12 < l2-PriceScale*5 Then
{
Condition11 = False;
Text_Delete(txx);
}
}
}
}
If T == 1 Then
{
If T[1] != 1 Then
{
Text_Delete(txx);
For j = 18 DownTo 0
{
HiVal[j+1] = HiVal[j];
HiBar[j+1] = HiBar[j];
}
HiVal[0] = H;
HiBar[0] = 0;
date11 = date[LoBar[0]];
time11 = stime[LoBar[0]];
Value11 = LoVal[0];
date12 = date[HiBar[0]];
time12 = stime[HiBar[0]];
Value12 = HiVal[0];
date31 = date[LoBar[0]];
time31 = stime[LoBar[0]];
date32 = date[0];
time32 = stime[0];
}
If HiVal[0] < H Then
{
HiVal[0] = H;
HiBar[0] = 0;
date12 = date[HiBar[0]];
time12 = stime[HiBar[0]];
Value12 = HiVal[0];
date32 = date[0];
time32 = stime[0];
}
}
양전환되거나 첫 반등 저점에서 -6틱 도달시, 동그라미 삭제 부분에서,
동그라미가 하나일 때는 잘 되는데, 반등 많은 횡보 구간에서 동그라미가 여러개 생길 경우 마지막 동그라미만 삭제가 되고 이전 것은 저장이 됩니다. 전부 삭제하고 싶습니다.
1방안:다음 동그라미 생기면 동시에 앞 동그라미 삭제.(항상 하나만 존재) (1방안 우선)
2방안:삭제 조건이 되면 일괄 삭제. 등 등. 수정 부탁드립니다.
2023-03-14
893
글번호 167162
지표
답변완료
문의
문의 드립니다.
게시판에서 찾은 추세선 지표인데 아래 지표식에서 텍스트(숫자)가 안 나오게 부탁드립니다.
감사합니다.
input : Left(5),right(5),색1(red),색2(blue),굵기(1);
var : SHcnt(0),SLcnt(0);
var : SHV(0),SHD(0),SHT(0),HTL(0),HTX(0);
var : SHV1(0),SHD1(0),SHT1(0);
var : SLV(0),SLD(0),SLT(0),LTL(0),LTX(0);
var : SLV1(0),SLD1(0),SLT1(0);
if Bdate != bdate[1] Then
{
SHcnt = 0;
SLcnt = 0;
TL_Delete(HTL);
TL_Delete(LTL);
Text_Delete(HTX);
Text_Delete(LTX);
}
if SwingHigh(1,h,left,right,left+right+1) != -1 Then
{
TL_Delete(HTL);
Text_Delete(HTX);
SHcnt = SHcnt+1;
SHV = H[right];
SHD = sDate[right];
SHT = sTime[right];
SHV1 = SHV[1];
SHD1 = SHD[1];
SHT1 = SHT[1];
if SHcnt >= 2 Then
{
HTL = TL_new(SHD1,SHT1,SHV1,SHD,SHT,SHV);
TL_SetColor(HTL,색1);
TL_SetExtRight(HTL,true);
TL_SetSize(HTL,굵기);
HTX = Text_New(NextBarSdate,NextBarStime,SHV,NumToStr(SHV,2));
Text_SetStyle(HTX,0,1);
}
}
Else
{
Text_SetString(HTX,NumToStr(TL_GetValue(HTL,sDate,sTime),2));
Text_SetLocation(HTX,NextBarSdate,NextBarStime,TL_GetValue(HTL,sDate,sTime));
}
if SwingLow(1,L,left,right,left+right+1) != -1 Then
{
TL_Delete(LTL);
Text_Delete(LTX);
SLcnt = SLcnt+1;
SLV = L[right];
SLD = sDate[right];
SLT = sTime[right];
SLV1 = SLV[1];
SLD1 = SLD[1];
SLT1 = SLT[1];
if SLcnt >= 2 Then
{
LTL = TL_new(SLD1,SLT1,SLV1,SLD,SLT,SLV);
TL_SetColor(LTL,색2);
TL_SetExtRight(LTL,true);
TL_SetSize(LTL,굵기);
LTX = Text_New(NextBarSdate,NextBarStime,SLV,NumToStr(SLV,2));
Text_SetStyle(LTX,0,0);
}
}
Else
{
Text_SetString(LTX,NumToStr(TL_GetValue(LTL,sDate,sTime),2));
Text_SetLocation(LTX,NextBarSdate,NextBarStime,TL_GetValue(LTL,sDate,sTime));
}
2023-03-14
797
글번호 167146
지표
답변완료
부탁드립니다
### 매도청산신호 추가부탁드립니다 ###
input : length(12),reverse(false);
input : Period1(5),Period2(10),d1(2),period(40);
Input : P(3),P1(4),P2(5),P3(6),P4(7), LPercent(30), SPercent(65);
var : hh(0),ll(0),ps(0),pssig(0);
var : RSIv(0),rsis(0),stdv(0),t1(0),t2(0),b(0),s(0);
var : Relative(0),Relative1(0),Relative2(0),Relative3(0),Relative4(0);
Var : value(0);
var : s1(0),s2(0),s3(0),s4(0);
hh = highest(high, length);
ll = lowest(low, length);
if C > hh[1] Then
ps = 1;
if C < ll[1] Then
ps = -1;
pssig = iff(reverse and ps == 1, -1, iff(reverse and ps == -1, 1, ps));
if s1 <= 0 and pssig == 1 then
{
s1= 1;
buy("b1");
}
if s1 <= 0 and pssig == -1 then
{
s1 = -1;
}
RSIv = RSI(Period1);
RSIs = ema(RSIv,period2);
stdv = std(rsiv,period2);
t1 = ema(ema(ema(C,5),5),5);
t2 = ema(ema(ema(C,10),10),10);
var1 = lrl(c,period)+lrs(c,period);
b = 0;
if RSIV > rsis+d1*stdv Then
b = b+1;
if t1 > t2 Then
b = b+1;
if var1 > var1[1] Then
b = b+1;
s = 0;
if RSIV < rsis-d1*stdv Then
s = s+1;
if t1 < t2 Then
s = s+ 1;
if var1 < var1[1] Then
s = s+ 1;
if s2 <= 0 and b >= 2 Then
{
s2 = 1;
buy("b2");
}
if s2 >= 0 and s >= 2 Then
s2 = -1;
Relative = RSI(P);
Relative1 = RSI(P1);
Relative2 = RSI(P2);
Relative3 = RSI(P3);
Relative4 = RSI(P4);
value = RSI(P);
# 매수/매도청산
If s3 <= 0 and
Relative > 65 && Relative1 > 65 && Relative2 > 65 && Relative3 > 65
&& Relative4[1] < 65
&& CrossUP(Relative4, sPercent) Then
{
s3 = 1;
Buy("b3");
}
# 매도/매수청산
If s3 >= 0 and CrossDown(Relative1, lPercent) Then
{
s3 = -1;
}
input : dayLen(18);
var : ii(0),v1(0),v2(0),v3(0),v4(0),v5(0);
v1 = (close - close[DayLen - 1]) / (DayLen - 1);
v2 = 0;
For ii = 2 To DayLen - 1 begin
v2 = v2 + abs(close[DayLen - ii] - Close[DayLen - 1] - (ii - 1) * v1);
end;
If v2 <> 0 Then
{
If DayLen / 2 == 0 Then
v3 = accumN(close, DayLen) - DayLen * close[DayLen - 1] - (DayLen * (DayLen - 2) / 2 + DayLen / 2) * v1;
Else
v3 = accumN(close, DayLen) - DayLen * close[DayLen - 1] - DayLen * (DayLen - 1) / 2 * v1;
If v3 > 0 Then
v4 = (v2 - v3) / 2 + v3;
Else
v4 = (v2 + v3) / 2;
v5 = v4 / v2 * 100;
If s4 <= 0 and v1 > 0 And v5 < 20 Then
{
s4 = 1;
buy("b4", Atmarket);
}
If V1 < 0 And V5 > 80 Then
{
s4 = -1;
}
}
2023-03-14
758
글번호 167141
시스템