시스템트레이딩 게시글

중심 중력 지표를 이용한 EA 제작 시도 - 메타트레이더 4

첨부파일
8604.zip (2.25 KB, 다운로드 0회)

안녕하세요, 트레이더 여러분!

오늘은 제가 생각해낸 아이디어에 대해 공유해보려고 합니다. 이 아이디어는 '보수적인 일중 스캘핑' 전략을 기반으로 한 것인데요, 메타트레이더 4에서 적합한 지표를 찾는 데 어려움을 겪고 있습니다.

최근에 발견한 지표는 Center of Gravity.mq4입니다. 이 지표를 EA에 연동해보려 하는데, EA가 거래를 열지 않고 있습니다. 데모에서도 그렇고 테스트에서도 마찬가지입니다. 여러분, 왜 그럴까요?

제가 생각한 아이디어는, 이 지표가 트렌드에 평행한 5개의 라인을 생성한다는 점입니다. 극단적인 라인과의 교차점에서 거래를 오픈할 수 있는데, 특히 트레일링을 활용하면 더욱 좋겠죠. 예를 들어, 1기간의 이동평균선(SMA)을 기준으로 LOW 가격이 지표의 하단 라인을 아래에서 위로 교차할 때 매수 신호로 작용할 수 있을 것 같습니다. 반대로 매도는 이동평균선이 HIGH 기준으로 상단 라인을 위에서 아래로 교차할 때 발생하겠죠. 이 아이디어는 계속 발전시킬 수 있지만, 현재로서는 이 문제를 해결해야 합니다.

사용하는 지표: Center of Gravity.mq4

전문가 어드바이저: C_S_intraday.mq4 (간단한 형태로, 예치금 제어, 시간대, 트레일링 없음 등)


Bitmap


//+---------------------------------------------------------------------+
//|                              C_S_intraday.mq4                       |
//|                                                                     |
//+---------------------------------------------------------------------+
//
//
//
extern double    lots=0.1;
//extern int       StopLoss=30 ;
//extern int       TrailingStop=15;
//extern int       Slippage=2;

extern int BB = 125;
extern int MM = 2;
extern int II = 0;
extern double KK = 2.0;
extern int NN = 1102;

double  maH0,maH1,maL0,maL1;
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
maH0=iMA(NULL,0,1,0,MODE_LWMA,PRICE_HIGH,0); //high 기준 이동평균
maH1=iMA(NULL,0,1,0,MODE_LWMA,PRICE_HIGH,1); //high 기준 이동평균
maL0=iMA(NULL,0,1,0,MODE_LWMA,PRICE_LOW,0);  //low 기준 이동평균
maL1=iMA(NULL,0,1,0,MODE_LWMA,PRICE_LOW,1);  //low 기준 이동평균

   int      B= BB;         // 
   int      M= MM;         // 
   int      I= II;         // 
   double   K= KK;         // 
   int      N= NN;         // 
   
   double cgh = iCustom(NULL,0,"Center of Gravity",B,M,I,K,N,3,0);
   double cgl = iCustom(NULL,0,"Center of Gravity",B,M,I,K,N,4,0);
   
if (cgl<maL0)  //low 기준 이동평균이 지표의 하단 라인을 아래에서 위로 교차할 때
   {
   OrderSend(NULL,OP_BUY,lots,Ask,2,Ask-10*Point,Ask+20*Point,"create1",123,0,Lime);
   }
/*
if (cgh>maH0)
   {
   OrderSend(NULL,OP_SELL,lots,Bid,2,Bid+10*Point,Bid-20*Point,"create1",123,0,Red);
   }  
*/   
//----
   return(0);
  }
//+------------------------------------------------------------------+

연관 포스트

댓글 (0)