Eu direi a mesma coisa. Você não é bom em lógica. Qual é o problema para calcular imediatamente o lote inicial, com base nos fundos disponíveis e no valor do risco (acho que foi escrito cerca de 3%)? Por que você tem que fazer tudo em um só lugar?
Pegue o valor da margem livre, multiplique pelo risco, divida por 100 e o valor da margem para 1 lote - aqui está a fórmula mais simples para calcular o lote com uma porcentagem especificada da margem livre. Além disso, é preciso levar em conta a etapa de mudança de lote e evitar que o tamanho do lote mín/máx, permitido pela corretora, seja ultrapassado:
Eu lhe disse que a EA negocia em um pequeno intervalo de tempo no qual há uma probabilidade de que 9 ordens opostas consecutivas se sobreponham e cada próxima ordem seja multiplicada por 2, portanto a margem pode não se manter e a última ordem pendente pode não se abrir, e portanto temos que calcular a partir do último lote máximo possível. Calculei que o melhor número de pedidos em intervalos de 5-10 minutos é 9. Em geral, preciso calcular uma margem caso todos os pedidos sejam abertos e com base nestes dados em ordem inversa para calcular o primeiro lote.
Onde é que eu escrevi errado? Acho que tirei um exemplo, você poderia me dizer como escrever corretamente para que a ordem feche?
em condições de compra reversa... Estou rachando meu cérebro.
Se o pedido for selecionado no bilhete, você não precisa de uma ação no laço. Se você quisercorrigir o código, use o botão SRC paracolar o código na mensagem.
#property copyright"Copyright 2017, MetaQuotes Software Corp."#property link"https://www.mql5.com"#property version"1.00"#property strict//+------------------------------------------------------------------+//| Expert initialization function |//+------------------------------------------------------------------+intOnInit()
{
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+//| Expert deinitialization function |//+------------------------------------------------------------------+voidOnDeinit(constint reason)
{
}
//+------------------------------------------------------------------+//| Expert tick function |//+------------------------------------------------------------------+int ticketB,ticketS;
voidOnTick()
//------------------------------------------------------------------------------------------------
{
double p = iClose("EURUSD",PERIOD_M15,0); //показание текущей цены double r = iRSI ("EURUSD",PERIOD_M15,21,PRICE_CLOSE,0); //значение индюка RSIdouble m = iMA ("EURUSD",PERIOD_M15,89,0,MODE_EMA,PRICE_CLOSE,0); //значение индюка МАint OrderCount = 1;
//---------------ПОДСЧЕТ ОРДЕРОВ------------------------------------------------------------------if(OrdersTotal() >= OrderCount)
{
return;
}
//-------------ОТКРЫТИЕ ОРДЕРА НА ПОКУПКУ--------------------------------------------------------------------/*if(r > 50 && p > m) //условия открытия ордера на покупку
{
ticketB = OrderSend(Symbol(),OP_BUY,0.1,Ask,5,0,0,"",111,0,Green);
}
//------------ЗАКРЫТИЕ ОРДЕРА НА ПРОДАЖУ--------------------------------------------------------
if(r<50 && p<m)
{
for(int i=1; i<=OrdersTotal(); i++)
{
if(OrderSelect(ticketB,SELECT_BY_TICKET)==true)
{
if(OrderType()==OP_BUY)
{
ticketB = OrderClose(OrderTicket(),0.1,Bid,5,Red);
}
}
}
}*///------------------ОТКРЫТИЕ ОРДЕРА НА ПРОДАЖУ---------------------------------------------------------if(r < 50 && p < m) //условия открытия ордера на продажу
{
ticketS = OrderSend(Symbol(),OP_SELL,0.1,Bid,5,0,0,"",111,0,Blue);
}
//---------------------ЗАКРЫТИЕ ОРДЕРА НА ПРОДАЖУ---------------------------------------------------------if(r>50 && p>m)
{
for(int i=1; i<=OrdersTotal(); i++)
{
if(OrderSelect(ticketS,SELECT_BY_TICKET)==true)
{
if(OrderType()==OP_SELL)
{
ticketS = OrderClose(OrderTicket(),0.1,Ask,5,Red);
}
}
}
}
}
//+------------------------------------------------------------------+
Obrigado pelo SRC), isto é o que parece, parece assim, a venda deve acontecer quando a vela fecha abaixo do wop e rsi abaixo de 50, e fecha o pedido em condições opostas, e simultaneamente depois de fechar a compra deve acontecer e depois de fechar, então um pedido e não mais e assim por diante ciclicamente ... mas agora tenho um pedido aberto e é isso, e as paradas não estão funcionando ...
funnyrain8: Obrigado pelo SRC), isto é o que parece, parece assim, a venda deve acontecer quando a vela fecha abaixo do pulso e o rsi abaixo de 50, e fecha o pedido nas condições opostas, e ao mesmo tempo depois do fechamento deve acontecer a compra e depois do fechamento, depois um pedido e não mais e assim sucessivamente ... mas agora abro um pedido e tudo, e paro não funciona ...
Eu o reescrevi em meu próprio estilo, espero que você entenda, se algo não estiver claro, não hesite em perguntar
reescrito em meu próprio estilo, espero que você entenda, se não entender nada pergunte
...
oh, pensei ter escrito quase tudo, exceto o fechamento e ainda tenho muito a aprender...muito obrigado agora pelo menos tenho um exemplo a seguir de...lata, obrigado novamente)
Olá. Fiz o download do software Metatrader 5. Eu me inscrevi em 2 sinais. O saldo de minha conta é positivo em 20$. Estou tentando instalar hospedagem virtual e nada funciona. Eu pressiono o navegador, conecto-me à conta de negociação, nem sequer tenho tal guia na mesa de hospedagem virtual. Estou lhe enviando screenshots. Como eu me conecto à hospedagem compartilhada?
Жанна Платонова: Olá. Fiz o download do software Metatrader 5. Eu me inscrevi em 2 sinais. O saldo de minha conta é positivo em 20$. Estou tentando instalar hospedagem virtual e nada funciona. Eu pressiono o navegador, conecto-me à conta de negociação, nem sequer tenho tal guia na mesa de hospedagem virtual. Estou lhe enviando screenshots. Como eu me conecto à hospedagem compartilhada?
Olá. Tenho uma pergunta - no mac (sierra) em todos entregues (através do vinho) de diferentes plataformas de empresas mt4 a mesma falha - o terminal se você o liberar de seu lugar normal no fundo para movê-lo como uma janela livre - ele encolhe e trabalha através dele é completamente impossível. A desativação do auto-arranjador não funciona. Devolver o terminal no primeiro local absolutamente impossível - ou seja, ele simplesmente não se prende e não abre mais. Tenho uma pergunta - qualquer pessoa pode conhecer um atalho ou botão para retornar toda a interface ao seu lugar original. Sinceramente.
Eu direi a mesma coisa. Você não é bom em lógica. Qual é o problema para calcular imediatamente o lote inicial, com base nos fundos disponíveis e no valor do risco (acho que foi escrito cerca de 3%)? Por que você tem que fazer tudo em um só lugar?
Pegue o valor da margem livre, multiplique pelo risco, divida por 100 e o valor da margem para 1 lote - aqui está a fórmula mais simples para calcular o lote com uma porcentagem especificada da margem livre. Além disso, é preciso levar em conta a etapa de mudança de lote e evitar que o tamanho do lote mín/máx, permitido pela corretora, seja ultrapassado:
Eu lhe disse que a EA negocia em um pequeno intervalo de tempo no qual há uma probabilidade de que 9 ordens opostas consecutivas se sobreponham e cada próxima ordem seja multiplicada por 2, portanto a margem pode não se manter e a última ordem pendente pode não se abrir, e portanto temos que calcular a partir do último lote máximo possível. Calculei que o melhor número de pedidos em intervalos de 5-10 minutos é 9. Em geral, preciso calcular uma margem caso todos os pedidos sejam abertos e com base nestes dados em ordem inversa para calcular o primeiro lote.
}
Onde é que eu escrevi errado? Acho que tirei um exemplo, você poderia me dizer como escrever corretamente para que a ordem feche?
em condições de compra reversa... Estou rachando meu cérebro.
}
Onde é que eu escrevi errado? Acho que tirei um exemplo, você poderia me dizer como escrever corretamente para que a ordem feche?
em condições de compra reversa... Estou rachando meu cérebro.
Assim
}
Onde é que eu escrevi errado? Acho que tirei um exemplo, você poderia me dizer como escrever corretamente para que a ordem feche?
em condições de compra reversa... Estou rachando meu cérebro.
Se o pedido for selecionado no bilhete, você não precisa de uma ação no laço. Se você quisercorrigir o código, use o botão SRC paracolar o código na mensagem.
Obrigado pelo SRC), isto é o que parece, parece assim, a venda deve acontecer quando a vela fecha abaixo do pulso e o rsi abaixo de 50, e fecha o pedido nas condições opostas, e ao mesmo tempo depois do fechamento deve acontecer a compra e depois do fechamento, depois um pedido e não mais e assim sucessivamente ... mas agora abro um pedido e tudo, e paro não funciona ...
Eu o reescrevi em meu próprio estilo, espero que você entenda, se algo não estiver claro, não hesite em perguntar
...
reescrito em meu próprio estilo, espero que você entenda, se não entender nada pergunte
...
oh, pensei ter escrito quase tudo, exceto o fechamento e ainda tenho muito a aprender...muito obrigado agora pelo menos tenho um exemplo a seguir de...lata, obrigado novamente)
Olá. Fiz o download do software Metatrader 5. Eu me inscrevi em 2 sinais. O saldo de minha conta é positivo em 20$. Estou tentando instalar hospedagem virtual e nada funciona. Eu pressiono o navegador, conecto-me à conta de negociação, nem sequer tenho tal guia na mesa de hospedagem virtual. Estou lhe enviando screenshots. Como eu me conecto à hospedagem compartilhada?
Clique em ajuda no menu principal.