stringo: Questo è un errore nella documentazione. La numerazione dei giorni di un anno parte da 0. Grazie.
Capisco che è più complicato, ma mi sembra più familiare (per i profani. Va bene per il programmatore). Il 1° gennaio è 1 giorno dell'anno. Penso che il riferimento sia corretto.
Prival: Capisco che è più complicato, ma sembra essere più familiare (per i profani. Per il programmatore, va bene). Il 1° gennaio è il 1° giorno dell'anno. Mi sembra giusto nell'aiuto.
Traduciamo la struttura standard del tempo di sistema nella nostra struttura MqlTime
Salve, potete aiutarmi a tradurre la funzione da mt4 a mt5. L'ho tradotto, ma non è giusto, se non sei duro, per favore mandami il codice giusto, non sono molto bravo in MQL. Ho appena iniziato a impararlo.
//+------------------------------------------------------------------+ #property copyright "2010, MetaQuotes Software Corp." #proprietà link"http://www.mql5.com" #proprietà versione "1.00" //--- parametri di ingresso
//+------------------------------------------------------------------+ //| Funzione di inizializzazione dell'esperto| //+------------------------------------------------------------------+ int OnInit() { ritorno(0); } //+------------------------------------------------------------------+ //| Funzione di deinizializzazione degli esperti| //+------------------------------------------------------------------+ void OnDeinit(const int reason) {
MQL5: language of trade strategies built-in the MetaTrader 5 Trading Platform, allows writing your own trading robots, technical indicators, scripts and libraries of functions
Il pulsante ha lo scopo di inserire il codice sorgente MQL nel testo del messaggio. Appena lo premete, appare una finestra vuota in cui dovete inserire il codice e poi premere il pulsante Insert. Per annullare l'inserimento del codice, premete il pulsante Cancel.
Non è raccomandato mettere in grassetto il codice per far risaltare in qualche modo certi pezzi di codice. Il punto è che i font monospace sono visualizzati in modo diverso nei diversi sistemi operativi e browser. Per esempio, Windows Vista usa il font Consolas monospace, che ha un carattere in grassetto per la dimensione 10 che è quasi indistinguibile da un font normale.
Salve, potete aiutarmi a tradurre la funzione da mt4 a mt5. L'ho tradotto, ma non è giusto, se non sei duro, per favore mandami il codice giusto, non sono molto bravo in MQL. Ho appena iniziato a impararlo.
//+------------------------------------------------------------------+#property copyright "2010, MetaQuotes Software Corp."#property link "http://www.mql5.com"#property version "1.00"//--- input parametersinputdouble Lots=0.1;
inputbool MM = true;
inputdouble Risk = 10;
//+------------------------------------------------------------------+//| Expert initialization function |//+------------------------------------------------------------------+intOnInit()
{
return(0);
}
//+------------------------------------------------------------------+//| Expert deinitialization function |//+------------------------------------------------------------------+voidOnDeinit(constint reason)
{
}
//+------------------------------------------------------------------+//| Expert tick function |//+------------------------------------------------------------------+voidOnTick()
{
if( MM ) Lots = LotSon(); //вызов функции LotSon
}
//+------------------------------------------------------------------+double LotSon()
{
double LotMin = SymbolInfoDouble(_Symbol,SYMBOL_VOLUME_MIN);
double LotMax = SymbolInfoDouble(_Symbol,SYMBOL_VOLUME_MAX);
double LotStep = SymbolInfoDouble(_Symbol,SYMBOL_VOLUME_STEP);
double Lot = AccountInfoDouble(ACCOUNT_FREEMARGIN)/100000.0 * Risk;
Lot = MathMin(Lotmax,MathMax(Lotmin,Lot));
if (Lot < LotMin) Lot = LotMin;
if (Lot > LotMax) Lot = LotMax;
// Вариант первыйswitch(LotStep)
{
case0.01: return(NormalizeDouble(Lot,2));
case0.1 : return(NormalizeDouble(Lot,1));
case1.0 : return(NormalizeDouble(Lot,0));
}
// Вариант второй// if (LotStep == 0.01)return(NormalizeDouble(Lot,2));// if (LotStep == 0.1) return(NormalizeDouble(Lot,1));// if (LotStep == 1.0) return(NormalizeDouble(Lot,0));// Вариант третий// if (LotStep == 0.01)return(NormalizeDouble(Lot,2));// else if (LotStep == 0.1) return(NormalizeDouble(Lot,1));// else if (LotStep == 1.0) return(NormalizeDouble(Lot,0));
}
E in questa fase di sviluppo: i parametri, la chiamata di funzione e la funzione stessa dovrebbero mostrare errori di compilazione o meno. Se sì, perché? Ho degli errori che mostrano
dice nell'aiuto.
intday_of_year;// numero in un anno (1 febbraio è il 32° giorno dell'anno)
Per qualche ragione esce sempre come 31 ((
lo script allegato
nel file
2010.02.01 00:00:00 143.832 143.839 143.758 143.771 186 2010 2 1 0 0 1 31
Questo è un errore nella documentazione. La numerazione dei giorni di un anno parte da 0. Grazie.
Capisco che è più complicato, ma sembra essere più familiare (per i profani. Per il programmatore, va bene). Il 1° gennaio è il 1° giorno dell'anno. Mi sembra giusto nell'aiuto.
Salve, potete aiutarmi a tradurre la funzione da mt4 a mt5. L'ho tradotto, ma non è giusto, se non sei duro, per favore mandami il codice giusto, non sono molto bravo in MQL. Ho appena iniziato a impararlo.
//+------------------------------------------------------------------+
#property copyright "2010, MetaQuotes Software Corp."
#proprietà link"http://www.mql5.com"
#proprietà versione "1.00"
//--- parametri di ingresso
input double Lots=0.1;
input bool MM = true;
input double Risk = 10;
//+------------------------------------------------------------------+
//| Funzione di inizializzazione dell'esperto|
//+------------------------------------------------------------------+
int OnInit()
{
ritorno(0);
}
//+------------------------------------------------------------------+
//| Funzione di deinizializzazione degli esperti|
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
}
//+------------------------------------------------------------------+
//| funzione tick esperto|
//+------------------------------------------------------------------+
void OnTick()
{
if( MM )double Lots = LotSon(); //call LotSon function
}
//+------------------------------------------------------------------+
doppio LotSon()
{
double LotMin = SymbolInfoDouble(_Symbol,SYMBOL_VOLUME_MIN);
double LotMax = SymbolInfoDouble(_Symbol,SYMBOL_VOLUME_MAX);
double Lots = AccountInfoDouble(ACCOUNT_FREEMARGIN)/100000.0 * Risk;
doppio Lotti = MathMin(Lotmax,MathMax(Lotmin,Lots));
if (LotMin < 0,1)Lots = NormalizeDouble(Lots,2);
else
{
if (LotMin < 1.0)Lots = NormalizeDouble(Lots,1);
else Lots = NormalizeDouble(Lots,0);
}
se (Lotti < LotMin) Lotti = LotMin;
se (Lotti > LotMax) Lotti = LotMax;
}
Come si ottiene il codice a colori?
Come si fa a colorare il codice?
Articolo della Comunità MQL5 - Memo utente:
Il pulsante
ha lo scopo di inserire il codice sorgente MQL nel testo del messaggio. Appena lo premete, appare una finestra vuota in cui dovete inserire il codice e poi premere il pulsante Insert. Per annullare l'inserimento del codice, premete il pulsante Cancel.
Non è raccomandato mettere in grassetto il codice per far risaltare in qualche modo certi pezzi di codice. Il punto è che i font monospace sono visualizzati in modo diverso nei diversi sistemi operativi e browser. Per esempio, Windows Vista usa il font Consolas monospace, che ha un carattere in grassetto per la dimensione 10 che è quasi indistinguibile da un font normale.
Salve, potete aiutarmi a tradurre la funzione da mt4 a mt5. L'ho tradotto, ma non è giusto, se non sei duro, per favore mandami il codice giusto, non sono molto bravo in MQL. Ho appena iniziato a impararlo.
Va bene, facciamo una prova. Grazie a tutti! Mi sto facendo queste domande? O devo andare da qualche altra parte? Grazie in anticipo per la risposta.
E in questa fase di sviluppo: i parametri, la chiamata di funzione e la funzione stessa dovrebbero mostrare errori di compilazione o meno. Se sì, perché? Ho degli errori che mostrano