[AVISO FECHADO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Não posso ir a lugar algum sem você. - página 926

 
gheka:

Por mais que eu tente, eu reescrevi tudo, mas ainda assim o erro 130, ajuda onde está errado?

Eu não acho que um nivelador de parada é necessário aqui, eles são e param em 1000?

Tente

extern double StopLoss=1000.0;
extern double TakeProfit=1000.0;
extern double Lots=1.0;
extern int total;


int start() {

int dg;
double Price_1,Price_2,min,max,pa,pb,pt;

pt=MarketInfo(Symbol(),MODE_POINT);
dg=MarketInfo(Symbol(),MODE_DIGITS);
pa=MarketInfo(Symbol(),MODE_ASK);
pb=MarketInfo(Symbol(),MODE_BID);
Price_1=pb;
Price_2=pa;
min=iLow(NULL,0,2);
max=iHigh(NULL,0,2);
total=OrdersTotal();

double slB=NormalizeDouble(pa-StopLoss*pt,dg);
double tpB=NormalizeDouble(pa+TakeProfit*pt,dg);
double slS=NormalizeDouble(pb+StopLoss*pt,dg);
double tpS=NormalizeDouble(pb-TakeProfit*pt,dg);

  if(total<1) 
  {
   if(Price_1>max)
      OrderSend(Symbol(),OP_BUY,Lots,pa,2,slB,tpB,"My order#",16384,0,Green);

   if(Price_2<min)
      OrderSend(Symbol(),OP_SELL,Lots,pb,2,slS,tpS,"My order#",16384,0,Green);
  }

}
 
Olá, alguém tem um testador Exp - Multi Testador para Mt4 , se você não se importa de compartilhar, por favor!
 
Olá pessoal, não consigo entender o mql4(( quero escrever um pequeno EA baseado em dois EMA's (médias móveis) que dão um bip após a travessia? Você pode me dizer algo sobre este programa? Obrigado de antemão!!!
 

existe uma função que devolve o valor de uma ordem de fechamento(stop loss) ?

por exemplo, para que a EA saiba se uma parada de perda é acionada

Não o encontrei na documentação, talvez esteja lá, mas li novamente cerca de dez vezes em um mês e não me lembro

eu não me lembrava de encontrar tal função

 
silmin85:
Olá! Pessoal, não consigo entender o mql4(( quero escrever um pequeno EA baseado em dois EMA's (médias móveis) que dão um bip após a travessia? Você pode me dizer algo sobre este programa? Obrigado de antemão!!!

Vamos apenas escrever em um lugar da próxima vez. O Spamming não é bom.
 
gheka:

existe uma função que devolve o valor de uma ordem de fechamento (stop loss) ?

por exemplo, para que a EA saiba se uma parada de perda é acionada

Não a encontrei na documentação, talvez esteja lá, mas a reli cerca de dez vezes em um mês e não me lembro

Não me lembro de ter visto tal função.

Procure o pedido na história e, se o encontrar, compare seu preço próximo OrderClosePrice() com seu nível StopLoss OrderStopLoss()

Se eles são iguais, então a posição fechou em uma parada.

 
artmedia70:

Procure a ordem na história, e se a encontrar, compare seu preço de fechamento OrderClosePrice() com seu nível StopLoss OrderStopLoss()

Se forem iguais, isso significa que a posição foi fechada em Stop Loss.

Kim tem uma função que toma a última ordem fechada...
 
OlegTs:
Kim tem uma função que toma a última ordem fechada...

Eu sei. Muitas pessoas estão começando a aprender com essas funções. Eu dei um link para seu fio condutor aqui recentemente, mas o homem persiste em perguntar. Provavelmente preguiçoso demais para procurar... :)

//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 19.05.2008                                                     |
//|  Описание : Возвращает флаг закрытия последней позиции по стопу.           |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    sy - наименование инструмента   (""   - любой символ,                   |
//|                                     NULL - текущий символ)                 |
//|    op - операция                   (-1   - любая позиция)                  |
//|    mn - MagicNumber                (-1   - любой магик)                    |
//+----------------------------------------------------------------------------+
bool isCloseLastPosByStop(string sy="", int op=-1, int mn=-1) {
  datetime t;
  double   ocp, osl;
  int      dg, i, j=-1, k=OrdersHistoryTotal();

  if (sy=="0") sy=Symbol();
  for (i=0; i<k; i++) {
    if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) {
      if (OrderSymbol()==sy || sy=="") {
        if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
          if (op<0 || OrderType()==op) {
            if (mn<0 || OrderMagicNumber()==mn) {
              if (t<OrderCloseTime()) {
                t=OrderCloseTime();
                j=i;
              }
            }
          }
        }
      }
    }
  }
  if (OrderSelect(j, SELECT_BY_POS, MODE_HISTORY)) {
    dg=MarketInfo(sy, MODE_DIGITS);
    if (dg==0) if (StringFind(OrderSymbol(), "JPY")<0) dg=4; else dg=2;
    ocp=NormalizeDouble(OrderClosePrice(), dg);
    osl=NormalizeDouble(OrderStopLoss(), dg);
    if (ocp==osl) return(True);
  }
  return(False);
}
 
Olá pessoal, poderiam aconselhar: escorregamento - O valor do escorregamento máximo em pips. O que é isso e para que serve? Eu sempre a coloco a zero. Talvez faça sentido mudá-lo. Pode ser alterado pela minha empresa de corretagem? Agradecemos antecipadamente!
 
RekkeR:

Você pode me dizer se há vários indicadores sobrepostos uns aos outros em uma janela adicional, você pode remover a linha acima deles com os nomes e parâmetros? Estou farto deste teletexto.




Você pode, mas precisa removê-lo em todos os indicadores. Editar o código
Razão: