Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 1204

 
leonerd:

Cosa significa la scala temporale nella storia del trading?

Scala X. Cosa significano i valori sulla scala?

Ditemi, cosa significano i numeri sul grafico nella dichiarazione di trading?

 
leonerd:

Che cosa significano questi numeri sul grafico nella dichiarazione commerciale?

Il numero dello scambio che ha portato al cambiamento del saldo.

 
Non l'ho capito subito, è una domanda infantile:

Come posso testare il mio TS in MT5 senza considerare lo spread?

In MT4 tutto è immediatamente visibile nel tester, in MT5 devo generare un simbolo Bid personalizzato?
 
Per lavorare con Json, questo è il migliore o c'è qualcosa di più nuovo e più corretto?
JSON Serialization and Deserialization (native MQL)
JSON Serialization and Deserialization (native MQL)
  • www.mql5.com
ForecastOscilator_HTF The ForecastOscilator indicator with the timeframe selection option available in the input parameters. Flat_HTF The Flat indicator with the timeframe selection option available in the input parameters. FX5_SelfAdjustingRSI_HTF The FX5_SelfAdjustingRSI...
 
Igor Makanu:
Non l'ho capito subito, è una domanda infantile:

Come posso testare il mio TS in MT5 senza considerare lo spread?

In MT4 tutto è immediatamente visibile nel tester, in MT5 devo generare un simbolo Bid personalizzato?

Puoi provare ad aprire la finestra"Strategy Tester", scheda "Settings" - premi il pulsante accanto al simbolo e correggi il simbolo - imposta lo spread a "0".

 

MT5

Si prega di consigliare come implementare l'aumento del lotto in base all'equilibrio.

Ma non per %, ma per valore di crescita a scalare.

Con ogni aumento del saldo di $1000 voglio aumentare il lotto di un passo di 0,1

I miei dati iniziali sono lacoppia EUR/USD

Deposito (saldo iniziale) 1000$

Lotto iniziale 0,1

Bisogno.

Se il deposito:

1000 poi lotto 0,1

2000 allora lotto 0,2

3000 poi lotto 0,3

Ecc.

Ora uso questo metodo:

if (Balance>= 1000 && Balance<=2000)  Lot = 0.1;
if (Balance>= 2000 && Balance<=3000)  Lot = 0.2;
if (Balance>= 3000 && Balance<=3000)  Lot = 0.3;

Ecc.

Ma invece di questa enumerazione infinita, vorrei avere una funzione.

Ho provato a inventarlo io stesso, ma non ha funzionato molto bene.

Forse a causa di problemi di normalizzazione...

Per favore consigliatemi, forse qualcuno ha una soluzione pronta o un esempio.

Пара EUR/USD: технический анализ, новости Forex, фундаментальный анализ - Блоги трейдеров и аналитика финансовых рынков
Пара EUR/USD: технический анализ, новости Forex, фундаментальный анализ - Блоги трейдеров и аналитика финансовых рынков
  • www.mql5.com
Валютная пара EUR/USD — самая ликвидная, поскольку в ней участвуют первая и вторая по значимости мировые резервные валюты. Это подтверждается и статистически: доллар и евро самые крупные по объему
 
Vladpedro:

MT5

Si prega di consigliare come implementare l'aumento del lotto in base all'equilibrio.

Ma non per %, ma per valore di crescita a scalare.

Con ogni aumento del saldo di $1000 voglio aumentare il lotto di un passo di 0,1

I miei dati iniziali sono lacoppia EUR/USD

Deposito (saldo iniziale) 1000$

Lotto iniziale 0,1

Bisogno.

Se il deposito:

1000 poi lotto 0,1

2000 allora lotto 0,2

3000 poi lotto 0,3

Ecc.

Ora uso questo metodo:

Ecc.

Ma invece di questa enumerazione infinita, vorrei avere una funzione.

Ho provato a inventarlo io stesso, ma non ha funzionato molto bene.

Forse a causa di problemi di normalizzazione...

Forse qualcuno ha una soluzione pronta o un esempio.

Fate attenzione al quoziente quando dividete il deposito per 1000. Ad un deposito < 2000 ci sarà 1 intero e alcuni decimi, centesimi... che non ci interessa. Il deposito di 2000 sarà di 2 e così via. Si scopre che è sufficiente moltiplicare la parte intera di questa frazione per 0,1 e ottenere ciò che vogliamo.

E nella sua lista c'è un errore, anche se insignificante. Il modo corretto è il seguente

if (Balance>= 1000 && Balance<2000)  Lot = 0.1;
if (Balance>= 2000 && Balance<3000)  Lot = 0.2;
if (Balance>= 3000 && Balance<3000)  Lot = 0.3;
 
Vladpedro:

MT5

Si prega di consigliare come implementare l'aumento del lotto in base all'equilibrio.

Ma non per %, ma per valore di crescita a scalare.

