안녕하세요?
글번호 78483번 재질문입니다.
글번호 77970번에서 작성주신 스크립트
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);
에 글번호 78483번 2번에서 작성 주신 함수를 적용하여 스크립트로 작성 요청드립니다.
2
만약 MACD오실레이터 조건은 첫봉에서만 조건을 체크하는게 아니면
아래와 같이 진입식 변경하시면 됩니다.
if Bdate != Bdate[1] Then
{
T = 0;
if L[1] > mav[1] and H < mav Then
T = -1;
if H[1] < mav[1] and L > mav Then
T = 1;
}
if T == -1 and MACDO > 0 and MACDO < MACDO[1] Then
Sell("s",AtMarket);
if T == 1 and MACDO < 0 and MACDO > MACDO[1] Then
Buy("b",AtMarket);
답변 1
예스스탁
예스스탁 답변
2022-08-18 08:58:30
안녕하세요
예스스탁입니다.
input : short(12),long(26),sig(9);
var : t(0),mav(0),macdo(0);
mav = ma(c,20);
macdo = MACD_OSC(short,long,sig);
if Bdate != Bdate[1] Then
{
T = 0;
if L[1] > mav[1] and H < mav Then
T = -1;
if H[1] < mav[1] and L > mav Then
T = 1;
}
if T == -1 and MACDO > 0 and MACDO < MACDO[1] Then
Sell("s",AtMarket);
if T == 1 and MACDO < 0 and MACDO > MACDO[1] 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);
즐거운 하루되세요
> 흰둥이아빠 님이 쓴 글입니다.
> 제목 : 함수요청
> 안녕하세요?
글번호 78483번 재질문입니다.
글번호 77970번에서 작성주신 스크립트
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);
에 글번호 78483번 2번에서 작성 주신 함수를 적용하여 스크립트로 작성 요청드립니다.
2
만약 MACD오실레이터 조건은 첫봉에서만 조건을 체크하는게 아니면
아래와 같이 진입식 변경하시면 됩니다.
if Bdate != Bdate[1] Then
{
T = 0;
if L[1] > mav[1] and H < mav Then
T = -1;
if H[1] < mav[1] and L > mav Then
T = 1;
}
if T == -1 and MACDO > 0 and MACDO < MACDO[1] Then
Sell("s",AtMarket);
if T == 1 and MACDO < 0 and MACDO > MACDO[1] Then
Buy("b",AtMarket);