[ARQUIVO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 4. - página 180

 
MQL414:

se (((Perguntar>=OrderTakeProfit()) && (OrderType() == OP_BUY)) {x=1;}

if((Bid<=OrderTakeProfit()) && (OrderType() == OP_SELL)) {y=1;}

if(Hour()==00:00) {x=0;y=0;}

Adicionar BUY x=0; SELL y=0;



Muito obrigado. Parece ser exatamente a coisa certa.
 

Ajuda) o que é o bug no código) no testador tudo está bem) e na demonstração tudo está morto) nenhuma posição não abre) e nenhum erro) não quantos dias como este) aqui está o código)

externo inttern Tenkan=5;
int dd=9 externo;
Int Int. externa=3;
int externo kk=9;
UrovenUp=56;
duplo TakeProfit externo=100;
Lotes duplos externos=3;
StopLoss duplo externo=100;

int start()
{double MY,priceBuy,priceBuy2,Ich,D,K,K1;
duplo Cc1,C2,C3,C4;
int ticket;


MY=(Abrir[0] + Fechar[0] )/2;
Ich=((Open[iHighest(NULL, 0, MODE_OPEN, Tenkan)]) +
(Close[iLowest(NULL, 0, MODE_CLOSE, Tenkan)]))/2;

D=(iStochastic(NULL,0,kk,dd,slowing,MODE_SMA,0,MODE_SIGNAL,0))
K=(iStochastic(NULL,0,kk,dd,slowing,MODE_SMA,0,MODE_MAIN,0))
K1=(iStochastic(NULL,0,kk,dd,slowing,MODE_SMA,0,MODE_MAIN,1))
Cc1=Fechar[2] <Fechar[1];
C2=Fechar[0] > Fechar[1];
C3=K>K1;
C4=D<UrovenUp;


//Condição de preço de venda e de compra///
priceBuy=MarketInfo(Symbol(),MODE_ASK);
priceBuy2=MarketInfo(Symbol(),MODE_BID);


//condição para comprar//


{se (MY > Ich && Cc1 && C2 && C3 && C4)

//ticket=OrderS³; //ticket=OrderS³; //condição para compra e venda///
{ticket=OrderSend(Symbol(),OP_BUY,Lots,priceBuy,3,priceBuy2-StopLoss*Point,priceBuy2+TakeProfit*Point,
"Meu bebê",123453,0,Verde);
if(bilhete>0)
{
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES))
Imprimir("Pedido de compra aberto : ",OrderOpenPrice()));
}
else Print("Error opening BUY order : ",GetLastError()));
retorno(0);
}

}

}
 

Estou tentando descobrir a função iCustom().

Escrevi um indicador de sinal que analisa o cruzamento de dois MAs e dá um sinal 1 ou 2 - compra ou venda. Aqui está seu código:

#property indicator_chart_window

extern int MA_Light=13;
extern int MA_Hard=89;

bool sig;
int Signal=-1;
double MA_L1, MA_H1, 
       MA_L2, MA_H2;


int init()
 {
   sig=true;
 }

int start()
  {
   int    counted_bars=IndicatorCounted();
   
   MA_L1=iMA(Symbol(),0,MA_Light,0,MODE_EMA,PRICE_CLOSE,1);
   MA_H1=iMA(Symbol(),0,MA_Hard,0,MODE_EMA,PRICE_CLOSE,1);
   MA_L2=iMA(Symbol(),0,MA_Light,0,MODE_EMA,PRICE_CLOSE,2);
   MA_H2=iMA(Symbol(),0,MA_Hard,0,MODE_EMA,PRICE_CLOSE,2);
   //----------------------------------------------------------------

    if(MA_L2<=MA_H2 && MA_L1>MA_H1 && sig==true)
     {
      Signal=1;
      Alert("Покупай!!! ", Signal);
      sig=false;
     }
    if(MA_L2>=MA_H2 && MA_L1<MA_H1 && sig==true)
     {
      Signal=2;
      Alert("Продавай!!! ", Signal);
      sig=false;
     }
   
   if((MA_L2<MA_H2 && MA_L1<MA_H1 && sig==false) || // чтобы сигналило один раз
      (MA_L2>MA_H2 && MA_L1>MA_H1 && sig==false))
      sig=true;  
   
   Signal=-1;
   return(0);
  }

Tentei escrever um Consultor Especialista que negocia com estes sinais usando o iCustom, mas ele não funciona. Sig me dá um valor de 0.

extern double Lots=0.1;

double Sig;
string Symb;
bool Ans;

