- 显示:
- 38
- 等级:
- 已发布:
-
需要基于此代码的EA交易或指标吗?请在自由职业者服务中订购 进入自由职业者服务
交易策略“鹰或硬币”属于高风险短期交易方法,主要用于股票市场和外汇市场。其名称源于决策的随机性,类似于抛硬币(“鹰” - 购买资产,“硬币” - 出售资产)。这种策略仅基于直觉决策或随机信号,并忽略市场分析的基本因素。

策略如何工作?
策略的构建方式如下:
- 选择工具:交易者选择金融工具(股票、货币、商品)。
- 做出决定:购买或出售的决定是随机的,例如,通过抛硬币或其他方式在两个动作选项之间进行选择。
- 关闭交易:交易在预先设定的时间或达到特定的盈利或损失水平后自动关闭。
这种策略不需要深入了解市场机制和分析,但也没有认真对待风险管理。
策略的缺点:
- 高风险水平:
- 仅依靠运气,损失的概率显著增加。策略忽略任何客观指标和建议,增加了资本损失的机会。
- 缺乏风险控制:
- 由于购买或出售是完全随机的,因此无法进行理性的资金管理、风险评估和资产分配。
- 无法实现长期成功:
- 即使个别交易由于运气而盈利,在长期内,这种策略更可能导致重大损失。
- 结果的短暂性:
- 只有在市场环境有利且存在大量小型成功交易的情况下,才可能出现积极的结果,但这种情况在实际中极为罕见。
策略的应用:
这种策略更适合初学者交易者,他们希望了解交易所的工作原理,并尝试在没有深入了解技术分析的情况下进行交易。然而,专业交易者极少使用这种策略,他们更喜欢以科学为基础的方法,考虑价格行为、交易量和公司的基本指标。
对于有经验的投资者来说,这种策略更像是验证假设的实验方法,而不是稳定的赚钱方式。
因此,尽管这种策略简单且每个初学者都可以使用,但它带来了显著的风险,并且几乎没有机会在长期内带来稳定的收益。
让我们看一下随机开仓信号的主要代码块:
if((b + s) == 0) // 如果没有活动头寸
这里检查是否存在开仓。变量b表示买入("buy")头寸的数量,变量s表示卖出("sell")头寸的数量。如果两者的总和为零(b + s = 0),则表示没有开仓。
if(::MathRand() % 2 == 0) // 随机选择开仓方向
在上述条件触发的块内,检查随机数。函数::MathRand()生成一个介于0到32767之间的伪随机数。然后,该数对2取模(% 2) - 如果余数为0,则执行下一个块。
{ if(trade.Buy(lt)) // 开仓买入(BUY) return; // 结束函数执行 }
如果随机数是偶数(对2取模的余数为0),交易机器人将以iLots的量开仓买入。成功开仓后,函数执行将被return语句中断。
else // 否则... if(trade.Sell(lt)) // 开仓卖出(SELL) return; // 结束函数执行
如果随机数是奇数(对2取模的余数不为0),则以iLots的量开仓卖出,并且函数的执行也将被中断。
代码块的工作逻辑总结:
- 检查交易者是否有开仓。
- 如果没有开仓,则随机选择交易方向:买入(long)或卖出(short)。
- 开仓后,函数的执行自动停止。
因此,此代码是最简单的算法示例,以随机方式决定在市场上开仓。
您可以在博客中详细阅读代码的逐行分析: https://www.mql5.com/zh/blogs/post/766914
由MetaQuotes Ltd译自俄语
原代码: https://www.mql5.com/ru/code/11637
Custom Hammer and Inverted Hammer
定制锤子和反向锤子
MT 5 风险计算器
该指标以百分比计算您的风险,并给出您可接受的风险手数。您只需指定以百分比为单位的风险和以点为单位的止损大小。