[¡Archivo!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. No puedo ir a ningún sitio sin ti - 4. - página 42

Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
¿Los DoCs tienen un límite en el número de operaciones?
Algunos tienen no sólo un límite en el número de ofertas, sino incluso un límite en el número de solicitudes.
Son unos inventores. :-))
El resto permanece abierto hasta el final de la prueba, aunque el cierre condicional de una orden debe producirse cuando se abra otra.
Otra pregunta sobre los errores 4051 y 134 al utilizar OrderClose(), ¿qué significan? He copiado la información del registro.
La última opción parece haber funcionado más o menos bien. Aunque es posible simplificar los cálculos
Por favor, aconséjeme. Cómo puedo cerrar dos órdenes pendientes con la misma magia, pero con diferente lote.
int start()
{
double MyLastBullOpenPrice=0;
for(int Cnt=0;Cnt<OrdersTotal();Cnt++)
{
OrderSelect(Cnt,SELECT_BY_POS,MODE_TRADES);
if(OrderMagicNumber()==12345 && OrderType()==OP_BUY)
{
MyLastBullOpenPrice=OrderOpenPrice();
double Cena=OrderOpenPrice()+5*Point;
double Totalcena= Bid;
if (Totalcena>Cena)
{
if (OrdersTotal()>0)
{ for (int i=OrdersTotal()-1; i>=0; i--)
{ si (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)
{ if(OrderMagicNumber()==12345)
{ if(OrderDelete(OrderTicket())==true)
{
Print("Error = ",GetLastError()); return(0);
}
} } } }
}
}
return(MyLastBullOpenPrice);
}
El resto permanece abierto hasta el final de la prueba, aunque el cierre condicional de una orden debe producirse cuando se abra otra.
Otra pregunta sobre los errores 4051 y 134 al utilizar OrderClose(), ¿qué significan? He copiado la información del registro.
134 - No hay dinero, 4051 - Parámetros mal pasados a la función.
En cuanto al punto - comprueba que la variable magick se asigna sólo una vez, preferiblemente en la función init(), de lo contrario, cada orden tendrá su propio magick y el resultado será algo como lo que describes.
Por favor, ayúdenme a añadir (o escribir) una función de sustitución de caracteres en una cadena mediante arrays.
Tener dos matrices de caracteres:
string symbols1[] = {"a", "b", "c", "d"};string symbols2[] = {"1", "2", "3", "4"};
Intenté escribir una función que sustituyera el texto badc por 2143, basándome en las matrices, resultó así:
string ReplaceSymbolsInStr(string text){
string textMod[] ={""};
string symbols1[] = {"a","b","c","d"};
string symbols2[] = {"1","2","3","4"};
int textLen = StringLen(text);
for (int i1=0; i1<textLen; i1++)
{
string OneSymbol = StringSubstr(text,i1,1);
for (int i2=0; i2<ArraySize(symbols1); i2++)
{
if (symbols1[i2]==OneSymbol) int PosSymbolIn1array=i2;
}
return(-1);
string OneSymbolMod = symbols2[PosSymbolIn1array];
int NewArraySize = ArraySize(textMod)+1;
ArrayResize(textMod,NewArraySize);
textMod[i1]=OneSymbolMod;
string textNew;
textNew=StringConcatenate(textMod[1],textMod[2]...);//собрать массив в строку вообще не могу :(
return (textNew);
}
}
Sé que está mal y que no puedo ensamblar el array en una cadena. Por favor, ayuda.
Algunos tienen no sólo un límite en el número de ofertas, sino incluso un límite en el número de solicitudes.
Son unos inventores. :-))
Por favor, ayúdenme a añadir (o escribir) una función de sustitución de caracteres en una cadena mediante arrays.
Tener dos matrices de caracteres:
string symbols1[] = {"a", "b", "c", "d"};string symbols2[] = {"1", "2", "3", "4"}
Intenté escribir una función que sustituyera el texto badc por 2143, basándome en las matrices, resultó así:
string ReplaceSymbolsInStr(string text){
string textMod[] ={""};
string symbols1[] = {"a","b","c","d"};
string symbols2[] = {"1","2","3","4"};
int textLen = StringLen(text);
for (int i1=0; i1<textLen; i1++)
{
string OneSymbol = StringSubstr(text,i1,1);
for (int i2=0; i2<ArraySize(symbols1); i2++)
{
if (symbols1[i2]==OneSymbol) int PosSymbolIn1array=i2;
}
return(-1);
string OneSymbolMod = symbols2[PosSymbolIn1array];
int NewArraySize = ArraySize(textMod)+1;
ArrayResize(textMod,NewArraySize);
textMod[i1]=OneSymbolMod;
string textNew;
textNew=StringConcatenate(textMod[1],textMod[2]...);//собрать массив в строку вообще не могу :(
return (textNew);
}
}
Sé que está mal y que no puedo ensamblar el array en una cadena. Por favor, ayuda.
Se supone que has encontrado el índice del personaje en la matriz de sustitución, así que ¿por qué crear otra matriz?
Intenta añadirlo a una variable de texto plano en el primer bucle:
string ReplaceSymbolsInStr(string text)
{string symbols1[] = {"a", "b", "c", "d"};
string symbols2[] = {"1", "2", "3", "4"};
string textNew="";
int textLen = StringLen(text);
for (int i1=0; i1<textLen; i1++)
{
string OneSymbol = StringSubstr(text,i1,1);
for (int i2=0; i2<ArraySize(symbols1); i2++)
{
if (symbols1[i2]==OneSymbol) {textNew = textNew + symbols2[ i2 ]; i2=ArraySize(symbols1) ; }
}
}
return (textNew);
}
O incluso es más fácil así:
string ReplaceSymbolsInStr(string text)
{string symbols1[4] = {"a", "b", "c", "d"}; // tamaño del array por el número de símbolos que contiene
string textNew="";
for (int i1=0; i1< StringLen(text) ; i1++)
{
string OneSymbol = StringSubstr(text,i1,1);
for (int i2=0; i2<ArraySize(symbols1); i2++)
{
if (symbols1[i2]==OneSymbol )
{
textNew = textNew + (i2+1); // el número del propio símbolo se añade al texto devuelto
i2=ArraySize(symbols1) ; // completado el bucle de búsqueda
}
}
}
return (textNew);
}
¡Buenos días!
¿Podría aconsejar (o dar un enlace de ejemplo), cómo enviar los datos en formato csv automáticamente al correo electrónico?
Gracias.