初学者的问题 MQL5 MT5 MetaTrader 5 - 页 462

 

或者说,如果有关的仪器上没有刻度,这样的设计会不会没有帮助?

#property strict

extern bool USE_Info=true;

static datetime TimeN=0;

//+------------------------------------------------------------------+

//| Expert tick function                                             |

//+------------------------------------------------------------------+

int start()

  {

   datetime TimeC=iTime("GBPUSD",5,0);

   if(TimeN==0)TimeN=TimeC;

   if(TimeN==TimeC) return(0);

   TimeN=TimeC;

   return(INIT_SUCCEEDED);

  } 

 

帮我搞清楚这个问题。

例如,我需要在欧元兑美元上开仓,止损为30点,止盈为30点。 在开仓之前,我需要指定手数,以便在亏损的交易中损失为100美元。如何使用MQL5进行计算?

SL=30。

批量=计算公式

我想把我的交易机器人作为一个参考。

 
PabloEs:

帮我搞清楚这个问题。

例如,我需要在欧元兑美元上开仓,止损为30点,止盈为30点。 在开仓之前,我需要指定手数,以便在亏损的交易中损失为100美元。如何使用MQL5进行计算?

SL=30。

批量=计算公式

我预先感谢你。

对于4,你可以这样计算。

手数=金钱/(Hundred_in_points*MarketInfo(Symbol(),MODE_TICKVALUE)

 
Artyom Trishkin:

对于一个四胞胎,你可以这样计算。

手数=金钱/(Hundred_in_points*MarketInfo(Symbol(),MODE_TICKVALUE)

谢谢,但它对我不起作用。
 
PabloEs:
谢谢,但它没有帮助我。

参见SymbolInfoDouble(),而不是MarketInfo()。

那你说没有帮助是什么意思?我没有给你一条鱼,我给了你一根钓竿。

 
Artyom Trishkin:

参见SymbolInfoDouble()而非MarketInfo()。

那你说没有用是什么意思?我没有给你鱼,我给你的是鱼竿。

我太年轻了,不能使用鱼竿)

我已经用上述公式写了一个脚本

空白的OnStart()

{

//---

double Test=100/(300*_Point*SymbolInfoDouble(_Symbol,SYMBOL_TRADE_TICK_VALUE))。

警报(测试)。

给出了33333.33,也许是巨魔错了?

 
PabloEs:

我还太年轻,不会使用鱼竿)

下面是一个使用上述公式编写的脚本

空白的OnStart()

{

//---

double Test=100/(300*_Point*SymbolInfoDouble(_Symbol,SYMBOL_TRADE_TICK_VALUE)) 。

警报(测试)。

给出了33333.33,也许是巨魔错了?

钱/(Stoplos_in_points*MarketInfo(Symbol(),MODE_TICKVALUE))

你把它算在价格里

 
PabloEs:

我还太年轻,不会使用鱼竿)

下面是一个使用上述公式编写的脚本

空白的OnStart()

{

//---

double Test=100/(300*_Point*SymbolInfoDouble(_Symbol,SYMBOL_TRADE_TICK_VALUE)) 。

警报(测试)。

给出了33333.33,也许是巨魔错了?

我曾经写过这样的公式

手数 = AccountFreeMargin()*Risk/100*_Point/(StopLoss*MarketInfo(Symbol(), MODE_TICKVALUE)

AccountFreeMargin()*Risk/100 --- 这是你的100美元。

StopLoss --- 订单开仓价和止损价之间的差额(不以点为单位)。

相应地,MarketInfo()必须被替换为SymbolInfoDouble()。

 
PabloEs:

我还太年轻,不会使用鱼竿)

下面是一个使用上述公式编写的脚本

空白的OnStart()

{

//---

double Test=100/(300*_Point*SymbolInfoDouble(_Symbol,SYMBOL_TRADE_TICK_VALUE)) 。

警报(测试)。

给出了33333.33,也许是巨魔错了?

看看你有什么,如果是俄语,在_点,等于0.00001。

要在0.003点(300*0.00001)的情况下赚取100美元,手数必须是33333.33。)

 
Artyom Trishkin:

钱/(Staples_in_points*MarketInfo(Symbol(),MODE_TICKVALUE))

你把它算在价格里

正是如此。当我写这个公式时,SL不是由一个指定的值来定义的,而是作为订单开盘价 和某个水平之间的差额来计算的,这就是为什么我必须把风险金额乘以_Point的原因。