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
Hola a todos...
como puedo establecer un código de orden en el metaeditor,
Yo uso la cuenta de demostración... ¿es posible establecer una orden en la cuenta de demostración
lo he intentado pero no lo he conseguido
Parámetro BE
Hola.
Necesito ayuda para añadir el parámetro BE stop en este EA por favor. Este EA lo conseguí de la primera página de este hilo que se basa en el sistema Trendmanager.
Gracias de antemano.
Cha.
e-trendmanager.mq4
Archivo MQ4 por favor
Gracias de antemano.
Cha.#property copyright "Copyright ฉ 2006, www.easyforexsignals.com"
#property link "paul@easyforexsignals.com"
#define LONGCOLOR DodgerAzul
#define SHORTCOLOR NaranjaRojo
#define MAGICTM 20070610
extern double TMlots=0.1;
extern int MoveStopAmount = 20;
extern int MoveStopAfterProfitof = 55;
extern int minadxlevel = 20;
extern double minSolarWind = 0,25;
extern double minJuice = 0,001;
extern int StopLoss=50,
Slippage = 3,
TakeProfit=120;
datetime LastTMSignalTime;
extern int MinTimeBetweenSignals = 60;
int init(){
return(0);
}
int deinit(){
return(0);
}
int inicio()
{
int res= 0;
if(Bars<100 || IsTradeAllowed()==false) return;
CheckTrendManager(); // comprueba el sistema de gestión de tendencias
CheckForTMClose(); // comprueba los cierres en este sistema
CheckForStopMove(); // mover los stops en cualquier operación abierta
}
void CheckForStopMove() {
for(int i=0;i<OrdersTotal();i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
if(OrderMagicNumber()!=MAGICTM | OrderSymbol()!=Symbol()) continue;
if(OrderType()==OP_BUY)
{
// subir los stops para bloquear el beneficio
if ((OrderOpenPrice()-Ask) >= (MoveStopAfterProfitof * Point()) {
OrderModify(OrderTicket(),0,OrderOpenPrice()+(MoveStopAmount*Point),OrderTakeProfit(),0,Black);
}
}
if(OrderType()==OP_SELL)
{
// mover hacia arriba los stops para bloquear el beneficio
if ((OrderOpenPrice() - Bid) >= (MoveStopAfterProfitof * Point()) {
OrderModify(OrderTicket(),0,OrderOpenPrice()-(MoveStopAmount*Point),OrderTakeProfit(),0,Black);
}
}
}
}
void CheckTrendManager() {
if (Time[0]-LastTMSignalTime > MinTimeBetweenSignals) {
double PipsStopLoss, PipsTakeProfit;
double TMbuy = iCustom(Symbol(),Period(), "TrendManagerNT",2, 0);
double TMsell = iCustom(Symbol(),Period(), "TrendManagerNT",3, 0);
int resultado de la orden;
if (TMbuy > 0) {
if (CheckFilters(OP_BUY)==true) {
PipsStopLoss = Ask-(StopLoss * Point());
PipsTakeProfit = Ask+(TakeProfit * Point());
CloseExisting(OP_SELL);
orderresult =OrderSend(Symbol(),OP_BUY,TMlots,Ask,Slippage,PipsStopLoss, PipsTakeProfit,"",MAGICTM,0,Maroon);
Print(Time[0] + "BUY ON TM,order result was :" + orderresult + "stop:" + PipsStopLoss + ",takeprofit:" + PipsTakeProfit);
LastTMSignalTime = Time[0];
}
}
if (TMsell > 0){
if (CheckFilters(OP_SELL)==true) {
PipsStopLoss = Oferta+(StopLoss * Punto());
PipsTakeProfit = Oferta-(TakeProfit * Punto());
CloseExisting(OP_BUY);
orderresult = OrderSend(Symbol(),OP_SELL,TMlots,Bid,Slippage,PipsStopLoss,PipsTakeProfit,"",MAGICTM,0,Green);
Print(Time[0] + "SELL ON TM, order result was :" + orderresult + "stop:" + PipsStopLoss + ",takeprofit:" + PipsTakeProfit);
LastTMSignalTime = Time[0];
}
}
}
}
void CheckForTMClose() {
double TMclosesell = iCustom(Symbol(),Period(), "TrendManagerNT",4, 0);
double TMclosebuy = iCustom(Symbol(),Period(), "TrendManagerNT",5, 0);
for(int i=0;i<TotalOrdenes();i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
if(OrderMagicNumber()!=MAGICTM | OrderSymbol()!=Symbol()) continue;
//---- sólo cerrarlo
if ((TMclosesell > 0) && (OrderType()==OP_SELL)) {
OrderClose(OrderTicket(),OrderLots(),Bid,10,Pink);
}
if ((TMclosebuy > 0) && (OrderType()==OP_BUY)) {
OrderClose(OrderTicket(),OrderLots(),Bid,10,Pink);
}
}
}
// sólo cierra las posiciones existentes
void CloseExisting(int OrderTyp)
{
for(int i=0;i<OrdersTotal();i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
if(OrderMagicNumber()!=MAGICTM | OrderSymbol()!=Symbol()) continue;
//---- sólo cerrarlo deslizamiento std
if(OrderType()==OrderTyp)
{
OrderClose(OrderTicket(),OrderLots(),Bid,10,White);
}
}
}
bool CheckFilters(int OrderTyp) {
return(true);
}
Sólo tienes que renombrar el archivo con la extensión .mq4. Eso es todo.
Hola.
Intento cambiarlo pero no funciona, ¿puede terminarlo por favor?
Gracias.
Cha.
Hola.
Intento cambiarlo pero no funciona, ¿puede terminarlo por favor?
Gracias.
Cha.Hecho plut arreglado algunos errores en el código.
Robert
Se necesita ayuda para la función ordeersend
Hola,
Estoy teniendo problemas con la función ordeersend ().
aquí está el código que hice :
return if( Print("OrderSend 2 failed with error #",GetLastError( Con este código, obtengo el error #130 (error para)Alguien puede explicarme que es lo que falla, no entiendo...
gracias.
Si utiliza la llamada"Ejecución instantánea", es decir, el uso de órdenes OP_BUY u OP_SELL, no puede especificar un precio de entrada distinto al de compra para las compras y al de venta para las ventas.
Hola,
ticket1=OrderSend(Symbol(),OP_BUY,1,prixdevente+10*Punto,5,prixdevente,prixdevente+20*Punto, "ordre",1,15,Verde);
ticket2=EnviarOrden(Symbol(),OP_SELL,1,prixdevente-10*Punto,5,prixdevente,prixdevente-20*Punto, "ordre",2,15,Rojo);
Con este código, me sale el error #130 (error para)
¿Alguien puede explicarme qué es lo que está mal, no entiendo...
gracias.UTILIZAR ÓRDENES PENDIENTES EN LUGAR DE ÓRDENES INSTANTÁNEAS.
(ej. cambiar OP_BUY por OP_BUYSTOP y OP_SELL por OP_SELLSTOP)
y estará bien.
MUCHAS GRACIAS SEÑOR PIP,
CHA.