MetaTrader5
Proffessor v3: 메타트레이더 5를 위한 완벽한 시스템 트레이딩 도구
아이디어 제공자: vitalyMQL5 코드 작성자: barabashkakvn트레이딩 전략은 간단합니다. 매수(BUY) 또는 매도(SELL) 포지션을 개설하고, Delta 1의 거리에서 대기 중인 스탑 주문으로 보호합니다. 이후, Delta 2의 거리로 구성된 리미트 또는 스탑 대기 주문 그리드를 생성합니다. 각 방향의 대기 주문 수는 Max Lines에 설정됩니다. 대기 주문(매수 리미트, 매도 리미트, 매수 스탑, 매도 스탑)은 단일 PendingOrder 함수를 통해 설정되며, 여기에는 주문 유형(order_type), 거래량(volume), 손절매(sl), 그리고 이익 실현(tp)이 전달됩니다.//+------------------------------------------------------------------+
//| 대기 주문 |
//+------------------------------------------------------------------+
void PendingOrder(ENUM_ORDER_TYPE order_type,double volume,double price,double sl,double tp)
{
sl=m_symbol.NormalizePrice(sl);
tp=m_symbol.NormalizePrice(tp);
if(m_trade.OrderOpen(m_symbol.Name(),order_type,volume,0.0,
m_symbol.NormalizePrice(price),m_symbol.NormalizePrice(sl),m_symbol.NormalizePrice(tp)))
{
if(m_trade.ResultOrder()==0)
{
Print("#1 ",EnumToString(order_type)," -> false. 결과 코드: ",m_trade.ResultRetcode(),
", 결과 설명: ",m_trade.ResultRetcodeDescription());
PrintResultTrade(m_trade,m_symbol);
}
else
{
Print("#2 ",EnumToString(order_type)," -> true. 결과 코드: ",m_trade.ResultRetcode(),
", 결과 설명: ",m_trade.ResultRetcodeDescription());
PrintResultTrade(m_trade,m_symbol);
}
}
else
{
Print("#3 ",EnumToString(order_type)," -> false. 결과 코드: ",m_trade.ResultRetcode(),
", 결과 설명: ",m_trade.ResultRetcodeDescription());
PrintResultTrade(m_trade,m_symbol);
}
//---
}
목표 이익인 Profit Close에 도달하면 모든 포지션을 닫고 모든 대기 주문을 제거합니다. 또한, 손실이 Loss Close를 초과하는 경우에도 모든 포지션과 대기 주문을 닫을 수 있습니다. (Loss Close를 0.0으로 설정하면 이 기능이 비활성화됩니다.)
EA의 작동(포지션 개설 및 보호 대기 주문 설정)은 Start hour에서 End hour의 작업 시간 간격 내에서 이루어집니다. (Start hour는 End hour보다 작거나 클 수 있습니다.)
주요 아이디어ADX 값을 분석하여 Work TimeFrame 타임프레임에서 ADX가 40 이하인 경우 플랫으로 간주하고 리미트 대기 주문을 배치합니다. 그 외에는 스탑 대기 주문을 사용합니다;DI+가 DI-보다 높으면 매수, 그렇지 않으면 매도합니다.
두 가지 파라미터(Current bar ADX는 0에서 2까지, 스텝 1 및 Work TimeFrame는 M1에서 H1까지)의 최적화 결과는 가장 우수합니다.
EURUSD,Current bar ADX 0,Work TimeFrame H1
USDJPY,Current bar ADX 2,Work TimeFrame M1
EURUSD의 경우,Current bar ADX 0,Work TimeFrame H1, 그러나 Loss Close 파라미터가 "0.0"으로 설정됨
USDJPY의 경우,Current bar ADX 2,Work TimeFrame M1, 그러나 Loss Close 파라미터가 "0.0"으로 설정됨
2018.10.26