커뮤니티

수식 문의드립니다.

프로필 이미지
억수로
2025-05-23 12:51:15
238
글번호 191113
답변완료
화살표 표시가 안보이는데 어디서 잘 못된걸까요? ^^ 진입은 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;