Vogliamo normalizzare tutte le coppie in base allo strumento corrente?
dsma2 = NormalizeDouble(SMA[2] - SMA[3], _Digits); // MA nel sito 2-3 dsma1 = NormalizeDouble(SMA[1] - SMA[2], _Digits); // MA nel sito 1-2
Vogliamo normalizzare tutte le coppie in base allo strumento corrente?
Dobbiamo normalizzare tutte le coppie in base allo strumento corrente?
E come implementarlo correttamente in modo che non ci siano avvertimenti?
Nella versione originale è così:
int Digits_ = SymbolInfoInteger(Symbol_, SYMBOL_DIGITS) + 4;
dsma2 = NormalizeDouble(SMA[2] - SMA[3], Digits_); // MA nel sito 2-3
dsma1 = NormalizeDouble(SMA[1] - SMA[2], Digits_); // MA nel sito 1-2
Qual è il modo corretto di implementarlo senza avvertimenti?
Nella versione originale è così:
Cosa c'entra il +4? Ecco come dovrebbe essere logicamente
int Digits_ = SymbolInfoInteger(Symbol_, SYMBOL_DIGITS); dsma2 = NormalizeDouble(SMA[2] - SMA[3], Digits_); // MA nel sito 2-3 dsma1 = NormalizeDouble(SMA[1] - SMA[2], Digits_); // MA nel sito 1-2
Cosa c'entra questo con il +4? Dovrebbe essere logico.
Questo è anche il modo in cui viene visualizzato l'avviso:
possibile perdita di dati a causa della conversione di tipo Multik.mq5 218 18
Anche l'avvertimento è così:
possibile perdita di dati a causa della conversione del tipo Multik.mq5 218 18
Per evitare gli avvisi, è necessario effettuare la conversione in questo modo
int Digits_ = (int)SymbolInfoInteger(Symbol_, SYMBOL_DIGITS);
Ottimo lavoro, ma il multistrumento non perde di significato quando si negoziano coppie correlate con gli stessi setup? Mi aspetterei che i loro drawdown si verifichino più o meno nello stesso momento e questo potrebbe essere un problema. Purtroppo, però, tutte le coppie di valute sono così correlate che questo potrebbe essere inevitabile. In realtà tratto anche le coppie EUR/USD GBP/USD insieme, ma con una utilizzo un trend follower e con l'altra un EA di tipo reversal, tops and bottoms.
Se non si vogliono ricevere avvisi, è necessario effettuare la conversione in questo modo.
request.volume = Money_M();
Questo EA è un ottimo esempio di codice organizzato e ha ottimi commenti. Tuttavia, ho una domanda che riguarda la funzione di dimensione del lotto chiamata Money_M(). Qual è e dove si trova l'albero decisionale dietro a questa funzione?
Ho provato a cercare nel sito di supporto ma non ho trovato alcun riferimento e non sembra essere collegato a una classe associata.
request.volume = Money_M();
Questo EA è un ottimo esempio di codice organizzato e ha ottimi commenti. Tuttavia, ho una domanda che riguarda la funzione di dimensione del lotto chiamata Money_M(). Qual è e dove si trova l'albero decisionale dietro questo?
Ho provato a cercare nel sito di supporto ma non ho trovato alcun riferimento e non sembra essere collegato a una classe associata.
double Money_M() { double Lots=AccountInfoDouble(ACCOUNT_FREEMARGIN)/100000*10; Lots=MathMin(5,MathMax(0.1,Lots)); if(Lots<0.1) Lots=NormalizeDouble(Lots,2); else { if(Lots<1) Lots=NormalizeDouble(Lots,1); else Lots=NormalizeDouble(Lots,0); } return(Lots); }
Questa funzione viene utilizzata per calcolare la dimensione dei lotti di trading.
double Lots=AccountInfoDouble(ACCOUNT_FREEMARGIN)/100000*10;
In questa stringa viene calcolata la dimensione dei lotti di negoziazione. Il calcolo viene effettuato sui fondi liberi(ACCOUNT_FREEMARGIN). Rischio = 10% dei fondi liberi disponibili.
Lots=MathMin(5,MathMax(0.1,Lots));In questa riga viene eseguita la normalizzazione dei lotti commerciali. 0,1 <= Lotto <= 5,0
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Accetti la politica del sito e le condizioni d’uso
Multik:
Consulente multicurrency.
Author: Andrey Kornishkin