Si añades comentarios a cada línea, será más interesante:
inputint MetaQuotes1 = 30; // Описание входного параметра 1 inputbool MetaQuotes2 = true; // Описание входного параметра 2 inputdouble MetaQuotes3 = 20.3; // Описание входного параметра 3 inputstring MetaQuotes4 = "Corp"; // Описание входного параметра 4
Y si haces otra enumeración y la usas en lugar de un bool, es aún más interesante:
enum enumYN { enYes = 1, // Да enNo = 0, // Нет };
inputint MetaQuotes1 = 30; // Описание входного параметра 1 input enumYN MetaQuotes2 = enYes; // Описание входного параметра 2 inputdouble MetaQuotes3 = 20.3; // Описание входного параметра 3 inputstring MetaQuotes4 = "Corp"; // Описание входного параметра 4
y sinput le permite excluir una variable de la lista de variables para la optimización. Por ejemplo, la variable MetaQuotes4 en este contexto no es necesaria para la optimización y puede ser excluida:
enum enumYN { enYes = 1, // Да enNo = 0, // Нет };
inputint MetaQuotes1 = 30; // Описание входного параметра 1 input enumYN MetaQuotes2 = enYes; // Описание входного параметра 2 inputdouble MetaQuotes3 = 20.3; // Описание входного параметра 3 sinputstring MetaQuotes4 = "Corp"; // Описание входного параметра 4
No hay nada de malo en esto, sólo necesitábamos añadir texto para dejar claro durante la optimización desde y hacia qué parámetro y paso.
Mikhail Goryunov: No hay nada de malo en ello, lo único que había que hacer era añadir un texto para dejar claro cuándo se optimiza desde y hasta qué parámetro y paso.
wishmast: ¿por qué escriben esto como una asignación? int tik=OrderSend
Porque
Возвращаемое значение
Возвращает номер тикета, который назначен ордеру торговым сервером или -1 в случае неудачи. Чтобы получить информацию об ошибке, необходимо вызвать функцию GetLastError().
El valor de esta variable determinará lo que se haga a continuación. Por ejemplo
double ask=NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_ASK),digits); price=NormalizePrice(_Symbol,ask+Distance*_Point); t=OrderSend(_Symbol,OP_BUYSTOP,volume,price,Slippage,0,0,CommentOrder,Magic,0,clrBlue); if(t<0) { error=GetLastError(); rezult=StringConcatenate(_Symbol,": error open order ",DoubleToString(volume,2)," ",TypeToStr(type)," №- ",error," ",ErrorDescription(error)); Print(rezult); } else { tiket=t; rezult=StringConcatenate(_Symbol,": open order ",t," ",DoubleToString(volume,2)," ",TypeToStr(type)); Print(rezult); SendNotification(rezult); }
y sinput permite excluir una variable de la lista de variables a optimizar. Por ejemplo, la variable MetaQuotes4 no es necesaria para la optimización en este contexto y puede excluirse:
sinputstring MetaQuotes4 = "Corp"; // Описание входного параметра 4
Ejemplo desafortunado, los parámetros en minúsculas no participarán en la optimización de ninguna manera.
Artyom Trishkin: No lo elegí por el éxito/fracaso. Acabo de mostrar un ejemplo del código anterior. El ejemplo era claro. Eso es lo que intentaba hacer.
Si añades comentarios a cada línea, será más interesante:
input bool MetaQuotes2 = true; // Описание входного параметра 2
input double MetaQuotes3 = 20.3; // Описание входного параметра 3
input string MetaQuotes4 = "Corp"; // Описание входного параметра 4
Y si haces otra enumeración y la usas en lugar de un bool, es aún más interesante:
{
enYes = 1, // Да
enNo = 0, // Нет
};
input int MetaQuotes1 = 30; // Описание входного параметра 1
input enumYN MetaQuotes2 = enYes; // Описание входного параметра 2
input double MetaQuotes3 = 20.3; // Описание входного параметра 3
input string MetaQuotes4 = "Corp"; // Описание входного параметра 4
y sinput le permite excluir una variable de la lista de variables para la optimización. Por ejemplo, la variable MetaQuotes4 en este contexto no es necesaria para la optimización y puede ser excluida:
{
enYes = 1, // Да
enNo = 0, // Нет
};
input int MetaQuotes1 = 30; // Описание входного параметра 1
input enumYN MetaQuotes2 = enYes; // Описание входного параметра 2
input double MetaQuotes3 = 20.3; // Описание входного параметра 3
sinput string MetaQuotes4 = "Corp"; // Описание входного параметра 4
No hay nada de malo en esto, sólo necesitábamos añadir texto para dejar claro durante la optimización desde y hacia qué parámetro y paso.
No hay nada de malo en ello, lo único que había que hacer era añadir un texto para dejar claro cuándo se optimiza desde y hasta qué parámetro y paso.
¿por qué escriben esto como una asignación? int tik=OrderSend
Возвращает номер тикета, который назначен ордеру торговым сервером или -1 в случае неудачи. Чтобы получить информацию об ошибке, необходимо вызвать функцию GetLastError().
El valor de esta variable determinará lo que se haga a continuación. Por ejemplo
price=NormalizePrice(_Symbol,ask+Distance*_Point);
t=OrderSend(_Symbol,OP_BUYSTOP,volume,price,Slippage,0,0,CommentOrder,Magic,0,clrBlue);
if(t<0)
{
error=GetLastError();
rezult=StringConcatenate(_Symbol,": error open order ",DoubleToString(volume,2)," ",TypeToStr(type)," №- ",error," ",ErrorDescription(error));
Print(rezult);
}
else
{
tiket=t;
rezult=StringConcatenate(_Symbol,": open order ",t," ",DoubleToString(volume,2)," ",TypeToStr(type));
Print(rezult);
SendNotification(rezult);
}
....
y sinput permite excluir una variable de la lista de variables a optimizar. Por ejemplo, la variable MetaQuotes4 no es necesaria para la optimización en este contexto y puede excluirse:
sinput string MetaQuotes4 = "Corp"; // Описание входного параметра 4
Ejemplo desafortunado, los parámetros en minúsculas no participarán en la optimización de ninguna manera.
No lo elegí por el éxito/fracaso. Acabo de mostrar un ejemplo del código anterior. El ejemplo era claro. Eso es lo que intentaba hacer.
Absolutamente cierto, también puedes hacerlo.
Absolutamente cierto, tú también puedes hacerlo
Aquí hay una construcción.
doubleiLowest(string symbol,ENUM_TIMEFRAMES timeframe,int ne)
Pregunta: ¿qué tipo tieneENUM_TIMEFRAMES?
Aquí hay una construcción.
doubleiLowest(string symbol,ENUM_TIMEFRAMES timeframe,int ne)
Pregunta: ¿qué tipo tieneENUM_TIMEFRAMES?