Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 462

 

O un tale disegno non aiuterà se non c'è nessun segno di spunta sullo strumento in questione?

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

  } 

 

Aiutami a capire questo.

Per esempio, ho bisogno di aprire una posizione su EURUSD con uno stop di 30 pip e TakeProfit di 30 pip. Prima di aprire la posizione, ho bisogno di specificare il volume del lotto, in modo che una perdita su un trade perdente sarebbe di 100 USD. Come può essere calcolato con MQL5?

SL=30;

Lotto=Formula di calcolo

Vorrei usare il mio robot di trading come riferimento.

 
PabloEs:

Aiutami a capire questo.

Per esempio, ho bisogno di aprire una posizione su EURUSD con uno stop di 30 pip e TakeProfit di 30 pip. Prima di aprire la posizione, ho bisogno di specificare il volume del lotto, in modo che una perdita su un trade perdente sarebbe di 100 USD. Come può essere calcolato con MQL5?

SL=30;

Lotto=Formula di calcolo

Vi ringrazio in anticipo.

Per 4, si può calcolare in questo modo:

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

 
Artyom Trishkin:

Per un quadruplo, si può calcolare in questo modo:

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

Grazie, ma non ha funzionato per me.
 
PabloEs:
Grazie, ma non mi ha aiutato.

Vedere SymbolInfoDouble() invece di MarketInfo()

E cosa vuol dire che non ha aiutato? Non ti ho dato un pesce, ti ho dato una canna da pesca.

 
Artyom Trishkin:

Vedere SymbolInfoDouble() non MarketInfo()

E cosa vuol dire che non ha funzionato? Non ti ho dato il pesce, ti ho dato la canna da pesca.

Sono troppo giovane per usare una canna da pesca)

Ho scritto uno script usando la formula di cui sopra

void OnStart()

{

//---

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

Allarme (test);

Dà 33333.33, forse il troll si sbaglia?

 
PabloEs:

Sono ancora troppo giovane per usare una canna da pesca)

Ecco uno script scritto usando la formula di cui sopra

void OnStart()

{

//---

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

Allarme (test);

Dà 33333.33, forse il troll si sbaglia?

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

E tu lo conti nel prezzo

 
PabloEs:

Sono ancora troppo giovane per usare una canna da pesca)

Ecco uno script scritto usando la formula di cui sopra

void OnStart()

{

//---

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

Allarme (test);

Dà 33333.33, forse il troll si sbaglia?

Scrivevo tale formula

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

AccountFreeMargin()*Risk/100 --- questo è il tuo $100

StopLoss --- Differenza tra l'ordine aperto e i prezzi SL (non in punti)

Corrispondentemente, MarketInfo() deve essere sostituito con SymbolInfoDouble()

 
PabloEs:

Sono ancora troppo giovane per usare una canna da pesca)

Ecco uno script scritto usando la formula di cui sopra

void OnStart()

{

//---

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

Allarme (test);

Dà 33333.33, forse il troll si sbaglia?

Vedi cosa hai, se in russo, e a _Point, uguale a 0,00001:

Per fare 100 dollari con una presa di 0,003 punti (300*0,00001), il lotto deve essere 33333,33. Quindi il troll si sbaglia di sicuro ;)

 
Artyom Trishkin:

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

E tu lo conti nel prezzo

Esattamente. Quando ho scritto questa formula, lo SL non era definito da un valore specifico ma era calcolato come la differenza tra il prezzo aperto dell'ordine e un certo livello, ecco perché ho dovuto moltiplicare l'importo del rischio per _Point
Motivazione: