RSI를 활용한 자동 보류 주문 및 관리 방법 - MetaTrader 4

Mike 2014.08.12 22:46 46 0 0
첨부파일

RSI를 활용한 자동 보류 주문 설정

  1. RSI를 이용한 자동 보류 주문 설정;
  2. 주말 리스크 감소 후 다음 주에 포지션 복원;
  3. 유용한 정보 이메일 발송.

추천 사항:

1. 백테스트를 위해 testmode를 true로, 실제 거래를 위해 false로 설정하세요:

extern bool testmode = false;//true: 백테스트용

2. 테스트 모드에서 사용 시, 거래 심볼 배열에서 하나만 설정하세요. 예를 들어:

extern string tradesymbol1 = "EURUSDm_802_2802_1602_200_860";
extern string tradesymbol2 = "";
extern string tradesymbol3 = "";
extern string tradesymbol4 = "";
extern string tradesymbol5 = "";
extern string tradesymbol6 = "";

실계좌 모드에서는 testmode를 false로 설정하고, 거래 심볼을 다음과 같이 구성하세요 (기호는 ','로 구분하고, 파라미터는 '_'로 구분):

extern string tradesymbol1 = "EURUSDm_802_2802_1602_200_860,USDCHFm_506_2606_1506_120_600";
extern string tradesymbol2 = "USDJPYm_460_2802_1302_100_320";
extern string tradesymbol3 = "";
extern string tradesymbol4 = "";
extern string tradesymbol5 = "";
extern string tradesymbol6 = "";

EURUSDm_802_2802_1602_200_860의 의미:

  • 심볼: EURUSDm(m은 내 Exness 미니 계좌를 의미하며, 필요에 따라 자신의 심볼로 수정)
  • 보류 핍 수:802(보류 갭)
  • 주말 추가 핍 수:2802(주말에 넓히는 추가 갭)
  • 취소 핍 수:1602(갭이 이 핍 수를 초과할 경우 보류 주문을 종료)
  • 트레일링 스탑 로스:200(트레일링 스탑 로스)
  • 테이크 프로핏:860(가상의 테이크 프로핏)

3. 주말에 보류 주문을 삭제하고 싶으시면 weekenddelete를 true로 설정하고, 보류 갭을 넓혀서 다음 주에 복원하고 싶으시면 false로 설정하세요.

extern bool weekenddelete = false;//true: 삭제 false: 수정

4. 주말 모드 시작 및 종료 시간 (5는 금요일, 7은 일요일, 시간은 GMT 기준이며, 필요에 따라 지역 시간에 맞게 조정):

//금요일 거래 종료 시간
extern int weekendbeginday = 5;
extern string weekendbegintime = "20:30";//금요일 20:30
extern int weekendendday = 7;
extern string weekendendtime = "23:30";//일요일 20:30

5. RSI 값 알림을 이메일로 발송할 심볼들을 설정하세요. (예: >70 또는 <30) 정기적으로 보고받습니다. 계좌가 미니 계좌가 아닐 경우 AUDJPYm을 수정해야 합니다.

string symbolsstr1 = "AUDJPYm,AUDCADm,AUDCHFm,AUDNZDm,AUDSGDm,AUDUSDm,CADCHFm,CADHKDm,CADJPYm,CHFJPYm,CHFPLNm,CHFSGDm,EURAUDm,EURBRLm,EURCADm,EURCHFm,EURDKKm,EURGBPm,EURHKDm,EURHUFm,EURJPYm,EURMXNm";
string symbolsstr2 = "GBPCHFm,GBPJPYm,GBPNZDm,GBPUSDm,HKDJPYm,HUFJPYm,MXNJPYm,NZDCADm,NZDCHFm,NZDJPYm,NZDSGDm,NZDUSDm,SGDJPYm,USDBRLm,USDCADm,USDCHFm,USDCZKm,USDDKKm,USDHKDm,USDHUFm,USDJPYm,USDMXNm";
string symbolsstr3 = "EURNOKm,EURNZDm,EURPLNm,EURRUBm,EURSEKm,EURSGDm,EURTRYm,EURUSDm,EURZARm,GBPAUDm,GBPCADm,USDNOKm,USDPLNm,USDRONm,USDRUBm,USDSEKm,USDSGDm,USDTRYm,USDZARm,XAGUSDm,XAUUSDm,ZARJPYm";
long sendmininterval = 3600;

6. RSI 설정:

// RSI 설정
extern int rsitimeframe = PERIOD_H4;
extern int rsiperiod = 14;
extern ENUM_APPLIED_PRICE rsiappliedprice = PRICE_CLOSE;
extern int rsishift = 0;
extern double rsiupperline = 70;
extern double rsilowerline = 30;

7. magicweekendexpiration을 사용하여 주말 모드를 식별합니다. 더 좋은 방법이 있다면 알려주세요.

int magicweekendexpiration = 1577836800;//2020-1-1 0:0:0 정수값:1577836800

8. 기타:

주말 모드로 수정이 실패하면, EA는 이메일을 보내고 최대 수정 시도 횟수(MAX_MODIFY_TRY_TIME, 기본값 100)까지 성공할 때까지 시도합니다.

스탑 로스는 적용되지 않으며, 심볼의 최소 매수 또는 최대 매도 주문이 보류 핍 수를 초과하면 EA는 동일한 심볼의 또 다른 주문을 보류합니다.

테스트 모드에서 자본 금액이 잔고의 95% 미만일 경우, EA는 경고 파일에 상태를 기록합니다.

if(((AccountEquity()/AccountBalance()) < 0.95))
        {
            WriteToWarningFile();
        }

버그나 제안 사항이 있으시면 언제든지 알려주세요.

목록
댓글 0