首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Metatrader4中按账户币种计算批次

如何在Metatrader4中按账户币种计算批次
EN

Stack Overflow用户
提问于 2018-05-18 22:51:46
回答 1查看 2.2K关注 0票数 0

我对这门语言有点陌生,但我已经掌握了基础知识。

我想要的是:持有止损头寸并获利了结。

我想下100欧元的订单,我想将止损设置为10欧元,并将获利回吐设置为5欧元。但在我看来,OrderSend方法需要大量的下单,以及止损和获利的水平。

我的问题是:如何根据我想要设置的欧元金额来计算这些值?

我在网上搜索了一些lot-pip-etc计算,但毕竟我尝试的都不起作用。这就是我想要的计算方式:

代码语言:javascript
复制
double AmountToTradeInEuro = 100;
double AmountToTakeInEuro = 5;
double AmountToMaxLossInEuro = 10;
double Lots = AmountToTradeInEuro / MarketInfo(Symbol(), MODE_TICKVALUE);
double StopLossLevel = AmountToTakeInEuro / MarketInfo(Symbol(), MODE_TICKVALUE);
double TakeProfitLevel = AmountToMaxLossInEuro / MarketInfo(Symbol(), MODE_TICKVALUE);
OrderSend(Symbol(), OP_SELL, Lots, Bid, 3, StopLossLevel, TakeProfitLevel);

基本上我想知道如何计算100欧元的批次,以及如何计算失控和获利的水平。

而且止损和获利水平也很高吗?或者他们是不同的单位?

EN

回答 1

Stack Overflow用户

发布于 2018-05-19 02:06:30

欢迎使用MQL4!第一个问题是关于帐户货币-如果它是美元(或其他东西不是欧元)-你必须进行这样的转换。好的,让我来描述一下如何处理欧元余额。您可以根据定额损失计算批量-在这种情况下,您可以使用MarketInfo(_Symbol,MODE_TICKVALUE)获得滴答值。但你必须知道在哪里退出的价格水平(停车位),无论是1点子还是100点子。让我们假设这是100个滴答(相当于5位数经纪人的10个点子)。那么,你的批量是

double lot = AmountToMaxLoss / (MarketInfor(_Symbol, MODE_TICKVALUE) * stoploss),那么你必须对结果进行标准化:

double lot_step=MarketInfo(_Symbol, MODE_LOTSTEP); double result = lot_step * NormalizeDouble(lot / lot_step, 0);然后检查该result > MarketInfo(_Symbol, MODE_MINLOT)。关于收购利润--这可能是一种奇怪的方法,用货币而不是价格水平来等待你的收购利润目标,但如果你需要的话,方法是一样的。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50414012

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档