예스스탁
예스스탁 답변
2022-07-13 10:03:40
안녕하세요
예스스탁입니다.
var : T(0),S(0),mav(0),t2(0),s2(0);
mav = ma(c,20);
if Bdate != Bdate[1] Then
{
T = 0;
S = 0;
if L[1] > mav[1] and H < mav Then
Sell("s1",AtMarket);
if H[1] < mav[1] and L > mav Then
Buy("b1",AtMarket);
T2 = 0;
S2 = 0;
if L > mav Then
T2 = -1;
if H < mav Then
T2 = 1;
}
if MarketPosition == -1 Then
{
if CrossUp(c,mav) Then
ExitShort("sx11",AtMarket,Def,"s1");
if L < DayLow(0)[1] and L[1] != DayLow(0)[1] Then
{
var1 = var1+1;
if var1 == 3 Then
ExitShort("sx12",OnClose,Def,"s1");
}
}
Else
var1 = 0;
if MarketPosition == 1 Then
{
if CrossDown(c,mav) Then
ExitLong("bx11",AtMarket,Def,"b1");
if H > DayHigh(0)[1] and H[1] != DayHigh(0)[1] Then
{
var2 = var2+1;
if var2 == 3 Then
ExitLong("bx12",OnClose,Def,"b1");
}
}
Else
Var2 = 0;
if T2 == -1 and CrossDown(C,mav) Then
{
S2 = S2+1;
if S2 == 2 Then
Sell("s2");
}
if T2 == 1 and CrossUp(C,mav) Then
{
S2 = S2+1;
if S2 == 2 Then
Buy("b2");
}
if MarketPosition == 1 and Bdate == Bdate[1] and C < DayLow(0)[1] Then
ExitLong("bx2",AtMarket,Def,"b2");
if MarketPosition == -1 and Bdate == Bdate[1] and C > DayHigh(0)[1] Then
ExitShort("sx2",AtMarket,Def,"s2");
SetStopEndofday(151500);
즐거운 하루되세요
> 흰둥이아빠 님이 쓴 글입니다.
> 제목 : 함수요청
> 안녕하세요?
계좌는 한개인데 시스템 A와 시스템 B를 동시에 돌리고 싶습니다.
전략 실행 차트를 각각 띄우고 각각 적용하는 거 말고
시스템 A와 시스템 B를 한개의 스트립트로 재작성해서
시스템 C를 만들고 싶습니다.
시스템 A와 시스템 B를 각각 동시에 돌린 것과 시스템 C 한개를 돌린 것과 신호와 손익이 같도록 작성 요청드립니다.
시스템 A = 글번호 77970번에서 작성주신 스크립트
시스템 B = 글번호 77955번에서 작성주신 스크립트입니다.
/시스템 A
var : T(0),S(0),mav(0);
mav = ma(c,20);
if Bdate != Bdate[1] Then
{
T = 0;
S = 0;
if L[1] > mav[1] and H < mav Then
Sell("s",AtMarket);
if H[1] < mav[1] and L > mav Then
Buy("b",AtMarket);
}
if MarketPosition == -1 Then
{
if CrossUp(c,mav) Then
ExitShort("sx",AtMarket);
if L < DayLow(0)[1] and L[1] != DayLow(0)[1] Then
{
var1 = var1+1;
if var1 == 3 Then
ExitShort("sx1");
}
}
Else
var1 = 0;
if MarketPosition == 1 Then
{
if CrossDown(c,mav) Then
ExitLong("bx",AtMarket);
if H > DayHigh(0)[1] and H[1] != DayHigh(0)[1] Then
{
var2 = var2+1;
if var2 == 3 Then
ExitLong("bx1");
}
}
Else
Var2 = 0;
SetStopEndofday(151500);
/시스템B
var : T(0),S(0),mav(0);
mav = ma(c,20);
if Bdate != Bdate[1] Then
{
T = 0;
S = 0;
if L > mav Then
T = -1;
if H < mav Then
T = 1;
}
if T == -1 and CrossDown(C,mav) Then
{
S = S+1;
if S == 2 Then
Sell();
}
if T == 1 and CrossUp(C,mav) Then
{
S = S+1;
if S == 2 Then
Buy();
}
if MarketPosition == 1 and Bdate == Bdate[1] and C < DayLow(0)[1] Then
ExitLong("bx",AtMarket);
if MarketPosition == -1 and Bdate == Bdate[1] and C > DayHigh(0)[1] Then
ExitShort("sx",AtMarket);
SetStopEndofday(151500);