debe haber un número de línea y una posición en la línea de código con el error.
Es una forma fácil de arreglar todos los errores, conociendo la ubicación exacta en el código.
He tomado el Asesor Experto ofrecidopor Alekseu Fedotov y he tratado de modificarlo para adaptarlo a mis necesidades.
Mis necesidades son las siguientes: En un cruce de varillas, abrimos una posición, y la cerramos en el cruce opuesto. Si es posible, transferimos la posición al punto de equilibrio.
Pero al final no se abre nada. Me estoy devanando los sesos. ¿Cuál puede ser el problema?
Tomé el EA ofrecidopor Alekseu Fedotov y traté de modificarlo para adaptarlo a mis necesidades.
Mis necesidades son las siguientes: Si se cruzan, abrimos una posición. Si se vuelven a cruzar, la cerramos. Si es posible, transferimos la posición al punto de equilibrio.
Pero al final no se abre nada. Me estoy devanando los sesos. ¿Cuál puede ser el problema?
No estoy seguro de cuál es el problema, pero me gustaría ver una línea de código con un error de MMC, por última vez.
voidOnTick() { for (int i=0; i<OrdersTotal(); i++) if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) if (OrderSymbol()==Symbol() && Magic==OrderMagicNumber())return;
double STO = iStochastic(NULL,15,2,3,1,MODE_SMA,0,MODE_SIGNAL,0); double SL=0,TP=0;
if (STO > buy_level)
{ if (takeprofit!=0) TP = NormalizeDouble(Ask + takeprofit*Point,Digits); if (stoploss!=0) SL = NormalizeDouble(Ask - stoploss* Point,Digits); if (OrderSend(Symbol(),OP_BUY, Lot,NormalizeDouble(Ask,Digits),slippage,SL,TP,NULL,Magic)==-1) Print(GetLastError()); PlaySound("timeout.wav"); Print("Ордер успешно размещен"); } }
voidOnTick() { for (int i=0; i<OrdersTotal(); i++) if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) if (OrderSymbol()==Symbol() && Magic==OrderMagicNumber())return;
double STO = iStochastic(NULL,15,2,3,1,MODE_SMA,0,MODE_SIGNAL,0); double SL=0,TP=0;
if (STO > buy_level)
{ if (takeprofit!=0) TP = NormalizeDouble(Ask + takeprofit*Point,Digits); if (stoploss!=0) SL = NormalizeDouble(Ask - stoploss* Point,Digits); if (OrderSend(Symbol(),OP_BUY, Lot,NormalizeDouble(Ask,Digits),slippage,SL,TP,NULL,Magic)==-1) Print(GetLastError()); PlaySound("timeout.wav"); Print("Ордер успешно размещен"); } }
posible pérdida de datos debido a la conversión de tipos
Pruébalo.
Muéstrame la línea del código a la que apunta el compilador
Hay muchas líneas así, por eso pedí un módulo adaptado para los nuevos terminales. Pero gracias por su disposición a ayudar)
Hay muchas líneas así, por eso pedí un módulo adaptado para los nuevos terminales. Pero gracias por su disposición a ayudar)
Justo en esta línea :
" posible pérdida de datos debido a la conversión de tipos"
debe ser el número de línea y la posición en la línea de código con el error.
Así de fácil, puedes arreglar todos los errores, conociendo la ubicación exacta en el código
justo en esta línea :
" posible pérdida de datos debido a la conversión de tipos"
debe haber un número de línea y una posición en la línea de código con el error.
Es una forma fácil de arreglar todos los errores, conociendo la ubicación exacta en el código.
He tomado el Asesor Experto ofrecidopor Alekseu Fedotov y he tratado de modificarlo para adaptarlo a mis necesidades.
Mis necesidades son las siguientes: En un cruce de varillas, abrimos una posición, y la cerramos en el cruce opuesto. Si es posible, transferimos la posición al punto de equilibrio.
Pero al final no se abre nada. Me estoy devanando los sesos. ¿Cuál puede ser el problema?
Tomé el EA ofrecidopor Alekseu Fedotov y traté de modificarlo para adaptarlo a mis necesidades.
Mis necesidades son las siguientes: Si se cruzan, abrimos una posición. Si se vuelven a cruzar, la cerramos. Si es posible, transferimos la posición al punto de equilibrio.
Pero al final no se abre nada. Me estoy devanando los sesos. ¿Cuál puede ser el problema?
muestra la línea del código con el error de MMC, por última vez me ofrezco a ayudar.
mostrar un fragmento de código sobre cómo leer la señal del indicador en su EA
takeprofit = 400,
slippage = 10,
Magic = 777;
extern double Lot = 0.5,
buy_level = 15;
void OnTick()
{
for (int i=0; i<OrdersTotal(); i++)
if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
if (OrderSymbol()==Symbol() && Magic==OrderMagicNumber())return;
double STO = iStochastic(NULL,15,2,3,1,MODE_SMA,0,MODE_SIGNAL,0);
double SL=0,TP=0;
if (STO > buy_level)
{
if (takeprofit!=0) TP = NormalizeDouble(Ask + takeprofit*Point,Digits);
if (stoploss!=0) SL = NormalizeDouble(Ask - stoploss* Point,Digits);
if (OrderSend(Symbol(),OP_BUY, Lot,NormalizeDouble(Ask,Digits),slippage,SL,TP,NULL,Magic)==-1) Print(GetLastError());
PlaySound("timeout.wav");
Print("Ордер успешно размещен");
}
}
takeprofit = 400,
slippage = 10,
Magic = 777;
extern double Lot = 0.5,
buy_level = 15;
void OnTick()
{
for (int i=0; i<OrdersTotal(); i++)
if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
if (OrderSymbol()==Symbol() && Magic==OrderMagicNumber())return;
double STO = iStochastic(NULL,15,2,3,1,MODE_SMA,0,MODE_SIGNAL,0);
double SL=0,TP=0;
if (STO > buy_level)
{
if (takeprofit!=0) TP = NormalizeDouble(Ask + takeprofit*Point,Digits);
if (stoploss!=0) SL = NormalizeDouble(Ask - stoploss* Point,Digits);
if (OrderSend(Symbol(),OP_BUY, Lot,NormalizeDouble(Ask,Digits),slippage,SL,TP,NULL,Magic)==-1) Print(GetLastError());
PlaySound("timeout.wav");
Print("Ордер успешно размещен");
}
}
Aquí mismo:
iStochastic(NULL,15,2,3,1,MODE_SMA,0,MODE_SIGNAL,0);
cambiar el período (marco de tiempo) a 1,5,15,30,60,240,1440,10080,43200 //M1.M5.M30 ... etc.
o introduzca Period() en lugar de 15, entonces cuando cambie manualmente de TF, el actual se fijará automáticamente