화살표 표시가 안보이는데 어디서 잘 못된걸까요? ^^
진입은 1 이평이 2 이평을 돌파할 때
익절과 손절은 5 이평이 20 이평을 돌파할 때로 잡았습니다
vars:
ma1(0),
ma2(0),
ma5(0),
ma20(0),
longEntry(false),
shortEntry(false);
// 이동평균 계산
ma1 = ma(C, 1);
ma2 = ma(C, 2);
ma5 = ma(C, 5);
ma20 = ma(C, 20);
// === 매수 진입 ===
if (longEntry = false) and (ma1 > ma2) and (ma1[1] <= ma2[1]) and (C > O) then
begin
buy(); // 매수 진입
longEntry = true;
shortEntry = false;
end;
// === 매도 진입 ===
if (shortEntry = false) and (ma1 < ma2) and (ma1[1] >= ma2[1]) and (C < O) then
begin
sell(); // 매도 진입
shortEntry = true;
longEntry = false;
end;
// === 매수 포지션 청산 ===
if longEntry then
begin
// 익절
if (ma5 > ma20) and (ma5[1] <= ma20[1]) then
begin
sell(); // 청산
longEntry = false;
end
// 손절
else if (ma5 < ma20) and (ma5[1] >= ma20[1]) then
begin
sell(); // 청산
longEntry = false;
end;
end;
// === 매도 포지션 청산 ===
if shortEntry then
begin
// 익절
if (ma5 < ma20) and (ma5[1] >= ma20[1]) then
begin
buy(); // 청산
shortEntry = false;
end
// 손절
else if (ma5 > ma20) and (ma5[1] <= ma20[1]) then
begin
buy(); // 청산
shortEntry = false;
end;
end;
답변 1
예스스탁
예스스탁 답변
2025-05-23 14:03:56
안녕하세요
예스스탁입니다.
예스랭귀지에서 같다라는 표현은 ==입니다.
vars:
ma1(0),
ma2(0),
ma5(0),
ma20(0),
longEntry(false),
shortEntry(false);
// 이동평균 계산
ma1 = ma(C, 1);
ma2 = ma(C, 2);
ma5 = ma(C, 5);
ma20 = ma(C, 20);
// === 매수 진입 ===
if (longEntry == false) and (ma1 > ma2) and (ma1[1] <= ma2[1]) and (C > O) then
begin
buy(); // 매수 진입
longEntry = true;
shortEntry = false;
end;
// === 매도 진입 ===
if (shortEntry == false) and (ma1 < ma2) and (ma1[1] >= ma2[1]) and (C < O) then
begin
sell(); // 매도 진입
shortEntry = true;
longEntry = false;
end;
// === 매수 포지션 청산 ===
if longEntry then
begin
// 익절
if (ma5 > ma20) and (ma5[1] <= ma20[1]) then
begin
sell(); // 청산
longEntry = false;
end
// 손절
else if (ma5 < ma20) and (ma5[1] >= ma20[1]) then
begin
sell(); // 청산
longEntry = false;
end;
end;
// === 매도 포지션 청산 ===
if shortEntry then
begin
// 익절
if (ma5 < ma20) and (ma5[1] >= ma20[1]) then
begin
buy(); // 청산
shortEntry = false;
end
// 손절
else if (ma5 > ma20) and (ma5[1] <= ma20[1]) then
begin
buy(); // 청산
shortEntry = false;
end;
end;
즐거운 하루되세요
> 억수로 님이 쓴 글입니다.
> 제목 : 수식 문의드립니다.
> 화살표 표시가 안보이는데 어디서 잘 못된걸까요? ^^
진입은 1 이평이 2 이평을 돌파할 때
익절과 손절은 5 이평이 20 이평을 돌파할 때로 잡았습니다
vars:
ma1(0),
ma2(0),
ma5(0),
ma20(0),
longEntry(false),
shortEntry(false);
// 이동평균 계산
ma1 = ma(C, 1);
ma2 = ma(C, 2);
ma5 = ma(C, 5);
ma20 = ma(C, 20);
// === 매수 진입 ===
if (longEntry = false) and (ma1 > ma2) and (ma1[1] <= ma2[1]) and (C > O) then
begin
buy(); // 매수 진입
longEntry = true;
shortEntry = false;
end;
// === 매도 진입 ===
if (shortEntry = false) and (ma1 < ma2) and (ma1[1] >= ma2[1]) and (C < O) then
begin
sell(); // 매도 진입
shortEntry = true;
longEntry = false;
end;
// === 매수 포지션 청산 ===
if longEntry then
begin
// 익절
if (ma5 > ma20) and (ma5[1] <= ma20[1]) then
begin
sell(); // 청산
longEntry = false;
end
// 손절
else if (ma5 < ma20) and (ma5[1] >= ma20[1]) then
begin
sell(); // 청산
longEntry = false;
end;
end;
// === 매도 포지션 청산 ===
if shortEntry then
begin
// 익절
if (ma5 < ma20) and (ma5[1] >= ma20[1]) then
begin
buy(); // 청산
shortEntry = false;
end
// 손절
else if (ma5 > ma20) and (ma5[1] <= ma20[1]) then
begin
buy(); // 청산
shortEntry = false;
end;
end;