目录
思路一、通过道氏法则的思路判断趋势
思路二、通过均线系统判断趋势
实现语言均为 mql5.
//+------------------------------------------------------------------+
//| 道氏法则判断趋势.mq5 |
//| Copyright 吕海洋 QQ交流群:157528427|
//| https://www.mql5.com/zh/signals/789037|
//+------------------------------------------------------------------+
#property copyright "Copyright 吕海洋 QQ交流群:157528427"
#property link "https://www.mql5.com/zh/signals/789037"
#property version "1.00"
// 上涨趋势:更高的高点和更高的低点
// 下跌趋势:更低的高点和更低的低点
// 思路:
// 1、找到最近的一个高点: 当前50日最高价 high1
// 2、找到第二个高点: 50天前的50日最高价 high2
// 3、找到最近的一个低点: 当前50日最低价 low1
// 4、找到第二个低点: 50天前的50日最低价 low2
string symbol = "EURUSD"
ENUM_TIMEFRAMES timeframe = PERIOD_H4;
int peroid = 50;
double high1 = iHigh(symbol, timeframe, iHighest(symbol,timeframe,MODE_HIGH,peroid,0));
double low1 = iLow(symbol, timeframe, iLowest(symbol,timeframe,MODE_LOW,peroid,0));
double high2 = iHigh(symbol, timeframe, iHighest(symbol,timeframe,MODE_HIGH,peroid,peroid));
double low2 = iLow(symbol, timeframe, iLowest(symbol,timeframe,MODE_LOW,peroid,peroid));
// 上涨趋势
if(high1 > high2 && low1 > low2)
{
// 上涨趋势策略
}
// 下跌趋势
else if(high1 < high2 && low1 < low2)
{
// 下跌趋势策略
}
//+------------------------------------------------------------------+
//| 均线系统判断趋势.mq5 |
//| Copyright 吕海洋 QQ交流群:157528427|
//| https://www.mql5.com/zh/signals/789037|
//+------------------------------------------------------------------+
#property copyright "Copyright 吕海洋 QQ交流群:157528427"
#property link "https://www.mql5.com/zh/signals/789037"
#property version "1.00"
// 上涨趋势:均线多头排列
// 下跌趋势:均线空头排列
// 思路:
// 1、找到3个周期的均线 目前用 8,13,21 MA
// 2、利用均线系统判断趋势
string symbol = "EURUSD"
ENUM_TIMEFRAMES timeframe = PERIOD_H4;
int ma1_peroid = 8;
int ma2_peroid = 13;
int ma3_peroid = 21;
double ma1[];
ArraySetAsSeries(ma1,true);
int handle_ma1 = iMA(symbol,timeframe,ma1_peroid,0,MODE_SMA,PRICE_CLOSE);
CopyBuffer(handle_ma1,0,0,3,ma1);
double ma2[];
ArraySetAsSeries(ma2,true);
int handle_ma2 = iMA(symbol,timeframe,ma2_peroid,0,MODE_SMA,PRICE_CLOSE);
CopyBuffer(handle_ma2,0,0,3,ma2);
double ma3[];
ArraySetAsSeries(ma3,true);
int handle_ma3 = iMA(symbol,timeframe,ma3_peroid,0,MODE_SMA,PRICE_CLOSE);
CopyBuffer(handle_ma3,0,0,3,ma3);
// 上涨趋势
if(ma1[0] > ma2[0] && ma2[0] > ma3[0])
{
// 上涨趋势策略
}
// 下跌趋势
else if(ma1[0] < ma2[0] && ma2[0] < ma3[0])
{
// 下跌趋势策略
}