답변완료
함수요청
아래 글번호 80923번 재질문입니다.
신호가 생성되지 않습니다.
검수 부탁드립니다.
아울러 진입 조건을 추가해서
MACD 오실레이터가 음전환시 MACD 값이 30이상일 경우 매도
MACD 오실레이터가 양전환시 MACD 값이 -30 이하일 경우 매수하는 걸로 변경 부탁드립니다.
===================================================================================
국내선물 3분봉으로 일중거래를 하고자 합니다.
개장 후 첫봉(9시 3분봉 완성봉)의 저가 > 전영업일 종가이면서 MACD오실레이터의 음전환(교차)시 MACD 값이 30 이상이면 익봉시가에 매도
개장 후 첫봉(9시 3분봉 완성봉)의 고가 < 전영업일 종가이면서 MACD오실레이터의 양전환(교차)시 MACD 값이 -30 이하이면 익봉시가에 매수
당일고점을 완성봉으로 돌파하거나 100MA를 하향 이탈하거나 시가를 하향 이탈하면 매도청산
당일저점을 완성봉으로 이탈하거나 100MA를 상향 돌파하거나 시가를 상향 돌파하면 매수청산
매수든 매도든 당일 최대 1번 진입하되 15시 20분에는 강제청산합니다.
---------------------------------------------------------------------------------
안녕하세요
예스스탁입니다.
input : short(12),long(26),sig(9),P(100);
var : T(0);
var : macdo(0),mav(0);
macdo = MACD_OSc(short,long,sig);
mav = ma(C,P);
if Bdate != Bdate[1] Then
{
T = 0;
if L > C[1] Then
T = -1;
if H < C[1] Then
T = 1;
}
if T == -1 and CrossDown(macdo,0) Then
{
T = -2;
Sell();
}
if T == 1 and CrossUp(macdo,0) Then
{
T = 2;
Buy();
}
if MarketPosition == -1 Then
{
if C > DayHigh(0)[1] Then
ExitShort();
if CrossDown(c,mav) Then
ExitShort();
if CrossDown(c,DayOpen) Then
ExitShort();
}
if MarketPosition == 1 Then
{
if C < DayHigh(0)[1] Then
ExitLong();
if CrossUp(c,mav) Then
ExitLong();
if CrossUp(c,DayOpen) Then
ExitLong();
}
SetStopEndofday(15200);
즐거운 하루되세요
> 흰둥이아빠 님이 쓴 글입니다.
> 제목 : 함수요청
> 안녕하세요?
아래 전략에 대해 스크립트 작성 요청드립니다.
국내선물 3분봉으로 일중거래를 하고자 합니다.
개장 후 첫봉(9시 3분봉 완성봉)의 저가 > 전영업일 종가이면서 MACD오실레이터의 음전환(교차)시 익봉시가에 매도
개장 후 첫봉(9시 3분봉 완성봉)의 고가 < 전영업일 종가이면서 MACD오실레이터의 양전환(교차)시 익봉시가에 매수
당일고점을 완성봉으로 돌파하거나 100MA를 하향 이탈하거나 시가를 하향 이탈하면 매도청산
당일저점을 완성봉으로 이탈하거나 100MA를 상향 돌파하거나 시가를 상향 돌파하면 매수청산
매수든 매도든 당일 최대 1번 진입하되 15시 20분에는 강제청산합니다.
언제나 감사드립니다.
2023-02-24
1164
글번호 166664
시스템
답변완료
검토부탁드립니다.
아래 수식이 전략에서 생각과 다르게 적용되는것 같아서 다시 문의드립니다.
rsi가 아닌 이동평균 10, 20으로 해서
직전 크로스업(10,20) 의 주가 /
이번 크로스업(10,20) 의 주가 /
이번 크로스업 시 직전 크로스업의 주가보다 높을 경우 크로스업시 매수 진입
차트에 적용해보니 정확하지 않아 다시한번 문의드립니다.
안녕하세요
예스스탁입니다.
var : a1(0),a2(0);
A1= RSI(10);
A2= RSI(20);
if CrossUp(a1,a2) Then
{
var1 = c;
Var2 = var1[1];
if var2 > 0 and var1 > Var2 Then
Buy();
}
즐거운 하루되세요
2023-02-24
1329
글번호 166660
시스템
답변완료
문의 드립니다
수고 하십니다.
아래 지표식에서 매수 신호가 봉 위에 표시 되네요...
봉 아래에 위치하게 변경 부탁드립니다.
수고 하세요...
//////////////
input : Period(20),P(5);
input : Per1(120),Per2(130);
Var : Bearish(False),Bullish(False),tx(0);
var1 = ma(C,Period);
var2 = abs(C-O);
Var3 = ma(Var2,P);
Bearish = var1 > var1[1] AND Close < Open AND Close[1] > Open[1] AND Close < Open[1] AND Open > Close[1];
Bullish = var1 > var1[1] AND Close > Open AND Close[1] < Open[1] AND Close > Open[1] AND Open < Close[1];
if Bearish == true and Var2 > Var3[1]*(1+per1/100) then
{
tx = Text_New(sDate,sTime,H,"▼");
Text_SetStyle(tx,2,1);
Text_SetColor(tx,Blue);
}
if Bullish == true and Var2 > Var3[1]*(1+per2/100) then
{
tx = Text_New(sDate,sTime,H,"▲");
Text_SetStyle(tx,2,0);
Text_SetColor(tx,Red);
}
2023-02-24
1279
글번호 166654
지표
답변완료
문의 드립니다.
똑 같은 지표식인데 하나는 캔들있는 주 챠트에서 실현이 되고
다른 하나는 주챠트 아래 보조 챠트에서만 실현이 되는지 궁금합니다.
1. 주챠트에 실현되는 것.
귀사 yesstock에서 제공하는 이동평균5-20-60 등은 주챠트에서 실현.
2. 이 식을 그대로 복사해서 다른 이름으로 보조지표를 만든 후에 실행하면
보조챠트에서 실현이 됨.
3. 어제 주챠트에서 이동평균 5이평 > 20이평 and 5이평 < 60이평 구간에서
표시를 해 주는 법을 질문드렸을 때 답변해 주신 것을 적용해 보니
지표는 보조챠트에 나오고, 만들어 주신 박스는 주챠트에서 실현이 되서
원인을 찾다 위와 같은 질문을 드리게 되었습니다. 어제 답변해 주신
내용은 아래와 같습니다. 번거롭게 해 드려 미안합니다. 감사합니다.
수식에서 별도로 채우기등이 되지 않아
해당 구간에 박스로 그려지게 작성해 드립니다.
var : box(0);
var1 = ma(c,5);
Var2 = ma(C,20);
Var3 = ma(C,60);
Condition1 = var1 > Var2 and var1 < Var3;
Plot1(var1);
Plot2(var2);
Plot3(var3);
if Condition1 == true Then
{
if Condition1[1] == False Then
{
Value1 = sDate;
Value2 = sTime;
value3 = h;
Value4 = l;
box = Box_New(sDate,sTime,value1,NextBarSdate,NextBarStime,Value2);
Box_SetColor(box,Red);
Box_SetFill(box,true);
}
Else
{
if h > Value3 Then
Value3 = h;
if l < Value4 Then
Value4 = l;
Box_SetBegin(box,value1,Value2,Value3);
Box_SetEnd(box,NextBarSdate,NextBarStime,Value4);
}
}
2023-02-24
1198
글번호 166653
지표
답변완료
수식에 오류가 있다고 하는데 어느 부분인지 모르겠어요.. 수정 부탁드립니다.
// 설정 변수
period = input(title="Period", defval=20, minval=1)
stoploss = input(title="Stop Loss", type=input.float, defval=1.0, minval=0.1, step=0.1)
takeprofit = input(title="Take Profit", type=input.float, defval=1.5, minval=0.1, step=0.1)
// 지표
maValue = sma(close, period)
rsiValue = rsi(close, period)
emaValue = ema(close, period)
macdValue = macd(close, 12, 26, 9)
// 매수 신호
buySignal = crossover(emaValue, maValue) and rsiValue > 50 and macdValue > 0
// 매도 신호
sellSignal = crossunder(emaValue, maValue) and rsiValue < 50 and macdValue < 0
// 포지션 진입/청산
if buySignal
strategy.entry("Buy", strategy.long)
if sellSignal
strategy.entry("Sell", strategy.short)
// 포지션 청산
if strategy.position_size > 0 and close < (strategy.position_avg_price * (1 - stoploss))
strategy.exit("Stop Loss", strategy.short)
if strategy.position_size < 0 and close > (strategy.position_avg_price * (1 + takeprofit))
strategy.exit("Take Profit", strategy.short)
2023-02-24
939
글번호 166643
시스템