예스스탁
예스스탁 답변
2021-07-20 13:43:12
안녕하세요
예스스탁입니다.
input : P1(5),P2(20);
input : sto1(10),sto2(5),sto3(5);
var : stok(0),stod(0);
var : mav1(0),mav2(0),T(0),Xcond(False);
stok = stochasticsK(sto1,sto2);
stod = stochasticsD(sto1,sto2,sto3);
mav1 = ma(C,P1);
mav2 = ma(C,P2);
if CrossUp(mav1,mav2) Then
T = 1;
if CrossDown(mav1,mav2) Then
T = -1;
Xcond = MarketPosition == 0 and IsExitName("StopProfitTarget",1) == true and BarsSinceExit(1) <= 2;
if T == 1 and CrossUp(stok,stod) Then
{
T = 2;
if Xcond == False Then
Buy("b");
}
if T == -1 and CrossDown(stok,stod) Then
{
T = -2;
if Xcond == False Then
Sell("s");
}
SetStopProfittarget(1.5,PointStop);
SetStopLoss(0.8,PointStop);
즐거운 하루되세요
> 손추 님이 쓴 글입니다.
> 제목 : 코딩 보완 요청
> 안녕하세요?
다음과 같은 매매로직에서 익절 청산이 되면
청산후 봉 2개정도는 다음 루틴 실행이 안되도록 보완해 주고 싶은데
어떻게 해야 하나요?
익절 청산후 바로 신호 나오는 경우가 있네요.
원치 않는 신호인데...
-------------
input : P1(5),P2(20);
input : sto1(10),sto2(5),sto3(5);
var : stok(0),stod(0);
var : mav1(0),mav2(0),T(0);
stok = stochasticsK(sto1,sto2);
stod = stochasticsD(sto1,sto2,sto3);
mav1 = ma(C,P1);
mav2 = ma(C,P2);
if CrossUp(mav1,mav2) Then
T = 1;
if CrossDown(mav1,mav2) Then
T = -1;
if T == 1 and CrossUp(stok,stod) Then
{
T = 2;
Buy("b");
}
if T == -1 and CrossDown(stok,stod) Then
{
T = -2;
Sell("s");
}
SetStopProfittarget(1.5,PointStop);
SetStopLoss(0.8,PointStop);