답변완료
질문드립니다.
5일선이 10일선을 상향돌파하면 "조건1 만족"
조건1이 만족한 상태에서, 5일선이 10일선을 다시 하향돌파하면 "조건2 만족"
조건1, 2가 만족한 상태에서, 다시 5일선이 10일선을 상향돌파하면 "조건3 만족"
조건1, 2, 3이 만족했을 때, 조건 1이 만족할 때의 저점(5일선이 10일선 상향 돌파 시점 전, 캔들 N개의 최저점)보다 조건 3을 만족할 때의 저점(5일선이 10일선 상향 돌파 시점 전, 캔들 N개의 최저점)이 높을 시, "매수"
-----
5일선이 10일선을 하향돌파하면 "조건1 만족"
조건1이 만족한 상태에서, 5일선이 10일선을 다시 상향돌파하면 "조건2 만족"
조건1, 2가 만족한 상태에서, 다시 5일선이 10일선을 하향돌파하면 "조건3 만족"
조건1, 2, 3이 만족했을 때, 조건 1이 만족할 때의 고점(5일선이 10일선 하향 돌파 시점 전, 캔들 N개의 최고점)보다 조건 3을 만족할 때의 고점(5일선이 10일선 하향 돌파 시점 전, 캔들 N개의 최고점)이 낮을 시, "매도"
부탁드립니다. 감사합니다
2020-02-10
338
글번호 135824
시스템
답변완료
부탁합니다
input : Period(12),Period1(12);
Input : BBP(20), MultiD(2);
var : BBmd(0),BBup(0),BBdn(0);
var : t1(0),t2(0),t3(0),diff(0),hh(0),ll(0),h1(0),l1(0);
var1 = trix(Period);
var2 = ma(C,Period1);
BBmd = ma(C,BBP);
BBup = BollBandUp(Period,BBP);
BBdn = BollBandDown(Period,BBP);
if crossup(var1,0) Then
value1 = var2;
if var2 > value1 Then
value1 = var2;
if CrossDown(var1,0) Then
value2 = var2;
if var2 < value2 Then
value2 = var2;
#plot1(value1);
#plot2(value2);
#plot3(var2);
if bbup > bbup[1] Then
t1 = 1;
if bbup < bbup[1] Then
t1 = -1;
if bbdn > bbdn[1] Then
t2 = 1;
if bbdn < bbdn[1] Then
t2 = -1;
diff = bbup-bbdn;
if diff > diff[1] Then
t3 = 1;
if diff < diff[1] Then
t3 = -1;
if t3 == 1 and t3 != t3[1] then
{
hh = diff;
h1 = hh[1];
}
if t3 == -1 and t3 != t3[1] then
{
ll = diff;
l1 = ll[1];
}
if t3 == -1 and diff < ll Then
ll = diff;
if MarketPosition <= 0 then
{
if CrossUp(var2,value2) and value1 != value1[1] Then
buy("b1");
if var2 > value2 and value1 != value1[1] and C > O and C < ma(C,10) Then
buy("b2");
if CrossUp(var2,value2) and value1 != value1[1] and !(bbup < bbup[1] and bbdn > bbdn[1]) Then
buy("b3");
}
if MarketPosition == 1 then
{
ExitLong("bx1",AtStop,value2[BarsSinceEntry]-PriceScale*15);
if CrossDown(var2,value1) Then
exitlong("bx2");
if t1 == -1 and t1 != t1[1] and t3 == -1 and hh >= l1*2 and countif(t3 !=t3[1],30) >= 1 Then
exitlong("bx3");
}
if MarketPosition >= 0 then
{
if CrossDown(var2,value2) and value1 != value1[1] Then
sell("s1");
if var2 < value2 and value1 != value1[1] and C < O and C > ma(C,10) Then
sell("s2");
if CrossDown(var2,value2) and value1 != value1[1] and !(bbup > bbup[1] and bbdn < bbdn[1]) Then
sell("s3");
}
if MarketPosition == -1 then
{
ExitShort("sx1",AtStop,value2[BarsSinceEntry]+PriceScale*15);
if CrossUp(var2,value1) Then
ExitShort("sx2");
if t2 == 1 and t2 != t2[1] and t3 == 1 and ll <= h1/2 and countif(t3 !=t3[1],30) >= 1 Then
ExitShort("sx3");
}
2
Input : Period(12), sigPeriod(9);
var : TRIXv(0),TRIXsig(0);
TRIXv = TRIX(Period);
TRIXsig = ema(TRIX(Period),sigPeriod);
plot1(TRIXsig-TRIXsig[1],"sig",iff( TRIXsig-TRIXsig[1] > 0,red,BLUE));
즐거운 하루되세요
> as8282 님이 쓴 글입니다.
> 제목 : 부탁합니다
> input : Period(12),Period1(12);
var1 = trix(Period);
var2 = ma(C,Period1);
if crossup(var1,0) Then
value1 = var2;
if var2 > value1 Then
value1 = var2;
if CrossDown(var1,0) Then
value2 = var2;
if var2 < value2 Then
value2 = var2;
plot1(value1);
plot2(value2);
plot3(var2);
지표식인데 시스템으로 만들고 싶습니다.
1) 매수
1-1) 매수 첫번째 경우
*** plot3의 가격이 plot2의 가격 밑에서 올라오면서 plot2의 가격위로 올라오면 매수 ( 종가매수 )
( 단, 매수시점에 plot1의 가격이 일정하게 유지 ( 전봉과 같은가격 )되고 있으면 매수금지)
1-2 ) 매수 두번째
*** 위 1-1 )의 매수조건이 유지되고있는 상황에서 현재가가 이평선 10일 이하에서
양봉이 보이면 바로매수
( 마찬가지로 plot1의 가격이 일정하게 유지 ( 전봉과 같은가격 )되고 있으면 매수금지)
1-3) 매수 첫번째 1-1) 에서 볼린저밴드의 상한선이 하향하고 동시에
하한선이 상향하면 매수금지
2) 매수청산
2-1) 손절은 매수시점의 plot2의 가격 밑에서 15틱
( 손절이후 매수조건이 다시 충족되면 매수 )
2-2) 매수이후 plot3의 가격이 위에서 내려오면서 plot1의 가격을 내려가면
( 매도조건 ) 매수청산
2-3) 매수이후 전30봉을 확인하여 볼린저밴드가 최저폭의 2배이상 벌어졌다가
줄어들면서 볼린저밴드의 상한선이 상향에서 하향으로 바뀌면 청산
=========================================================================
예스님이 작성해주신 수식인데 조건을 변경해서 다시 부탁드립니다.
위의 조건을 모두 무시하고 새로운조건만 적용합니다.
1) 매수
1-1) 매수 첫번째 경우
전봉에서 plot3의 가격이 plot2의 가격이 같거나 밑에서 올라오고
현재봉의 plot2의 가격이 전봉의 plot2가격과 같을때 종가매수
(단, 매수신호가격이 plot2 가격의 30틱이상이면 매수금지 )
1-2) plot3의 가격이 plot2가격의 위에있으면서 plot2의 가격이 전봉과 같은가격이 (일정하게)유지되고있고
plot1의 가격이 전봉과 같은가격으로 유지되다가 plot1의 가격이 올라가면 매수
(단, 매수신호가격이 plot2 가격의 30틱이상이면 매수금지 )
1-3 )
위 1-1 ), 1-2)의 매수조건중 (단, 매수신호가격이 plot2 가격이 30틱이상이면 매수금지 ) 때문에 신호발생이 안되는 상황이면
이평선 10일 이하에서 양봉이 보이면 바로매수( 종가매수아닌 실시간체결 )
>>>( 매수신호가격이 plot2 가격의 30틱이상이면 매수금지 ) >>> 조건 없음
( 단 1-1),1-2) 신호조건이 발생후 5봉 이후까지만 신호발생되게 부탁합니다.)
1-4) 1-1) 1-2) 1-3)은 상기지표 2 트릭스시그널과
스토캐스틱도 같은 상황의 지표를 만들어서
두가지 지표가 모두 반대 ( 음봉 )이면 매수금지( 한가지 지표만 반대이면 매수가능 )
>>> 신호발생봉이 위 지표조건때문에 신호가 발생되지않고 다음봉이후 5봉까지 한가지 신호라도 양봉으로 조건이 바뀌면 매수조건 1-3)으로 매수신호 발생되게 부탁드립니다.( 5봉까지 == 5봉 이후에도 지표가 한가지라도 양봉이 안나오면 매수금지)
>>>> 이 조건은 주석 부탁드립니다.
아직 예스가 서툴러서 조건 삭제할수도 있으나 잘 몰라서 따로 부탁드립니다.
1-5 ) 1-1),1-2),1-3),1-4) 매수조건 공통으로
전봉 30봉을 확인하면서 최대폭의 50%이하로 줄면 매수금지
2) 매수청산
2-1) 손절은 매수시점의 plot2의 가격 밑에서 15틱
( 손절이후 매수조건이 다시 충족되면 매수 )
2-2) 매수이후 전30봉을 확인해가면서 볼린저밴드가 최저폭의 2배이상 벌어졌다가
줄어들면서 볼린저밴드의 상한밴드가 하향으로 바뀌면 청산
2-3) 전봉에서 plot3의 가격이 plot2의 가격이 같거나 밑에서 올라오고
현재봉의 plot2의 가격이 전봉의 plot2가격과 같을때 청산
매도는 반대
2020-02-11
370
글번호 135820
시스템
답변완료
문의드립니다.
지난번에 다음과 같이 답을 주셨습니다.
문의드릴 내용은 아래의 수식에 적합이동평균 40선을 추가하여 5개선 안쪽을 색채우기 하고자
하는 것입니다. 추가되는 적합이평의 기간값도 수정가능하게 부탁드립니다.
항상 감사드립니다. 수고하세요!!!
================================
속서에서 plot7(최고) > plot8(최저)로 조건지정하고 색지정하시면 됩니다.
Input : 기간1(120);
value1 = Ceiling((기간1 + 1) * .5);
value2 = ma(ma(C, value1),value1);
input : 기간2(120);
var : Hval(0),Lval(0),MID(0);
Hval = highest(H,기간2);
Lval = Lowest(L,기간2);
MID = Lval + (Hval-Lval)/2;
input : Period(120);
var : Hval1(0),Lval1(0),UPV1(0),MID1(0),DOWNV1(0);
Hval1 = highest(H,Period);
Lval1 = Lowest(L,Period);
UPV1 = Hval1 - (Hval1-Lval1)/3;
MID1 = Lval1 + (Hval1-Lval1)/2.8;
DOWNV1 = Lval1 + (Hval1-Lval1)/3;
input : P4(9),P5(26);
Var : 기준선(0), 전환선(0);
전환선 = (Highest(High, P4) + Lowest(Low, P4)) / 2;
기준선 = (Highest(High, P5) + Lowest(Low, P5)) / 2;
Var4 = ma(전환선,P4);
Var5 = ma(기준선,P5);
plot2(Var4);
plot3(Var5);
input : 가중이평기간(7);
value10 = wma(c,가중이평기간);
Condition1 = value10 > max(value2,mid,Var5);
Condition2 = value10 < min(value2,mid,Var5);
if Condition1 == true and Condition1[1] == false Then
value99 = Min(value2,mid,Var5);
if Condition2 == true and Condition2[1] == false Then
value99 = Max(value2,mid,Var5);
plot1(value99);
Input : Length1(20);
Var : TLen1(0),Tma1(0);
TLen1 = Ceiling((Length1 + 1) * .5);
Tma1 = ma(ma(C, TLen1), TLen1);
plot4(tma1,"삼각");
Inputs: AMDPeriod(20);
Vars: Noise(0), Signal(0), Diff(0), efRatio(0), Smooth(1), Fastest(0.6667), Slowest(0.0645), AdaptMA(0);
Diff = AbsValue(Close - Close[1]);
IF CurrentBar <= AMDPeriod Then
AdaptMA = Close;
IF CurrentBar > AMDPeriod Then Begin
Signal = AbsValue(Close - Close[AMDPeriod]);
Noise = accumN(Diff, AMDPeriod);
efRatio = Signal / Noise;
Smooth = Power(efRatio * (Fastest - Slowest) + Slowest, 2);
AdaptMA = AdaptMA[1] + Smooth * (Close - AdaptMA[1]);
End;
plot5(AdaptMA,"적합");
input : tironePeriod(50);
var : Hh(0),Ll(0),mm(0);
hh = highest(H,tironePeriod);
ll = Lowest(L,tironePeriod);
mm = ll + (hh-ll)/2;
plot6(mm,"티론중간");
var : maxv(0),minv(0);
maxv = max(value99,tma1,adaptma,mm);
minv = min(value99,tma1,adaptma,mm);
plot7(maxv,"최고");
plot8(minv,"최저");
2020-02-10
335
글번호 135800
지표
답변완료
예스트레이더 수식으로 변환 문의드립니다.
//input variables
Length=input(title="Look Back Period", type=integer, defval=22)
ATRPeriod=input(title="ATR Period", type=integer, defval=22)
Mult=input(title="ATR Multiplier", type=integer, defval=3)
//calculate stop value
short_stop = lowest(Length)+Mult*atr(ATRPeriod)
long_stop = highest(Length)-Mult*atr(ATRPeriod)
shortvs=na(shortvs[1]) ? short_stop : iff(close>shortvs[1], short_stop , min(short_stop,shortvs[1]))
longvs=na(longvs[1]) ? long_stop : iff(close<longvs[1], long_stop, max(long_stop,longvs[1]))
longswitch=iff (close>=shortvs[1] and close[1]<shortvs[1] , 1 , 0)
shortswitch=iff (close<=longvs[1] and close[1]>longvs[1] , 1 , 0)
direction= iff(na(direction[1]), 0,
iff (direction[1]<=0 and longswitch, 1,
iff (direction[1]>=0 and shortswitch, -1, direction[1])))
pc=direction>0?longvs:shortvs
plot(pc, color=direction>0?aqua:fuchsia, style=circles, linewidth=2)
plot(pc, color=direction>0?aqua:fuchsia, style=line, linewidth=2)
감사합니다.
2020-02-10
335
글번호 135795
지표