Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 562

 
Aleksandr Lishchenko:

Sto solo imparando!

Non essere troppo duro! ;)

Impari come scaricare i codici dalla rete, attaccarli al tuo account e guadagnare soldi con l'affiliazione? Non c'è bisogno di impararlo, è abbastanza facile da fare.

 
Vitaly Muzichenko:

Impari come scaricare codici dal web, collegarli al tuo account e guadagnare soldi dal tuo affiliato? Non c'è bisogno di imparare a farlo, è abbastanza facile.

Voglio collegare l'Expert Advisor del mio autore (commissionato) al mio account e metterlo su un server dubbio, cosa c'è da non capire =)

Chiedo il vostro aiuto, per favore ditemi cosa devo postare.
 
Aleksandr Lishchenko:

Voglio collegare il mio autore (commissionato) EA a un account e ospitarlo su un server sospetto, cosa c'è da non capire =)

Pertanto, sto chiedendo il vostro aiuto, vi prego di consigliare ciò che è necessario postare.

Hai la risposta.

Ma potete anche inserire alla fine diOnInit

int OnInit()
  {
//---
  // Здесь уже есть код
//---
 // Проверка счёта
  if(AccountInfoInteger(ACCOUNT_LOGIN) != 123456 ) return(INIT_FAILED);
//---
 return(INIT_SUCCEEDED);
  }
 
Vitaly Muzichenko:

Vi è stato detto

Ma potete anche inserire alla fine diOnInit

Sei sicuro che la persona non copierà di nuovo senza pensare?

if(AccountInfoInteger(ACCOUNT_LOGIN) != 123456 ) return(INIT_FAILED);
 
Ihor Herasko:

Non è proprio così. La prima cosa da fare è calcolare il valore corretto più vicino (basato sul valore impostato), e poi controllare la differenza tra i valori. Se è zero (o non più di DBL_EPSILON), allora tutto è a posto:

La funzione VolumeCast può essere presa da qui.

Grazie mille

 
Ihor Herasko:

Non è proprio così. La prima cosa da fare è calcolare il valore corretto più vicino (basato sul valore impostato), e poi controllare la differenza tra i valori. Se è zero (o non più di DBL_EPSILON), allora tutto è a posto:

La funzione VolumeCast può essere presa da qui.

Grazie. Vorrei solo perfezionareVolumeCast un po' di più, perché se impostiamo valori abbastanza usuali, per esempio, dimensione del lotto uguale a 0,01 e dimensione minima del lotto uguale a 0,01 mentre il volume specificato dall'utente è corretto, come 0,03,VolumeCast aumenterà il volume a 0,04. Lo farei in questo modo

double VolumeCast(double volume, double volumeMin, double volumeMax, double volumeStep)
{
   if (volumeStep == 0.0)
      return volumeMin;
   if(volumeStep!=volumeMin)
      return (MathMin(MathFloor(volume / volumeStep) * volumeStep + volumeMin, volumeMax));
   else
      return (MathMin(MathFloor(volume / volumeStep) * volumeStep, volumeMax));
}
 
Aleksandr Teleguz:

Grazie. Solo vorrei perfezionareVolumeCast un po' di più, perché se impostiamo valori abbastanza usuali, per esempio volume del lotto uguale a 0,01 e lotto minimo uguale a 0,01 e il valore del volume impostato dall'utente è corretto, per esempio 0,03, alloraVolumeCast aumenterà il volume a 0,04. Io farei così:

Sì, esatto.

 
Puoi dirmi se è possibile scrivere un codice che funzioni sia su MT5 che su MT4?
 
Roman Sharanov:
Potete dirmi se è possibile scrivere un codice che funzioni su MT5 e MT4?

Per esempio

#ifdef __MQL5__
        int totalPsitions = PositionsTotal();
#else
        int totalPsitions = OrdersTotal();
#endif
 
Konstantin Nikitin:

Per esempio così

e ottenere dati dagli indicatori, il grafico?