找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
首页论坛EAHub 外汇论坛
查看: 16|回复: 0

量化交易中如何判断趋势

[复制链接]

4万

主题

54

回帖

4万

积分

管理员

积分
45954
发表于 2026-8-27 08:44:00 | 显示全部楼层 |阅读模式
思路一、通过道氏法则的思路判断趋势
//+------------------------------------------------------------------+
//|                                               道氏法则判断趋势.mq5 |
//|                                Copyright 吕海洋 QQ交流群oooooo|
//|                            https://www.mql5.com/zh/signals/789037|
//+------------------------------------------------------------------+
#property copyright "Copyright 吕海洋 QQ交流群ooooooo"
#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交流群ooooooo|
//|                            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])
   {
      // 下跌趋势策略
   }

复制代码
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|EAHub外汇论坛

GMT+8, 2026-10-10 13:30 , Processed in 0.105501 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表