안녕하세요.
제가 단일 스팟 스크립트에서 같은 전략으로 분봉만 다르게 하여 5분봉, 10분봉, 15분동 3개 돌리고자 합니다.
아래는 제가 실제 구성해서 사용하고 있는 것으로 현재는 5분봉에 대해서만 사용합니다.
스크립트 객체는
1. Main
2. Account1
3. ChartEx1
YS 코드
function Main_OnRiseSignal(ChartEx, Signal)
{
if(Signal.signalKind == 1)
{
}
}
제가 생각하는 방법으로는 ..
위 코드에 3개 분봉 CharEx을 만들어서 하면 될것 같습니다.
3. ChartEx1 <-- 5분봉
4. ChartEx2 <-- 10분봉
5. ChartEx3 <-- 15분봉
이렇게 하면 , OnRiseSignal 함수도
function Main_OnRiseSignal(ChartEx1, Signal)
{
}
function Main_OnRiseSignal(ChartEx2, Signal)
{
}
function Main_OnRiseSignal(ChartEx3, Signal)
{
}
A. 이렇게 만들면 되는지요?
B. 매매수량은 각 차트의 signal.count 로 사용해도 구분되는지요?
답변 1
예스스탁
예스스탁 답변
2020-05-20 16:35:32
안녕하세요
예스스탁입니다.
1
동일이벤트를 종복사용하시면 안됩니다.
확장차트객체에서 나오는 신호는 Main객체에
function Main_OnRiseSignal(ChartEx, Signal) 이벤트로만 수신됩니다.
일반 차트 객체만 객체별로 OnRiseSignal이벤트가 따로 존재합니다.
2
각 다른종목이면 아래와 같은 주기이면 아래와 같이 종목코드로 구분하시면 되지만
function Main_OnRiseSignal(ChartEx, Signal)
{
if (ChartEx.GetCode(1) == ChartEx1.GetCode(1))
{
if(Signal.signalKind == 1)
{
}
}
if (ChartEx.GetCode(1) == ChartEx2.GetCode(1))
{
if(Signal.signalKind == 1)
{
}
}
if (ChartEx.GetCode(1) == ChartEx3.GetCode(1))
{
if(Signal.signalKind == 1)
{
}
}
}
동일종목을 주기만 달리해서 3개를 만드신 경우인데
차트의 주기를 리턴해 주는 함수가 없습니다.
그러므로 차트에 지표식을 하나 적용해서
해당 지표값으로 구분하셔야 합니다.
plot1(BarInterval,"주기");
위 내용을 BT라는 이름의 지표식으로 만드신 후에
아래와 같이 신호가 발생한 차트에서 지표값을 가져와 주기를 확인하고
신호에 따라 주문집행하게 하시면 됩니다.
function Main_OnRiseSignal(ChartEx, Signal)
{
if (ChartEx.GetIndicatorData("BT",1,0) == 5)
{
if(Signal.signalKind == 1)
{
}
}
if (ChartEx.GetIndicatorData("BT",1,0) == 10)
{
if(Signal.signalKind == 1)
{
}
}
if (ChartEx.GetIndicatorData("BT",1,0) == 15)
{
if(Signal.signalKind == 1)
{
}
}
}
3
수량은 signal.count 이용하시면 됩니다.
즐거운 하루되세요
> 2ndbus 님이 쓴 글입니다.
> 제목 : 스팟 스크립트에서 5분봉, 10분봉, 15분봉별로 매매하고자 경우, 선별은?
> 안녕하세요.
제가 단일 스팟 스크립트에서 같은 전략으로 분봉만 다르게 하여 5분봉, 10분봉, 15분동 3개 돌리고자 합니다.
아래는 제가 실제 구성해서 사용하고 있는 것으로 현재는 5분봉에 대해서만 사용합니다.
스크립트 객체는
1. Main
2. Account1
3. ChartEx1
YS 코드
function Main_OnRiseSignal(ChartEx, Signal)
{
if(Signal.signalKind == 1)
{
}
}
제가 생각하는 방법으로는 ..
위 코드에 3개 분봉 CharEx을 만들어서 하면 될것 같습니다.
3. ChartEx1 <-- 5분봉
4. ChartEx2 <-- 10분봉
5. ChartEx3 <-- 15분봉
이렇게 하면 , OnRiseSignal 함수도
function Main_OnRiseSignal(ChartEx1, Signal)
{
}
function Main_OnRiseSignal(ChartEx2, Signal)
{
}
function Main_OnRiseSignal(ChartEx3, Signal)
{
}
A. 이렇게 만들면 되는지요?
B. 매매수량은 각 차트의 signal.count 로 사용해도 구분되는지요?