int init()
  {
   Symb=Symbol();

   return(0);
  }

int deinit()
  {

   return(0);
  }
int start()
  {
   Sig=iCustom(Symb,0,"experiment_iCustom_indicator",13,89,0,0);
   
   if(Sig==1)
    {
      Alert("Попытка открыть Buy...");
      Ans=OrderSend(Symb,OP_BUY,Lots,Ask,3,0,0,"",69,0);
       if(Ans==true)
        Alert("Ордер buy открыт");
       if(Ans==false)
        Alert("Произошла ошибка", GetLastError()); 
    }
   if(Sig==2)
    {
      Alert("Попытка открыть sell...");
      Ans=OrderSend(Symb,OP_SELL,Lots,Bid,3,0,0,"",69,0);
       if(Ans==true)
        Alert("Ордер sell открыт");
       if(Ans==false)
        Alert("Произошла ошибка", GetLastError()); 
    }
   
   return(0);
  }

Por favor, explique o que eu fiz de errado e o que deve ser feito corretamente.

Obrigado.

 
silhouette:

Estou tentando descobrir a função iCustom().

Escrevi um indicador de sinal que analisa o cruzamento de dois MAs e dá um sinal 1 ou 2 - compra ou venda. Aqui está seu código:

Tentei escrever um Consultor Especialista que negocia com estes sinais usando o iCustom, mas ele não funciona. Sig me dá um valor de 0.

Por favor, explique o que eu fiz de errado e o que deve ser feito corretamente.

Obrigado.

Primeiro, leia mais detalhes sobre o iCustom(). Funciona apenas com amortecedores indicadores.

Não há buffers em seu indicador de sinal (0), portanto, você não pode extrair dados dele. Como o iCustom() pode saber que você precisa de uma variável int comum do indicador?

 
Olá! Por favor, ajude a encontrar entre as muitas ordens abertas, aquela que foi aberta antes da nova ordem. O que é o código?
 
alsu:

leitura após reinicialização



Obrigado! Ordenado.

 

OrderCloseBy.

Quem pode explicar por que esta situação ocorre.

O pedido superior que é uma linha azul Comprar - 0.01
O segundo pedido o inferior Vender - 0.02
Em um ponto onde os pedidosCloseBy() seta amarela no gráfico foi chamada. Na primeira ordem, foi -3 na segunda +4.
Após a função ter sido chamada, espero que a primeira seja fechada a 0 e a segunda a +1.
Mas acontece que

O primeiro pedido foi fechado em 0 - linha 6. E o segundo pedido foi fechado em -1,10
De onde veio este -1,10? Porque eu fechei o total menos como o lucro total de dois pedidos é + em +1 no exemplo!

 
Como posso esconder o trabalho da EA das corretoras? Digamos que eu não tenho comentários sobre negócios, mas a EA escreve todos os dados pré-definidos na revista da MT4 Expert Advisors (eu entendo no servidor das corretoras também).Mas acontece que só de olhar a linha do bugaboo EA, tudo fica claro que o Expert Advisor é um Expert Advisor de negociação, e não apenas desenhar algo no gráfico. 2012.06.14 20:30:36 MouseTrade 1.6.1 EURUSDm,M1 entradas: use_timer=true; delete_on_deinit=true; default_sl_level=90; default_trailing_stop=0; default_tp_level=200;use_be=true; default_be_level=50; be_offset=10;use_cl=false; default_cl_level=100; use_cp=false; cp_size_ou_percent=false; cp_levels="50,100,150"; cp_lots="10,50,50"; Como posso desativar o corte, o máximo que posso escrever ali é "especialista"....: carregado com sucesso " não entendo ou não é fornecido de forma alguma?

 
Por favor, aponte-me na direção certa. Eu quero imitar o comércio em excelência. Quero emular o comércio em Excel (com minhas próprias citações). Como posso fazer os cálculos se tenho um conjunto de dados de cotações (datas, altas, baixas, histórico não é importante) para o excel corretamente calculado (por favor, use fórmulas) o balanço patrimonial atual. Se eu quiser colocar um pedido de Sell+Buy contra alguma cotação, colocarei um lote em uma cela necessária e acrescentarei o lote atual a ele (se forem o oposto, eles se fecham mutuamente). Talvez alguém tenha uma predefinição?
 
Receio que só as fórmulas não sirvam no Excel. Você terá que escrever macros. Se você tem uma estrutura de mesa, mostre-me. Eu posso ajudá-lo com macros.
Eu amo o Excel como se fosse meu próprio.
Razão: