Perguntas de Iniciantes MQL5 MT5 MetaTrader 5 - página 462

 

Ou tal desenho não ajudará se não houver nenhuma marca no instrumento em questão?

#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);

  } 

 

Ajude-me a descobrir isto.

Por exemplo, preciso de abrir uma posição no EURUSD com uma paragem de 30 pips e TakeProfit de 30 pips. Antes de abrir a posição, preciso de especificar o volume do lote, de modo a que uma perda numa negociação perdedora seja de 100 USD. Como pode ser calculado usando a MQL5?

SL=30;

Lote=Fórmula para cálculo

Gostaria de usar o meu robô comercial como referência.

 
PabloEs:

Ajude-me a descobrir isto.

Por exemplo, preciso de abrir uma posição no EURUSD com uma paragem de 30 pips e TakeProfit de 30 pips. Antes de abrir a posição, preciso de especificar o volume do lote, de modo a que uma perda numa negociação perdedora seja de 100 USD. Como pode ser calculado usando a MQL5?

SL=30;

Lote=Fórmula para cálculo

Agradeço-vos antecipadamente.

Para 4, pode calculá-lo desta forma:

Lot=Money / (Hundred_in_points*MarketInfo(Symbol(),MODE_TICKVALUE))

 
Artyom Trishkin:

Para um quadrigêmeo, pode calculá-lo desta forma:

Lot=Money / (Hundred_in_points*MarketInfo(Symbol(),MODE_TICKVALUE))

Obrigado, mas não funcionou para mim.
 
PabloEs:
Obrigado, mas isso não me ajudou.

Ver SymbolInfoDouble() em vez de MarketInfo()

E o que quer dizer com isso não ajudou? Eu não lhe dei um peixe, dei-lhe uma cana de pesca.

 
Artyom Trishkin:

Ver SymbolInfoDouble() não MarketInfo()

E o que quer dizer com isso não funcionou? Eu não lhe dei o peixe, dei-lhe a vara.

Sou demasiado jovem para usar uma cana de pesca)

Escrevi um guião usando a fórmula acima

nulo OnStart()

{

//---

duplo Teste=100/(300*_Ponto*SymbolInfoDouble(_Symbol,SYMBOL_TRADE_TICK_VALUE));

Alerta(Teste);

Dá 33333,33, talvez o troll esteja errado?

 
PabloEs:

Ainda sou demasiado jovem para usar uma cana de pesca)

Aqui está um guião escrito usando a fórmula acima

nulo OnStart()

{

//---

duplo Teste=100/(300*_Ponto*SymbolInfoDouble(_Symbol,SYMBOL_TRADE_TICK_VALUE));

Alerta(Teste);

Dá 33333,33, talvez o troll esteja errado?

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

E conta-se no preço

 
PabloEs:

Ainda sou demasiado jovem para usar uma cana de pesca)

Aqui está um guião escrito usando a fórmula acima

nulo OnStart()

{

//---

duplo Teste=100/(300*_Ponto*SymbolInfoDouble(_Symbol,SYMBOL_TRADE_TICK_VALUE));

Alerta(Teste);

Dá 33333.33, talvez o troll esteja errado?

Eu costumava escrever tal fórmula

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

AccountFreeMargin()*Risk/100 --- este é o seu $100

StopLoss --- Diferença entre os preços da ordem aberta e os preços SL (não em pontos)

De forma correspondente, MarketInfo() deve ser substituído por SymbolInfoDouble()

 
PabloEs:

Ainda sou demasiado jovem para usar uma cana de pesca)

Aqui está um guião escrito usando a fórmula acima

nulo OnStart()

{

//---

duplo Teste=100/(300*_Ponto*SymbolInfoDouble(_Symbol,SYMBOL_TRADE_TICK_VALUE));

Alerta(Teste);

Dá 33333,33, talvez o troll esteja errado?

Veja o que tem, se em russo, e em _Point, igual a 0,00001:

Para ganhar $100 num take de 0,003 ponto (300*0,00001), o lote deve ser de 33333,33. Portanto, o troll está definitivamente errado ;)

 
Artyom Trishkin:

Dinheiro /(Agrafos_em_pontos*MarketInfo(Symbol(),MODE_TICKVALUE))

E conta-se no preço

Exactamente. Quando escrevi esta fórmula, o SL não foi definido por um valor especificado, mas foi calculado como a diferença entre o preço aberto da ordem e algum nível, por isso tive de multiplicar o montante do risco por _Ponto