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
...
Para la propagación en tiempo de ejecución (s) utilizar este :
Quiero mostrar el código de la propagación en tiempo real dentro de EA. Cualquier por favor me dan algunos consejos.
Gracias malden. Pero sé que el código PHP para el servidor web . No sé para codificar en el lado EA. O es de pie para los demás.
Por favor, dígame más específico. Lo siento, yo sólo nuevo en la programación MQL4.
Y no estoy seguro de cómo y qué parte del programa se ejecuta cuando el nuevo precio que viene en.
Todo el programa o en el lado init() o dentro de start().
Quiero obtener información de la garrapata y mostrar como pido este hilo.
Premeus
Ese es el código de Metatrader MQl 4 que obtiene el spread para el símbolo actual. Sólo tienes que copiarlo en tu código y tendrás la información del spread recuperada de esa manera
Esa línea de código debería estar en start() para comprobar el spread en cada tick (ya que puede cambiar en cada tick). Una vez que hayas llamado a la función MarketInfo() y se haya asignado el valor a la variable currentSpread, utiliza el currentSpread para cualquier prueba o procesamiento posterior que necesites
Gracias malden. Pero sé que el código PHP para el servidor web. No sé al código en el lado EA. O es el soporte para los demás.
Por favor, dígame más específicamente. Lo siento, soy nuevo en la programación de MQL4.
Y no estoy seguro de cómo y qué parte del programa se ejecuta cuando entra un nuevo precio.
Todo el programa o en el lado init() o dentro de start().
Quiero obtener información de la garrapata y mostrar como pido este hilo .MartingailExpert_v1.0_Stochastic, ¿cómo?
¡Hola!
¿Alguien puede decirme por qué no puedo insertar el Stoploss en el ticket de envío de la orden?
Cuando lo inserto, el EA no funciona.
¡Gracias!
//| aaa.mq4 |
//| Copyright Š 2007, MetaQuotes Software Corp. |
//| TeamWox Groupware / MetaQuotes Software Corp. |
//+------------------------------------------------------------------+
#property copyright "Copyright Š 2007, MetaQuotes Software Corp."
#property link "http://www.metaquotes.net"
extern double step=25;
extern int StepMode=0;
// Ĺńëč StepMode = 0, ňî řŕă ěĺćäó îđäĺđŕěč ôčęńčđîâŕííűé č đŕâĺí step
// Ĺńëč StepMode = 1, ňî řŕă ďîńňĺďĺííî óâĺëč÷čâŕĺňń˙
extern double proffactor=10;
extern double mult=1,5;
extern double lotbuy=0,01;
extern double lotssell=0,01;
extern double per_K=200;
extern double per_D=20
extern double slow=20;
extern double zoneBUY=20
extern double zoneSELL=80
extern double Magicbuy=555;
extern double Magicsell=556;
double openpricebuy,openpricesell,lotsbuy2,lotssell2,lastlotbuy,lastlotsell,tpb,tps,cnt,smbuy,smsell,lotstep
ticketbuy,ticketsell,maxLot,free,balance,lotsell,lotbuy,dig,sig_buy,sig_sell,ask,bid;
int OrdersTotalMagicbuy(int Magicbuy)
{
int j=0;
int r;
for (r=0;r<OrdersTotal();r++)
{
if(OrderSelect(r,SELECT_BY_POS,MODE_TRADES))
{
if (OrderMagicNumber()==Magicbuy) j++;
}
}
return(j);
}
int PedidosTotalMagia(int MagiaVenta)
{
int d=0;
int n
for (n=0;n<OrdersTotal();n++)
{
if(OrderSelect(n,SELECT_BY_POS,MODE_TRADES))
{
if (OrderMagicNumber()==Magicsell) d++;
}
}
return(d);
}
int orderclosebuy(int ticketbuy)
{
string symbol = Symbol();
int cnt;
for(cnt = OrdersTotal(); cnt >= 0; cnt--)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderSymbol() == symbol && OrderMagicNumber()==Magicbuy)
{
ticketbuy=OrderTicket();OrderSelect(ticketbuy, SELECT_BY_TICKET, MODE_TRADES);lotsbuy2=OrderLots() ;
double bid = MarketInfo(symbol,MODE_BID);
RefreshRates();
OrderClose(ticketbuy,lotsbuy2,bid,3,Magenta);
}
}
lotescompra2=lotescompra;return(0);
}
int pedidocierreventa(int boletocompra)
{
string symbol = Symbol();
int cnt;
for(cnt = OrdersTotal(); cnt >= 0; cnt--)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderSymbol() == symbol && OrderMagicNumber()==Magicsell)
{
ticketsell=OrderTicket();OrderSelect(ticketsell, SELECT_BY_TICKET, MODE_TRADES);lotssell2=OrderLots() ;
double ask = MarketInfo(símbolo,MODE_ASK);
RefreshRates();
OrderClose(ticketsell,lotssell2,ask,3, Lime);
}
}
lotssell2=lotssell;return(0);
}
int inicio()
{
//----
double profitbuy=0;double profitsell=0;
string símbolo = OrderSymbol();
double spread = MarketInfo(symbol,MODE_SPREAD);
double minLot = MarketInfo(symbol,MODE_MINLOT);
si (minLot==0,01){dig=2;maxLot=MarketInfo(símbolo,MODE_MAXLOT);}
si (minLot==0.1){dig=1;maxLot=((AccountBalance()/2)/1000);}
if(OrdersTotalMagicbuy(Magicbuy)>0)
{
doble smbuy;
for (cnt=0;cnt<OrdersTotal();cnt++)
{
OrderSelect(cnt,SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() == Symbol() && OrderMagicNumber () == Magicbuy)
{
ticketbuy = OrderTicket();OrderSelect(ticketbuy,SELECT_BY_TICKET, MODE_TRADES);
smbuy = smbuy+OrderLots();openpricebuy = OrderOpenPrice();lastlotbuy = OrderLots();
}
}
{
if (smbuy+(NormalizeDouble((lastlotbuy*mult),dig))<maxLot)
{
if(StepMode==0)
{
if(Ask<=openpricebuy-step*Point)
{
lotbuy2=lastlotbuy*mult;
RefreshRates();ticketbuy=OrderSend(Symbol(),OP_BUY,NormalizeDouble(lotsbuy2,dig),Ask,3,0,0, "MartingailExpert",Magicbuy,0,Blue);
}
}
if(StepMode==1)
{
if(Ask<=openpricebuy-(step+OrdersTotalMagicbuy(Magicbuy)+OrdersTotalMagicbuy(Magicbuy)-2)*Point)
{
lotsbuy2=lastlotbuy*mult;
RefreshRates();ticketbuy=OrderSend(Symbol(),OP_BUY,NormalizeDouble(lotsbuy2,dig),Ask,3,0,0, "MartingailExpert",Magicbuy,0,Blue);
}
}
}
}
}
if(OrdersTotalMagicsell(Magicsell)>0)
{
doble smsell;
for (cnt=0;cnt<OrdersTotal();cnt++)
{
OrderSelect(cnt,SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() == Symbol() && OrderMagicNumber () == Magicsell)
{
ticketsell = OrderTicket();OrderSelect(ticketsell,SELECT_BY_TICKET, MODE_TRADES);
smsell = smsell + OrderLots();openpricesell = OrderOpenPrice();lastlotsell = OrderLots();
}
}
{
if (smsell+(NormalizeDouble((lastlotsell*mult),dig))<maxLot)
{
if(StepMode==0)
{
if(Oferta>=precios abiertos de venta+punto*punto)
{
lotssell2=lastlotsell*mult;
RefreshRates();ticketsell=OrderSend(Symbol(),OP_SELL,NormalizeDouble(lotssell2,dig),Bid,3,0,0, "MartingailExpert",Magicsell,0,Red);
}
}
if(StepMode==1)
{
if(Oferta>=preciosabiertosventa+(paso+OrdenesTotalMagicell(Magicsell)+OrdenesTotalMagicsell(Magicsell)-2)*Punto)
{
lotssell2=lastlotsell*mult;
RefreshRates();ticketsell=OrderSend(Symbol(),OP_SELL,NormalizeDouble(lotssell2,dig),Bid,3,0,0, "MartingailExpert",Magicsell,0,Red);
}
}
}
}
}
//xm7 modificación para cambiar la forma en que se genera la señal. El código antiguo está al final
double Stoch_0 = iStochastic(NULL,0,per_K,per_D,slow,MODE_LWMA,1,0,0);
double Stoch_1 = iStochastic(NULL,0,per_K,per_D,slow,MODE_LWMA,1,0,1);
if(OrdersTotalMagicbuy(Magicbuy)<1)
{
if(Stoch_0 > zoneBUY && Stoch_1 <= zoneBUY)
ticketbuy = OrderSend(Symbol(),OP_BUY,lotsbuy,Ask,3,0,0, "MartingailExpert",Magicbuy,0,Blue);
}
if(OrdersTotalMagicsell(Magicsell)<1)
{
if(Stoch_0 = zoneSELL)
ticketsell = OrderSend(Symbol(),OP_SELL,lotssell,Bid,3,0,0, "MartingailExpert",Magicsell,0,Red);
}
for (cnt=0;cnt<OrdersTotal();cnt++)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if (OrderSymbol()==Symbol() && OrderMagicNumber () == Magicbuy)
{
ticketbuy = OrderTicket();OrderSelect(ticketbuy,SELECT_BY_TICKET, MODE_TRADES);profitbuy = profitbuy+OrderProfit() ;
openpricebuy = OrderOpenPrice();
}
}
tpb = (OrdersTotalMagicbuy(Magicbuy)*proffactor*Point)+openpricebuy;
double bid = MarketInfo(Symbol(),MODE_BID);
if (profitbuy>0)
{
if (Bid>=tpb) orderclosebuy(ticketbuy);
}
for (cnt=0;cnt<OrdersTotal();cnt++)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magicsell)
{
ticketsell = OrderTicket();OrderSelect(ticketsell,SELECT_BY_TICKET, MODE_TRADES);profitsell = profitsell+OrderProfit();
openpricesell = OrderOpenPrice();
}
}
tps = openpricesell-(OrdersTotalMagicsell(Magicsell)*proffactor*Point);
double ask = MarketInfo(Symbol(),MODE_ASK);
if (profitsell>0)
{
if (Ask<=tps)orderclosesell(ticketsell);
}
free = AccountFreeMargin();balance = AccountBalance();
for (cnt=0;cnt< OrdersTotal();cnt++)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if (OrderSymbol()==Symbol() && OrderMagicNumber () == Magicbuy) ticketbuy = OrderTicket();
if (OrderSymbol()==Symbol() && OrderMagicNumber () == Magicsell) ticketsell = OrderTicket();
}
if (OrdersTotalMagicbuy(Magicbuy)==0)
{
profitbuy=0;ticketbuy=0;tpb=0;
}
if (OrdersTotalMagicsell(Magicsell)==0)
{
profitsell=0;ticketsell=0;tps=0;
}
Comment("MargenLibre = ",NormalizarDoble(libre,0)," Saldo = ",NormalizarDoble(saldo,0)," LoteMáximo = ",NormalizarDoble(loteMáximo,dig),"\n
"Totalbuy = ",OrdersTotalMagicbuy(Magicbuy)," Lote = ",smbuy," Totalsellell = ",OrdersTotalMagicsell(Magicsell)," Lote = ",smsell,"\n",
"---------------------------------------------------------------","\n","Profitbuy = ",profitbuy,"\n",
"Profitsell = ",profitsell);
//----
for(int ii=0; ii<2; ii+=2)
{
ObjectDelete("rect "+ii);
ObjectCreate("rect "+ii,OBJ_HLINE, 0, 0,tps);
ObjectSet("rect "+ii, OBJPROP_COLOR, Red);
ObjectSet("rect "+ii, OBJPROP_WIDTH, 1);
ObjectSet("rect "+ii, OBJPROP_RAY, False);
}
for(int rr=0; rr<2; rr+=2)
{
ObjectDelete("rect1"+rr);
ObjectCreate("rect1"+rr,OBJ_HLINE, 0, 0,tpb);
ObjectSet("rect1"+rr, OBJPROP_COLOR, Blue);
ObjectSet("rect1"+rr, OBJPROP_WIDTH, 1);
ObjectSet("rect1"+rr, OBJPROP_RAY, False);
}
return(0);
}...
Puede ser un par de razones, pero los más comunes son :
¡Hola!
¿Alguien puede decirme por qué no puedo insertar el Stoploss en el ticket de envío de la orden?
Cuando lo inserto, el EA no funciona.
¡Gracias!Hola a todos, me gustaría comprobar cómo puedo obtener el último precio actual en el gráfico? Sé que es un novato, pero no puedo encontrar la respuesta. Por favor, ayuda. Gracias.
Saludos
Terrance
...
Depende de cuál sea :
Hola a todos, me gustaría comprobar cómo puedo obtener el último precio actual en el gráfico? Sé que es un noob, pero no puedo encontrar la respuesta. Por favor, ayuda. Gracias.
Saludos
TerranceHola Mladen, Lo que estoy tratando de hacer es un control. Por ejemplo, si el precio actual está por encima de, digamos, la SMA 100, voy a hacer un zoom hacia abajo a un marco de tiempo inferior y sólo miraré la señal de compra. Pero si utilizo Bid o Ask, el sistema no puede decidir si estoy buscando en largo o en corto ya que Bid debería estar buscando en largo y viceversa para Ask (corrígeme si me equivoco aquí).
El concepto que tenía en mente es algo similar al sistema de comercio de 3 patos en la parte de comprobación. Por favor, aconséjeme aquí. Gracias.
Saludos
Terrance
Depende de cuál:
...
Terrance
Usa Close[0] en ese caso. Casi todos los EAs usan close para ese propósito, así que creo que también te funcionará
Hola Mladen, Lo que estoy tratando de hacer es un cheque. Por ejemplo, si el precio actual está por encima de, por ejemplo, la SMA 100, me acercaré a un marco de tiempo inferior y sólo miraré la señal de compra. Pero si utilizo Bid o Ask, el sistema no puede decidir si estoy buscando en largo o en corto ya que Bid debería estar buscando en largo y viceversa para Ask (corrígeme si me equivoco aquí).
El concepto que tenía en mente es algo similar al sistema de comercio de 3 patos en la parte de verificación. Por favor, aconséjeme aquí. Gracias.
Saludos
TerranceEA no se ejecuta entre el precio en movimiento
Me di cuenta de que mi EA no se ejecuta entre el precio que se mueve en el marco de tiempo M1. Sé que el EA se ejecuta cada tick que entra.
Pero vi que se ejecutaba cada vez que se iniciaba una nueva barra.
¿Estoy entendiendo mal?
¿Existe la manera de forzar la activación del EA cada vez que entra un tick?
Trato de controlar mis ganancias y perdidas usando ganancias y perdidas no en pips. Cuando el pico sucede EA no cerrar la orden cuando llegar a la configuración de los beneficios o la pérdida hasta que la nueva barra se producen.
Cualquiera que me ayude a resolver este problema.
Soy nuevo en la codificación de EA.
Gracias de antemano.