欢迎访问 外汇EA下载与MT4/MT5自动交易资源 - 聚合外汇EA、黄金EA、量化交易工具与自动化交易实战内容。
登录 注册

基于风险的手数大小以及账户货币的转换 - MetaTrader 4 脚本

author emer | 486 人阅读 | 0 人评论 |

我知道你不会阅读所有内容,所以我一开始就这么说:这是一个脚本!  所以就看剧本了 文件夹

就是这样了,下面的代码基于下面的文章https://www.fxtrademaker.com/fx_calculation.htm。 我有很多工作,客户要求我添加基于风险的手数大小(这样当你在止损上失去交易时,你只会失去这个) 您帐户的特定百分比,而不是更多地基于特定手数),但我从来不知道正确的公式。然后我 发现你有3个案例。 (美元将成为主要使用的货币)

//直接汇率
如果(symbol_currency_right==acc_currency){// 因此,在我们的示例中,当正确的货币与您的账户货币 (XXXUSD) 相同时   手数大小=money_risk/(dix*sl);//然后将您想要冒险的资金除以点数乘以手数大小(标准、微型)乘以止损点数}


  • 第二种情况是“间接利率“,它有一个类型美元XXX只要查一下文章就知道是怎么回事 构建,或分析代码:
    别的 如果(acc_currency==symbol_currency_left){//GBPXXX   lot_size=money_risk*Ask/(dix*sl);
       }
    • 最后也是最复杂的情况是当主要货币(美元)根本不在符号中时,您必须通过中间货币来 正确转换它,这样类型就是XXXXXX。代码有点复杂,一开始的一个错误是 当您尝试获取当前价格时,在市场观察中找不到中间符号,因此首先您必须添加它
      别的 如果(acc_currency!=symbol_currency_left&&acc_currency!=symbol_currency_right){///XXXXXX  细绳符号_2=字符串连接(symbol_currency_left,acc_currency);
        符号选择(符号_2,真的);   
        双倍的r__2=符号信息双(符号_2,SYMBOL_ASK);
         
        如果(r__2==0){
            符号_2=字符串连接(acc_currency,symbol_currency_left);
            符号选择(符号_2,真的);      r__2=符号信息双(符号_2,SYMBOL_ASK);
            
            }
            
         lot_size=询问*money_risk/(dix*sl*r__2);
         }

    除非您添加中间交易品种的固定报价作为条目,否则此代码将无法在策略测试器中运行。


    附件下载

    📎 lot_sizing.mq4 (4.06 KB)

    Source: MQL5 #28324

    🔐
    请登录后参与评论
    注册满12小时后评论,即可解锁附件下载
    立即登录