Perguntas de Iniciantes MQL4 MT4 MetaTrader 4 - página 170
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
Olá! Tiro uma foto da tela usando a função:
WindowScreenShot ("Screenshotname.png",1280,720); mas ele salva tudo o que está na pasta Arquivos, e eu preciso especificar o caminho em outra pasta que o salvaria!
Olá!
Originalmente, a possibilidade de travamento de emergência por margem livre foi implementada no Expert Advisor. aqui está uma parte do código
if(AccountFreeMargin() <= inpMarginLock)
{
gv.isEmergencyLock = true;
.....................
Com o tempo, tornou-se claro que isto não era inteiramente conveniente.
Eu gostaria de implementar uma trava de emergência via drawdown.
Isto é, quando se chega a -100 dólares no depósito, a fechadura deve ser ativada.
Gostaria de pedir minha ajuda, se eu puder adicionar este código ao invés deAccountFreeMargin(), para acionar
Ajude-me a escrever no código em vez deFreeMargin() para que ocorra um bloqueio não na margem livre, mas quando um saque no depósito.
Obrigado antecipadamente!!!!!!!
Olá , tenho um problema , quando pressiono F9 recebo o menu habitual para abrir um pedido mas tenho que escolher um par de símbolos , não como antes , o menu sai para o símbolo que abri , me aconselha como consertá-lo.
Serviço --> Configurações --> Comércio
Boa tarde)
Ajuda por favor, sou um novato..... tentando fazer uma EA na interseção dos indicadores de super-sinais e o ZigZag encontrou um modelo. Joguei os indicadores lá dentro, mas as ordens ainda não se abrem. Aqui está uma parte do código.... o que estou fazendo de errado...?
Sinal vazio(double& ar[][],bool& op[],bool& cl[])
{
int trd=-1;
dobro para cima=0,0,dn=0,0;
//---
ArrayInitialize(cl,false);
ArrayInitialize(op,false);
//conecte o indicador de filtro ZigZag
up=iCustom(_Símbolo,tf, "ZigZag",InpDepth,InpDeviation,InpBackstep,0,0);//nome, configurações, buffer, iniciar vela para COMPRAR
dn=iCustom(_Símbolo,tf, "ZigZag",InpDepth,InpDeviation,InpBackstep,0,0);//nome, configurações, buffer, início da vela para SELL
if(dn==EV) trd=0;
if(up===EV) trd=0; //Comentário(trd);
//conectar indicador de reversão e saída
up=iCustom(_Símbolo,tf, "SuperSignalsChannel_1",SignalGap_1,ShowBars_1,dist_1,0,0);// vela de arranque para COMPRAR
dn=iCustom(_Símbolo,tf, "SuperSignalsChannel_1",SignalGap_1,ShowBars_1,dist_1,1,0,0);// vela de arranque para SELL
if(up>0.0 && up<EV) cl[1]=verdadeiro;
if(dn>0.0 && dn<EV) cl[0]=verdadeiro;
acima de=0,0;
dn=0,0;
// indicador básico, pelo qual entramos no mercado
interruptor(Indicador)
{
case SuperSignalsChannel:
up=iCustom(_Símbolo,tf, "SuperSignalsChannel",SignalGap,ShowBars,dist_0,1,0);// vela de arranque para COMPRAR
dn=iCustom(_Símbolo,tf, "SuperSignalsChannel",SignalGap,ShowBars,dist_0,0,0);// vela de arranque para SELL
pausa;
P.S. Se houver um tópico similar no fórum em algum lugar, deixe o link, por favor
Boa tarde. Tenho este EA, estou tentando modificá-lo para adequá-lo às minhas necessidades, mas até agora ele não é muito bom. Pedidos abertos a preço alto e baixo, mas preciso que seja alto + 5 pips. Sei que isto é responsável por isso, mas não posso aplicá-lo no código. Espero poder ajudar. Obrigado))))
Boa tarde. Tenho este EA, estou tentando modificá-lo para adequá-lo às minhas necessidades, mas até agora ele não é muito bom. Pedidos abertos a preço alto e baixo, mas preciso que seja alto + 5 pips. Sei que isto é responsável por isso, mas não posso aplicá-lo no código. Espero poder ajudar. Obrigado))))
extern string TimeTrade = "19:00"; // Время открытия позиции
extern int DistanceSet = 100;
extern int DistanceStopOrder = 5;
extern int DistanceLimitOrder = 5;
extern int TYPE = 0;
extern int TP = 50;
extern int SL = 4500;
extern double lot = 0.1;
extern int Magic_Number = 639713;
int init(){ return(0);}
int deinit(){ return(0);}
int start()
{
double SPREAD = MarketInfo(Symbol(),MODE_SPREAD)*Point;
double STOPLEVEL = MarketInfo(Symbol(),MODE_STOPLEVEL)*Point;
double pAsk=Ask+(DistanceSet)*Point;
double pBid=Bid-DistanceSet*Point;
if(Orders_Total( Magic_Number, Symbol()) == 0 )
{
//Установка ордеров
if(TYPE<=0)
{
// Здесь установим STOP-ордера
if(iHigh(Symbol(),PERIOD_D1,1)+SPREAD - STOPLEVEL > Ask)
OrderSend(Symbol(),OP_BUYSTOP,lot,iHigh(Symbol(),PERIOD_D1,1)+DistanceStopOrder*Point,3,iHigh(Symbol(),PERIOD_D1,1) - SL*Point,iHigh(Symbol(),PERIOD_D1,1) + TP*Point,NULL,Magic_Number,iTime(Symbol(),PERIOD_D1,0)+PERIOD_D1*60,Aqua);
else Alert("Невозможно установить OP_BUYSTOP, цена слишком близка или выше High");
if(iLow(Symbol(),PERIOD_D1,1) + STOPLEVEL < Bid)
OrderSend(Symbol(),OP_SELLSTOP,lot,iLow(Symbol(),PERIOD_D1,1)-DistanceStopOrder*Point,3,iLow(Symbol(),PERIOD_D1,1) + SPREAD + SL*Point,iLow(Symbol(),PERIOD_D1,1) + SPREAD - TP*Point,NULL,Magic_Number,iTime(Symbol(),PERIOD_D1,0)+PERIOD_D1*60,Magenta);
else Alert("Невозможно установить OP_SELLSTOP, цена слишком близка или ниже Low");
}
if(TYPE>=1)
{
// Здесь установим LIMIT-ордера
if(iHigh(Symbol(),PERIOD_D1,1) - STOPLEVEL > Bid)
OrderSend(Symbol(),OP_SELLLIMIT,lot,iHigh(Symbol(),PERIOD_D1,1)-DistanceLimitOrder*Point,3,iHigh(Symbol(),PERIOD_D1,1) + SPREAD + SL*Point,iHigh(Symbol(),PERIOD_D1,1) + SPREAD - TP*Point,NULL,Magic_Number,iTime(Symbol(),PERIOD_D1,0)+PERIOD_D1*60,Magenta);
else Alert("Невозможно установить OP_SELLLIMIT, цена слишком близка или выше High");
if(iLow(Symbol(),PERIOD_D1,1) + STOPLEVEL < Ask)
OrderSend(Symbol(),OP_BUYLIMIT,lot,iLow(Symbol(),PERIOD_D1,1)+DistanceLimitOrder*Point,3,iLow(Symbol(),PERIOD_D1,1) - SL*Point,iLow(Symbol(),PERIOD_D1,1) + TP*Point,NULL,Magic_Number,iTime(Symbol(),PERIOD_D1,0)+PERIOD_D1*60,Aqua);
else Alert("Невозможно установить OP_BUYLIMIT, цена слишком близка или ниже Low");
}
}
return(0);
}
//---- Возвращает количество ордеров указанного эксперта(Маджик,Символ) ----//
int Orders_Total( int mn, string sym)
{
int num_orders=0;
for(int i= OrdersTotal()-1;i>=0;i--)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderMagicNumber() == mn && sym==OrderSymbol())
num_orders++;
}
return(num_orders);//---
}
//+------------------------------------------------------------------+
extern string TimeTrade = "19:00"; // Время открытия позиции
extern int DistanceSet = 100;
extern int DistanceStopOrder = 5;
extern int DistanceLimitOrder = 5;
extern int TYPE = 0;
extern int TP = 50;
extern int SL = 4500;
extern double lot = 0.1;
extern int Magic_Number = 639713;
int init(){ return(0);}
int deinit(){ return(0);}
int start()
{
double SPREAD = MarketInfo(Symbol(),MODE_SPREAD)*Point;
double STOPLEVEL = MarketInfo(Symbol(),MODE_STOPLEVEL)*Point;
double pAsk=Ask+(DistanceSet)*Point;
double pBid=Bid-DistanceSet*Point;
if(Orders_Total( Magic_Number, Symbol()) == 0 )
{
//Установка ордеров
if(TYPE<=0)
{
// Здесь установим STOP-ордера
if(iHigh(Symbol(),PERIOD_D1,1)+SPREAD - STOPLEVEL > Ask)
OrderSend(Symbol(),OP_BUYSTOP,lot,iHigh(Symbol(),PERIOD_D1,1)+DistanceStopOrder*Point,3,iHigh(Symbol(),PERIOD_D1,1) - SL*Point,iHigh(Symbol(),PERIOD_D1,1) + TP*Point,NULL,Magic_Number,iTime(Symbol(),PERIOD_D1,0)+PERIOD_D1*60,Aqua);
else Alert("Невозможно установить OP_BUYSTOP, цена слишком близка или выше High");
if(iLow(Symbol(),PERIOD_D1,1) + STOPLEVEL < Bid)
OrderSend(Symbol(),OP_SELLSTOP,lot,iLow(Symbol(),PERIOD_D1,1)-DistanceStopOrder*Point,3,iLow(Symbol(),PERIOD_D1,1) + SPREAD + SL*Point,iLow(Symbol(),PERIOD_D1,1) + SPREAD - TP*Point,NULL,Magic_Number,iTime(Symbol(),PERIOD_D1,0)+PERIOD_D1*60,Magenta);
else Alert("Невозможно установить OP_SELLSTOP, цена слишком близка или ниже Low");
}
if(TYPE>=1)
{
// Здесь установим LIMIT-ордера
if(iHigh(Symbol(),PERIOD_D1,1) - STOPLEVEL > Bid)
OrderSend(Symbol(),OP_SELLLIMIT,lot,iHigh(Symbol(),PERIOD_D1,1)-DistanceLimitOrder*Point,3,iHigh(Symbol(),PERIOD_D1,1) + SPREAD + SL*Point,iHigh(Symbol(),PERIOD_D1,1) + SPREAD - TP*Point,NULL,Magic_Number,iTime(Symbol(),PERIOD_D1,0)+PERIOD_D1*60,Magenta);
else Alert("Невозможно установить OP_SELLLIMIT, цена слишком близка или выше High");
if(iLow(Symbol(),PERIOD_D1,1) + STOPLEVEL < Ask)
OrderSend(Symbol(),OP_BUYLIMIT,lot,iLow(Symbol(),PERIOD_D1,1)+DistanceLimitOrder*Point,3,iLow(Symbol(),PERIOD_D1,1) - SL*Point,iLow(Symbol(),PERIOD_D1,1) + TP*Point,NULL,Magic_Number,iTime(Symbol(),PERIOD_D1,0)+PERIOD_D1*60,Aqua);
else Alert("Невозможно установить OP_BUYLIMIT, цена слишком близка или ниже Low");
}
}
return(0);
}
//---- Возвращает количество ордеров указанного эксперта(Маджик,Символ) ----//
int Orders_Total( int mn, string sym)
{
int num_orders=0;
for(int i= OrdersTotal()-1;i>=0;i--)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderMagicNumber() == mn && sym==OrderSymbol())
num_orders++;
}
return(num_orders);//---
}
//+------------------------------------------------------------------+
Boa tarde, por favor, diga a um jovem adepto onde o cão está enterrado))
Mudei um pouco o momento; parece funcionar como deveria, mas quando tento usá-lo em um Expert Advisor vejo algumas coisas estranhas acontecendo, parece seguir o algoritmo certo, mas não sei de onde vem o 0,0449 extra.
input int InpMomPeriod=1; // Momentum Period
nulo OnTick()
{
double High1 = iCustom(Symbol(),PERIOD_CURRENT, "INdekators 1.0",InpMomPeriod,0,0);
}
Olá, caros programadores.
Kudos para você !
Há uma EA que, após fechar os pedidos e enviar uma mensagem,
Preciso desativar a auto-comercialização no terminal ( pressione o botão )
Ele não faz isso se o usuário for desconectado do servidor UPN.
Quando o usuário está conectado ao servidor cps e o terminal está aberto, as janelas estão abertas,
o Expert Advisor está funcionando, apertar o botão funciona bem
mas quando você executar o Expert Advisor, desconecte do servidor PPS
e depois de receber uma mensagem de que o Expert Advisor trabalhou
quando você volta para a UPU, o botão não é pressionado.
O Expert Advisor está rodando no servidor UPP Windows Server 16.
Esta parte do código é responsável por esta função
if(AutotradeOFF)PressOrReleaseAutotrade();
Conclusão - esta função não funciona quando o usuário é desconectado do servidor VPS.
Talvez existam algumas alternativas para resolver o problema?
Qual pode ser o problema?
Por favor, ajude-me a resolver este problema.
O código está anexado.
Muito obrigado antecipadamente por qualquer ajuda para resolver este problema!