[ARCHIVO] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 3. - página 407
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
BASE FLETCHING... :-)
y también una TENDENCIA BASE ))
si el eur baja y el dol baja, plano
:-)
¿se han tenido en cuenta los diferenciales de los swaps?
Sobre el hecho de que después de la for...
Sí.... Respuesta "exhaustiva". Todo evento debe tener una razón. Los profesionales, al encontrarse con algunas averías, saben a qué prestar atención. Busqué en el algoritmo varias veces, pero no puedo encontrar la causa Es por eso que me dirijo a los profesionales para el consejo - lo que podría ser la razón?
Estoy intentando abrir una orden pendiente como esta:
//+---------Функция расчета лота---------------------------------------+
double GetLot(int Risk)
{
double Free=AccountFreeMargin();
double One_Lot=MarketInfo(Symbol(),MODE_MARGINREQUIRED);
double Min_Lot=MarketInfo(Symbol(),MODE_MINLOT);
double Max_Lot=MarketInfo(Symbol(),MODE_MAXLOT);
double Step=MarketInfo(Symbol(),MODE_LOTSTEP);
double Lote=MathFloor(Libre*Riesgo/100/Un_Lote/Paso)*Paso;
if(Lote<Lote_Mínimo)Lote=Lote_Mínimo;
if(Lote>Lote_máximo)Lote=Lote_máximo;
if(Lote*Uno_Lote>Libre)return(0.0);
retorno(Lote);
}
//+----------Функция открытия ордера-----------------------------------+
int NuevoOrden(int Cmd,double Lote)
{
double TP=0;//takeprofit
double SL=0;// stop loss
double PR=0;// precio
while(!IsTradeAllowed())Sleep(100);
if(TakeProfit<MarketInfo(Symbol(),MODE_STOPLEVEL))
TakeProfit=MarketInfo(Symbol(),MODE_STOPLEVEL);
if(StopLoss<MarketInfo(Symbol(),MODE_STOPLEVEL))
StopLoss=MarketInfo(Symbol(),MODE_STOPLEVEL);
if(Cmd==OP_BUYSTOP)
{
PR=NormalizarDoble(Pregunta,Dígitos);
if(TakeProfit>0)TP=NormalizeDouble(Ask+TakeProfit*Point,Digits);
if(StopLoss>0)SL=NormalizeDouble(Bid-StopLoss*Point,Digits);
}
if(Cmd==OP_SELLSTOP)
{
PR=NormalizarDoble(Oferta,Dígitos);
if(TakeProfit>0)TP=NormalizeDouble(Bid-TakeProfit*Point,Digits);
if(StopLoss>0)SL=NormalizeDouble(Ask+StopLoss*Point,Digits);
}
tic=OrderSend(Symbol(),Cmd,Lot,PR,3,SL,TP,"",0,0,CLR_NONE);
if(tic<0)Print("Error al abrir la orden:",GetLastError()); Print("Cmd-",Cmd, "Lot=",Lot, "PR=",PR, "SL=",SL, "TP=",TP);
return(tic);
}
Cuando lo compruebo, me aparece un mensaje:
2011.12.06 23:36:50 2010.01.06 16:19 Big Dog 1.01 EURUSD,M15: cantidad de lotes no válida para la función OrderSend
2011.12.06 23:36:50 2010.01.06 16:19 Big Dog 1.01 EURUSD,M15: OrderSend error 4051
2011.12.06 23:36:51 2010.01.07 17:20 Big Dog 1.01 EURUSD,M15: Orden errónea abierta:405
2011.12.06 23:36:51 2010.01.07 17:20 Big Dog 1.01 EURUSD,M15: Cmd-5Lot=0PR=1.4316SL=1.4419TP=1.4216
Obviamente, es algo con el cálculo de los lotes, pero no entiendo qué))) Por favor, asesórese
Yep.... Respuesta "exhaustiva". Todo evento debe tener una razón. Los profesionales, cuando se encuentran con alguna avería, saben a qué atenerse. He mirado el algoritmo varias veces, pero no encuentro la razón. Por eso pido consejo a los profesionales: ¿cuál puede ser la razón?
Bueno, ¿dónde está el indicador? (Supongo que por los posos del café tel. https://www.mql5.comhttps://www.mql5.com/ru/)
Bueno, si haces una lista de todo, las cartas se acabarán.
continue break return ver si hay una interrupción para y cuando sucede. funciona con la apertura de la barra....
"encontrar algunos problemas saber a qué prestar atención" no prestan atención sino que empiezan a depurar, empieza a depurar tu indicador también, por ejemplo a través de la impresión (además con el de otra persona y así 15 páginas de largo, más de 50 funciones llamadas...)
Hola.
He creado una matriz:
Sin embargo, por alguna razón su primer valor pasa a cero (-10,09 se convierte en 0). Encontré una salida a la situación haciendo esto:
¿Puede decirme de qué se trata? Tengo muchas ganas de entender.
Gracias de antemano.
Hola.
He creado una matriz:
Sin embargo, por alguna razón su primer valor pasa a cero (-10,09 se convierte en 0). Encontré una salida a la situación haciendo esto:
¿Puede decirme de qué se trata? Tengo muchas ganas de entender.
Gracias de antemano.
No he puesto a cero con índice = 0
2011.12.06 20:00:47 MA_TF AUDUSD,M30: Alerta: -10.09
Aquí está la parte problemática del código:
Aquí está el problema descrito anteriormente: la línea derivada del valor -10,09 no se dibuja (toma el valor de MinAsia).
Aquí está la parte problemática del código:
tuz
Estoy intentando abrir una orden pendiente como esta:
//+---------Функция расчета лота---------------------------------------+
Cuando lo compruebo, me aparece un mensaje:
2011.12.06 23:36:50 2010.01.06 16:19 Big Dog 1.01 EURUSD,M15: cantidad de lotes no válida para la función OrderSend
2011.12.06 23:36:50 2010.01.06 16:19 Big Dog 1.01 EURUSD,M15: OrderSend error 4051
2011.12.06 23:36:51 2010.01.07 17:20 Big Dog 1.01 EURUSD,M15: Orden errónea abierta:405
2011.12.06 23:36:51 2010.01.07 17:20 Big Dog 1.01 EURUSD,M15: Cmd-5Lot=0PR=1.4316SL=1.4419TP=1.4216
Obviamente, es algo con el cálculo de los lotes, pero no entiendo qué))) Por favor, asesórese