Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
...
Para a(s) dispersão(ões) de tempo de execução utilize este :
Quero mostrar o código de propagação em tempo real dentro da EA. Qualquer um me dê alguns conselhos.
Obrigado Malden. Mas eu sei que o código PHP para o servidor web . eu não sei codificar no lado EA. Ou é para os outros.
Por favor, me diga mais especificamente. Desculpe-me por ser novo na programação da MQL4.
E eu não sei como e qual parte do programa foi executada quando um novo preço chegou.
O programa inteiro ou em init() ou dentro do início().
Quero obter informações e mostrar como peço este tópico.
Premeus
Esse é o código MQl 4 do metatrader que obtém o spread para o símbolo atual. Basta copiá-lo para seu código e você terá as informações de propagação recuperadas dessa forma
Essa linha de código deve estar em início() a fim de verificar o spread em cada tick (já que pode mudar em cada tick). Uma vez chamada a função MarketInfo() e atribuído o valor à variávelSpread atual, use a funçãoSpread atual para quaisquer testes ou qualquer outro processamento que você precise
Obrigado Malden. Mas eu sei que o código PHP para o servidor web. Eu não sei codificar no lado EA. Ou é para os outros.
Por favor, me diga mais especificamente. Desculpe-me por ser novo na programação da MQL4.
E não tenho certeza de como e qual parte do programa foi executada quando um novo preço chegou.
O programa inteiro ou em init() ou dentro do início().
Quero receber informações e mostrar como peço este tópico.MartingailExpert_v1.0_Stochastic, como?
Hi!
Alguém pode me dizer, porque não posso inserir o Stoploss no Order send ticket?
Quando eu o inseri, a EA não funciona!
Obrigado!
//| aaa.mq4 |
+//| Copyright Š 2007, MetaQuotes Software Corp. |
//| TeamWox Groupware / MetaQuotes Software Corp. |
//+------------------------------------------------------------------+
#Direitos Autorais de Propriedade Intelectual "Copyright Século 2007, MetaQuotes Software Corp."
#link do proprietário "http://www.metaquotes.net"
passo duplo externo=25;
modo StepMode externo int=0;
// Ĺńëč StepMode = 0, ňî řŕă ěĺćäó îđäĺđŕěč ôčęńčđîâŕííűé č đŕâĺí step
// Ĺńëč StepMode = 1, ňî řŕă ďîńňĺďĺííî óâĺëč÷čâŕĺňń˙
fator duplo externo=10;
duplo mult=1,5;
compra dupla externa de lotes=0,01;
venda em lotes duplos externos=0,01;
duplo externo por_K=200;
duplo externo por_D=20;
duplo externo lento=20;
duplo externo por_K=20; duplo externo por_D=20; duplo externo por_K=20; duplo externo por_D=20;
duplo externo zonaSELL=80;
duplo externo Magicbuy=555;
duplo externo Magicbuy=555; duplo externo Magicsell=556;
duplo openpricebuy,openpricesell,lotsbuy2,lotssell2,lastlotbuy,lastlotsell,tpb,tps,cnt,smbuy,smsell,lotstep,
compra de bilhetes,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<OrdensTotal();r++)
{
if(OrderSelect(r,SELECT_BY_POS,MODE_TRADES))
{
if (OrderMagicNumber()==Magicbuy) j++;
}
}
retorno(j);
}
int OrdensTotalMagicsell(int Magicsell)
{
int d=0;
int, s.f;
para (n=0;n<OrdensTotal();n+++)
{
if(OrderSelect(n,SELECT_BY_POS,MODE_TRADES))
{
se (OrderMagicNumber()==Magicsell) d++;
}
}
retorno(d);
}
int orderclosebuy(int ticketbuy)
{
símbolo de corda = Símbolo();
int cnt;
for(cnt = OrderTotal(); cnt >= 0; cnt--)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderSymbol() == símbolo && OrderMagicNumber()==Magicbuy)
{
ticketbuy=OrderTicket();OrderSelect(ticketbuy, SELECT_BY_TICKET, MODE_TRADES);lotsbuy2=OrderLots() ;
double bid = MarketInfo(símbolo,MODE_BID);
RefreshRates();
OrderClose(ticketbuy,lotsbuy2,bid,3,Magenta);
}
}
lotsbuy2=lotsbuy;return(0);
}
int orderclosesell(int ticketsell)
{
símbolo de corda = Símbolo();
int cnt;
for(cnt = OrderTotal(); cnt >= 0; cnt--)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderSymbol() == símbolo && OrderMagicNumber()==Magicsell)
{
ticketsell=OrderTicket();OrderSelect(ticketsell, SELECT_BY_TICKET, MODE_TRADES);lotssell2=OrderLots() ;
double ask = MarketInfo(symbol,MODE_ASK);
RefreshRates();
OrderClose(ticketsell,lotssell2,ask,3, Lime);
}
}
lotssell2=lotssell;return(0);
}
int start()
{
//----
compra de lucro dupla=0; lucro dupla=0;
símbolo de corda = OrderSymbol();
spread duplo = MarketInfo(símbolo,MODE_SPREAD);
double minLot = MarketInfo(símbolo,MODE_MINLOT);
if (minLot==0,01){dig=2;maxLot=MarketInfo(symbol,MODE_MAXLOT);}
if (minLot==0,1){dig=1;maxLot=((AccountBalance()/2)/1000);}
if(OrderTotalMagicbuy(Magicbuy)>0)
{
duplo smbuy;
para (cnt=0;cnt<OrdersTotal();cnt++)
{
OrderSelect(cnt,SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() == Symbol() && OrderMagicNumber () == Magicbuy)
{
compra de bilhetes = 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)
{
lotsbuy2=lastlotbuybuy*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)*Ponto)
{
lotsbuy2=lastlotbuybuy*mult;
RefreshRates();ticketbuy=OrderSend(Symbol(),OP_BUY,NormalizeDouble(lotsbuy2,dig),Ask,3,0,0, "MartingailExpert",Magicbuy,0,Blue);
}
}
}
}
}
if(OrdensTotalMagicsell(Magicsell)>0)
{
duplo smsell;
para (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(Bid>=openpricesell+step*Point)
{
lotssell2=lastlotsell*mult;
RefreshRates();ticketsell=OrderSend(Symbol(),OP_SELLL,NormalizeDouble(lotssell2,dig),Bid,3,0,0, "MartingailExpert",Magicsell,0,Red);
}
}
if(StepMode===1)
{
if(Bid>=openpricesell+(step+OrdersTotalMagicsell(Magicsell)+OrdersTotalMagicsell(Magicsell)-2)*Ponto)
{
lotssell2=lastlotsell*mult;
RefreshRates();ticketsell=OrderSend(Symbol(),OP_SELLL,NormalizeDouble(lotssell2,dig),Bid,3,0,0, "MartingailExpert",Magicsell,0,Red);
}
}
}
}
}
//xm7 modificação para mudar a forma como o sinal é gerado. O código antigo está no final
duplo Stoch_0 = iStochastic(NULL,0,per_K,per_D,slow,MODE_LWMA,1,0,0);
duplo 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)
compra de bilhetes = OrderSend(Symbol(),OP_BUY,lotsbuy,Ask,3,0,0, "MartingailExpert",Magicbuy,0,Blue);
}
if(OrdensTotalMagicsell(Magicsell)<1)
{
if(Stoch_0 = zonaSELL)
ticketsell = OrderSend(Symbol(),OP_SELL,lotssell,Bid,3,0,0, "MartingailExpert",Magicsell,0,Red);
}
para (cnt=0;cnt<OrdersTotal();cnt++)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if (OrderSymbol()==Symbol() && OrderMagicNumber () == Magicbuy)
{
compra de bilhetes = OrderTicket();OrderSelect(ticketbuy,SELECT_BY_TICKET, MODE_TRADES);profitbuy = profitbuy+OrderProfit() ;
openpricebuy = OrderOpenPrice();
}
}
tpb = (OrderTotalMagicbuy(Magicbuy)*proffactor*proffactor*Point)+openpricebuy;
double bid = MarketInfo(Symbol(),MODE_BID);
if (profitbuy>0)
{
if (Bid>=tpb) orderclosebuy(ticketbuy);
}
para (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);profitell = profitell+OrderProfit();
openpricesell = OrderOpenPrice();
}
}
tps = openpricesell-(OrderTotalMagicsell(Magicsell)*proffactor*Point);
double ask = MarketInfo(Symbol(),MODE_ASK);
if (profitell>0)
{
se (Pergunte<=tps)orderclosesell(ticketell);
}
livre = AccountFreeMargin();saldo = AccountBalance();
para (cnt=0;cnt< OrderTotal();cnt++)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if (OrderSymbol()==Symbol() && OrderMagicNumber () == Magicbuy) ticketbuy = OrderTicket();
if (OrderSymbol()==Symbol() && OrderMagicNumber () == Magicsell) ticketsell = OrderTicket();
}
se (OrderTotalMagicbuy(Magicbuy)==0)
{
profitbuy=0;ticketbuy=0;tpb=0;
}
se (OrdersTotalMagicsell(Magicsell)==0)
{
profitell=0;ticketell=0;tps=0;
}
Comentário("FreeMargin = ",NormalizeDouble(free,0)," Balance = ",NormalizeDouble(balance,0)," maxLot = ",NormalizeDouble(maxLot,dig),"\n",
"Totalbuy = ",OrdersTotalMagicbuy(Magicbuy)," Lot = ",smbuy," Totalsell = ",OrdersTotalMagicsell(Magicsell)," Lot = ",smsell,"\n",
"---------------------------------------------------------------","\n","Profitbuy = ",profitbuy,"\n",
"Lucitsell = ",profitell);
//----
for(int ii=0; ii<2; ii+=2)
{
ObjectDelete("reto "+ii);
ObjectCreate("rect "+ii,OBJ_HLINE, 0, 0,tps);
ObjectSet("reto "+ii, OBJPROP_COLOR, Vermelho);
ObjectSet("reto "+ii, OBJPROP_WIDTH, 1);
ObjectSet("reto "+ii, OBJPROP_RAY, Falso);
}
for(int rr=0; rr<2; rr+=2)
{
ObjectDelete("rect1"+rr);
ObjectCreate("rect1"+rr,OBJ_HLINE, 0, 0,tpb);
ObjectSet("rect1"+rr, OBJPROP_COLOR, Azul);
ObjectSet("rect1"+rr, OBJPROP_WIDTH, 1);
ObjectSet("ret1"+rr, OBJPROP_RAY, False);
}
retorno(0);
}...
Podem ser algumas das razões, mas as mais comuns são :
Hi!
Alguém pode me dizer, por que não posso inserir o Stoploss no Order send ticket?
Quando eu o inserir, a EA não vai funcionar!
Obrigado!Olá a todos, gostaria de verificar como posso obter o último preço atual na tabela? Eu conheço seu noob, mas parece que não consigo encontrar os ans. Por favor, ajudem-me. Obrigado.
Cumprimentos
Terrance
...
Depende de qual :
Olá a todos, gostaria de verificar como posso obter o último preço atual na tabela? Eu conheço seu noob, mas parece que não consigo encontrar os ans. Por favor, ajudem-me. Obrigado.
Cumprimentos
TerranceOi Mladen, o que eu estou tentando fazer é um cheque. Por exemplo, se o preço atual estiver acima do SMA 100, eu vou fazer um zoom para baixo para um período de tempo mais baixo e só vou olhar para o sinal de compra. Mas se eu usar Bid ou Ask, o sistema não pode decidir se estou atualmente olhando para longo ou curto desde Bid eu deveria estar procurando por longo e vice-versa por Ask (me corrija se eu estiver errado aqui).
O conceito que eu tinha em mente é um pouco semelhante ao sistema de 3 patos na parte de verificação. Por favor, me aconselhe aqui. Obrigado.
Cumprimentos
Terrance
Depende de qual :
...
... Terrance
Use Close[0] nesse caso. Quase todas as EA estão usando Close para esse fim, então eu acho que funcionará para você também
Oi Mladen, o que eu estou tentando fazer é um cheque. Por exemplo, se o preço atual estiver acima do SMA 100, eu vou fazer um zoom para baixo para um período de tempo mais baixo e só vou olhar para o sinal de compra. Mas se eu usar Bid ou Ask, o sistema não pode decidir se estou atualmente olhando para longo ou curto desde Bid eu deveria estar procurando por longo e vice-versa por Ask (me corrija se eu estiver errado aqui).
O conceito que eu tinha em mente é algo semelhante ao sistema de 3 patos na parte de verificação. Por favor, me aconselhem aqui. Obrigado.
Cumprimentos
TerranceEA não funciona entre a mudança de preços
Notei que minha EA não funcionava entre a mudança de preço no prazo M1. Eu sei que a EA será executada a cada tic-tac que entrar.
Mas vi que foi executado a cada novo começo de barra.
Estou me entendendo mal?
Existe a forma como a força ea ativa cada carrapato que entra?
Eu tento controlar meus lucros e perdas usando lucros e perdas não em pips. Quando ocorre um pico, a EA não fecha a ordem quando chega a estabelecer lucros ou perdas até que ocorra uma nova barra.
Qualquer pessoa me ajuda a resolver este problema.
Eu sou novo na codificação da EA.
Obrigado antecipadamente.