Con ogni aumento del saldo di $1000 voglio aumentare il lotto di un passo di 0,1

I miei dati iniziali sono lacoppia EUR/USD

Deposito (saldo iniziale) 1000$

Lotto iniziale 0,1

Bisogno.

Se il deposito:

1000 poi lotto 0,1

2000 allora lotto 0,2

3000 poi lotto 0,3

Ecc.

Ora uso questo metodo:

Ecc.

Ma invece di questa enumerazione infinita, vorrei avere una funzione.

Ho provato a inventarlo io stesso, ma non ha funzionato molto bene.

Forse a causa di problemi di normalizzazione...

Forse qualcuno ha una soluzione pronta o un esempio.

Trova l'arrotondamento usando MathCeil,MathRound o MathFloor.

Vedi esempio di come funzionano:

//+------------------------------------------------------------------+
//|                                                      ProjectName |
//|                                      Copyright 2018, CompanyName |
//|                                       http://www.companyname.net |
//+------------------------------------------------------------------+
#property version "1.00"
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
   double start_balance=1000;
   double step_balance=1000;

   Print("Step ",DoubleToString(step_balance,1));

   for(int i=0; i<12; i++)
     {
      double division=start_balance/step_balance;
      Print("Balance ",DoubleToString(start_balance,1),
            ", division ",DoubleToString(division,1),
            ", MathCeil(",DoubleToString(division,1),") ->  ",MathCeil(division),
            ", MathRound(",DoubleToString(division,1),") ->  ",MathRound(division),
            ", MathFloor(",DoubleToString(division,1),") ->  ",MathFloor(division));
      start_balance=start_balance+step_balance/3;
     }
  }
//+------------------------------------------------------------------+

e risultato.

Step 1000.0
Balance 1000.0, division 1.0, MathCeil(1.0) ->  1.0, MathRound(1.0) ->  1.0, MathFloor(1.0) ->  1.0
Balance 1333.3, division 1.3, MathCeil(1.3) ->  2.0, MathRound(1.3) ->  1.0, MathFloor(1.3) ->  1.0
Balance 1666.7, division 1.7, MathCeil(1.7) ->  2.0, MathRound(1.7) ->  2.0, MathFloor(1.7) ->  1.0
Balance 2000.0, division 2.0, MathCeil(2.0) ->  2.0, MathRound(2.0) ->  2.0, MathFloor(2.0) ->  1.0
Balance 2333.3, division 2.3, MathCeil(2.3) ->  3.0, MathRound(2.3) ->  2.0, MathFloor(2.3) ->  2.0
Balance 2666.7, division 2.7, MathCeil(2.7) ->  3.0, MathRound(2.7) ->  3.0, MathFloor(2.7) ->  2.0
Balance 3000.0, division 3.0, MathCeil(3.0) ->  3.0, MathRound(3.0) ->  3.0, MathFloor(3.0) ->  3.0
Balance 3333.3, division 3.3, MathCeil(3.3) ->  4.0, MathRound(3.3) ->  3.0, MathFloor(3.3) ->  3.0
Balance 3666.7, division 3.7, MathCeil(3.7) ->  4.0, MathRound(3.7) ->  4.0, MathFloor(3.7) ->  3.0
Balance 4000.0, division 4.0, MathCeil(4.0) ->  5.0, MathRound(4.0) ->  4.0, MathFloor(4.0) ->  4.0
Balance 4333.3, division 4.3, MathCeil(4.3) ->  5.0, MathRound(4.3) ->  4.0, MathFloor(4.3) ->  4.0
Balance 4666.7, division 4.7, MathCeil(4.7) ->  5.0, MathRound(4.7) ->  5.0, MathFloor(4.7) ->  4.0

Vi consiglio di usareMathFloor.

Документация по MQL5: Математические функции / MathFloor
Документация по MQL5: Математические функции / MathFloor
  • www.mql5.com
Математические функции / MathFloor - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
File:
1.mq5  3 kb
 
Alexey Viktorov:

Fate attenzione al quoziente quando dividete il deposito per 1000. Se il deposito < 2000 sarà 1 intero e alcuni decimi, centesimi. che non sono di interesse. Il deposito di 2000 conterrà 2 e così via. Si scopre che è sufficiente moltiplicare la parte intera di questa frazione per 0,1 e ottenere ciò che vogliamo.

E nella sua enumerazione, anche se minore, c'è un errore. Corretto è

Alexey

Grazie. Ho avuto l'idea di dividere per 1000 e ridurre a numero intero, cercherò di implementarlo.

<= è stato impostato automaticamente, non dal codice. Scrivere con le mani, e le penne sono tali...))

 
Vladimir Karputov:

Seleziona un'operazione di arrotondamento tra MathCeil , MathRound o MathFloor.

Un esempio di come funzionano:

e risultato.

Vi consiglio di usareMathFloor.

Grazie, proprio quello di cui hai bisogno.