예스스탁
예스스탁 답변
2024-10-07 14:27:49
안녕하세요
예스스탁입니다.
실제 신호를 발생하는 내용이시면 1번식을 시스템식으로 작성해 차트에 적용하시면 됩니다.
차트에 강조로 표시해서 보시는 내용이면 2번식을 강조식으로 작성해 적용하시면 됩니다.
1. 시스템
var : t(0);
if t <= 0 and c>o and c> highest(c,10)[1] and ma(c,5)>ma(c,5)[1] and c>ma(c,5) Then
{
t = 1;
Buy("Buy Signal");
}
if t >= 0 and c<o and c< lowest(c,10)[1] and ma(c,5)<ma(c,5)[1] and c<ma(c,5) Then
{
t = -1;
Sell("Sell Signal");
}
2. 강조
var : t(0);
if t <= 0 and c>o and c> highest(c,10)[1] and ma(c,5)>ma(c,5)[1] and c>ma(c,5) Then
{
t = 1;
PlotPaintBar(High, Low, "Signal", White);
}
if t >= 0 and c<o and c< lowest(c,10)[1] and ma(c,5)<ma(c,5)[1] and c<ma(c,5) Then
{
t = -1;
PlotPaintBar(High, Low, "Signal", Purple);
}
즐거운 하루되세요
> 정구지 님이 쓴 글입니다.
> 제목 : 매수 매도 시스템 구현문의
> 키움에서의 매수 : z=c>o and c> highest(c(1),10) and
avg(c,5)>avg(c,5,1) and c>avg(c,5);
z
키움에서의 매도 : z=c<o and c< lowest(c(1),10) and
avg(c,5)<avg(c,5,1) and c<avg(c,5);
z
상기 키움신호를 동시에 구동하면 붙임 파일과 같이 연속된 매도 매수 화살표가 표시 되는데 이 것을 처음 한번만 표시되어 자동매매 혹은 매수 매도 표시가 되게 표현하고 싶습니다
그래서 한번 만들어 보았는데 구동이 되지 않습니다 무엇이 문제 이고 어떻게 수정하면 좋은지 검토와 지도부탁드립니다.
vars:
buySignal(false),
sellSignal(false),
lastBuySignalBar(0),
lastSellSignalBar(0);
// 매수 신호 조건
if c > o and c > highest(c, 10)[1] and ma(c, 5) > ma(c, 5)[1] and c > ma(c, 5) then
begin
// 마지막 매도 신호 이후 첫 매수 신호만 표시
if lastSellSignalBar < lastBuySignalBar then
begin
PlotPaintBar(High, Low, "Buy Signal", White); // 매수 신호 표시
buySignal = true; // 매수 신호 상태 기록
lastBuySignalBar = CurrentBar; // 매수 신호가 나온 캔들 기록
end
end
else if buySignal and lastBuySignalBar == CurrentBar then
NoPlot(1); // 이전 매수 신호가 발생한 경우 추가 신호는 표시하지 않음
// 매도 신호 조건
if c < o and c < lowest(c, 10)[1] and ma(c, 5) < ma(c, 5)[1] and c < ma(c, 5) then
begin
// 마지막 매수 신호 이후 첫 매도 신호만 표시
if lastBuySignalBar < lastSellSignalBar then
begin
PlotPaintBar(High, Low, "Sell Signal", Purple); // 매도 신호 표시
sellSignal = true; // 매도 신호 상태 기록
lastSellSignalBar = CurrentBar; // 매도 신호가 나온 캔들 기록
end
end
else if sellSignal and lastSellSignalBar == CurrentBar then
NoPlot(1); // 이전 매도 신호가 발생한 경우 추가 신호는 표시하지 않음