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
MT4 - Error #130 con Ordersend()
Hola. Estoy tratando de generar una orden usando OrderSend() en MT4 pero sigo obteniendo el Error #130. Entiendo que el Error #130 se relaciona con los niveles de stop-loss o take-profit que se establecen demasiado cerca del precio actual del mercado. Los he variado sin éxito. He utilizado tanto los valores relativos como los reales.
1. Utilizando valores relativos de take profit y stop loss para una compra:
ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Ask-50*Point,Ask+50*Point, "Long Breakout",16384,0,Green);
2.Utilizando los valores reales de Stoploss y TakeProfit para una compra:
ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,StopLoss,TakeProfit, "Long Breakout ",16384,0,Green);
donde:
double StopLoss = NormalizeDouble(StopLoss, Digits);
double TakeProfit = NormalizeDouble(TakeProfit, Dígitos);
y estos valores se establecen como valores externos (por ejemplo, extern double StopLoss=1.5000, extern double=TakeProfit=1.6000)
Mi broker es FXCM. He intentado multiplicar los valores de StoplLoss y TakeProfit por 10. Obtengo el mismo resultado para todos los pares de divisas.
En cada caso obtengo el Error #130. ¿Alguna idea?
Saludos
Cuando se establece el take profit para una posición de compra. El TP es
A diferencia de Ask+...
Chris
Lo siento, sí, culpa mía al escribir. Aun así, me temo que el problema persiste
Intente colocar un comentario o una impresión justo antes de la función ordersend para imprimir los niveles de stoploss y takeprofit. Además, asegúrese de que el stoploss/tp es mayor que la distancia mínima.
Coloca esto antes del envío de la orden:
if(StopLoss!=0 && StopLoss<(MarketInfo(Symbol(),MODE_STOPLEVEL)))
{
StopLoss=MarketInfo(Symbol(),MODE_STOPLEVEL);
}
if(TakeProfit!=0 && TakeProfit<(MarketInfo(Symbol(),MODE_STOPLEVEL)))
{
TakeProfit=MarketInfo(Symbol(),MODE_STOPLEVEL);
}
Chris
Hola. Estoy tratando de generar una orden usando OrderSend() en MT4 pero sigo obteniendo el Error #130. Entiendo que el Error #130 se relaciona con los niveles de stop-loss o take-profit que se establecen demasiado cerca del precio actual del mercado. Los he variado sin éxito. He utilizado tanto los valores relativos como los reales.
1. Utilizando valores relativos de take profit y stop loss para una compra:
ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Ask-50*Point,Ask+50*Point, "Long Breakout",16384,0,Green);
2.Utilizando los valores reales de Stoploss y TakeProfit para una compra:
ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,StopLoss,TakeProfit, "Long Breakout ",16384,0,Green);
donde:
double StopLoss = NormalizeDouble(StopLoss, Digits);
double TakeProfit = NormalizeDouble(TakeProfit, Dígitos);
y estos valores se establecen como valores externos (por ejemplo, extern double StopLoss=1.5000, extern double=TakeProfit=1.6000)
Mi broker es FXCM. He intentado multiplicar los valores de StoplLoss y TakeProfit por 10. Obtengo el mismo resultado para todos los pares de divisas.
En cada caso obtengo el Error #130. ¿Alguna idea?
SaludosFXCM con 5 dígitos.. o estás usando FXCM de qué país?
Gracias por sus respuestas. Sí, utilicé declaraciones de impresión para comprobar los valores de Stop Loss y Take Profit. Parecía estar bien en la impresión.
Estoy usando FXCM en el Reino Unido. Las divisas que no son el yen tienen 5 dígitos después del decimal (por ejemplo, GBPUSD: 1,55125). Los cruces de yenes tienen tres dígitos (por ejemplo, GBPJPY: 132,393). Me imaginé que siendo este el caso, los valores probablemente tendrían que ser multiplicados por 10.
Saludos
Me imaginé que siendo este el caso los valores probablemente tendrían que ser multiplicados por 10. Saludos
¿Tienes algo así en la función init?
{
Factor = 10;
StopLoss *= 10;
TakeProfit *= 10;
MaxSpread *= 10;
Slippage *=10;
}No, en la sentencia OrderSend() sólo multiplico los valores Take Profit y StopLoss por 10. ¿Puedes explicar un poco más el uso de estos valores? Muchas gracias
Son sólo las variables externas multiplicadas por diez. Usted los ajusta para incluir sus variables. Pero sólo se hacen las variables que difieren en los brokers de pips fraccionarios como el Stoploss.
Esto significa que si el stoploss se introduce como 20 pips en la lista de entrada, se ajustará automáticamente a 200 si el corredor es fraccional.