Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 6. - página 411

 
Ekburg:

Bem, olá... Estou, naturalmente, feliz que o problema esteja resolvido, mas por alguma razão você não notou minha mensagem, onde eu disse a mesma coisa, com palavras ligeiramente diferentes, e disse imediatamente os defeitos, exceto o fechamento do arquivo, não viu imediatamente onde você a tem:)

Sobre o livro não disse para onde enviar?
 
Vinin:

Você não me disse para onde enviar o livro?


Certo! esqueci por causa das férias! :) obrigado por me lembrar!

 
Vinin:

Você disse para onde enviar o livro?

Escrevi para os correios
 
Diga-me, como sei qual pode ser o TP mínimo a qualquer momento?
 
Trader7777:
Diga-me, como sei qual pode ser o TP mínimo a qualquer momento?

int STOPLEVEL=MarketInfo(NULL,MODE_STOPLEVEL);
 
obrigado) conhecia informações de mercado, não sabia qual parâmetro definir na função.
 
Trader7777:
obrigado) conhecia informações de mercado, não sabia qual parâmetro definir na função.
No editor, passe o cursor sobre o nome da função e pressione F1. As informações de ajuda para a função são abertas.
 
Olá. Não consegui encontrá-lo no fórum, por isso estou escrevendo aqui. Estou tentando conseguir uma nova EA baseada em uma EA de treinamento. O EA que é dado a título de exemplo, comercializa em travessias de MA. Há duas peças com períodos diferentes. Um MA lento e um MA rápido. Quando o rápido intercepta o lento de baixo para cima, nós compramos; se vice-versa, vendemos. Quero acrescentar esta função às condições comerciais padrão, a fim de acompanhar adicionalmente os resultados de um negócio. Se uma posição for fechada por um Stop Loss ou 0, a EA abrirá uma posição oposta em vez de esperar pela próxima travessia. Em outras palavras, abrimos uma posição de compra, incorremos em um stop loss (o mercado não foi para onde queríamos) e imediatamente no nível do stop-loss abrimos uma posição de venda. Eu sei que tal EA ainda estará perdendo, mas quero entender que tipo de código deve ser escrito. Espero obter alguma ajuda dos profissionais. Não tenho idéia do que fazer com este tipo de código e não sei o que fazer com ele.
 
petya33r:
Olá. Não consegui encontrá-lo no fórum, por isso estou escrevendo aqui. Tentando obter uma nova EA baseada em uma EA de treinamento. O EA que é dado a título de exemplo, comercializa em travessias de MA. Há duas peças com períodos diferentes. Um MA lento e um MA rápido. Quando o rápido intercepta o lento de baixo para cima, nós compramos; se vice-versa, vendemos. Quero acrescentar esta função às condições comerciais padrão, a fim de acompanhar adicionalmente os resultados de um negócio. Se uma posição for fechada por um Stop Loss ou 0, a EA abrirá uma posição oposta em vez de esperar pela próxima travessia. Em outras palavras, abrimos uma posição de compra, incorremos em um stop loss (o mercado não foi para onde queríamos) e imediatamente no nível do stop-loss abrimos uma posição de venda. Eu sei que tal EA ainda estará perdendo, mas quero entender que tipo de código deve ser escrito. Espero obter alguma ajuda dos profissionais. Espero obter alguma ajuda dos profissionais. Muito obrigado.

Eu gostaria de colocar a ordem pendente no nível de stop-loss.
 
evillive:

Colocar uma ordem pendente no nível de stop loss na direção oposta.


Eu gostaria de colocá-lo sem nenhum pendente. Encontrei o seguinte código do Consultor Especialista na Internet. Ela abre uma posição oposta ao assumir uma perda, mas não posso combiná-la com as condições de comercialização com dois MAs.

#property copyright "Copyright © 2013, MoneyInNetwork.ru"
#property link      "http://moneyinnetwork.ru"
extern string s1 = "Объем для первой сделки серии, лот";
extern double Lot = 0.1;
extern string s2 = "Уровень стоп-лосса, пипсов";
extern double stoploss = 100;
extern string s3 = "Уровень тейк-профита, пипсов";
extern double takeprofit = 500;
extern string s4 = "Уникальная метка для ордеров, открываемых только этим советником";
extern double MagicNumber = 600;
extern string s5 = "Максимальное отклонение от запрошенной цены, пипсов";
extern double slip = 15;
 
int init()
{
   return(0);
}
 
int deinit()
{
   return(0);
}
 
int start()
{ 
  //инициализация параметров
  int ticket = 0;
  int old_order_type = OP_SELL;
 
  //ищем среди всех открытых ордеров открытый советником ордер 
  RefreshRates();
  for ( int trade = OrdersTotal() - 1; trade >= 0; trade-- ) 
  {
      //проверяем есть ли среди всех открытых ордеров именно тот ордер, который открыт данным советником.
      if ( OrderSelect(trade, SELECT_BY_POS, MODE_TRADES) && (OrderType() == OP_BUY || OrderType() == OP_SELL) && OrderMagicNumber() == MagicNumber && OrderSymbol() == Symbol() )
      {
          //если есть незакрытый ордер - выходим
          return (0);        
      }
  }
  //нет открытых ордеров - ищем в истории закрытых ордеров последний закрытый именно этим советником ордер 
  for ( trade = OrdersHistoryTotal() - 1; trade >= 0; trade-- ) 
  {
     if ( OrderSelect(trade, SELECT_BY_POS, MODE_HISTORY) && OrderMagicNumber() == MagicNumber && OrderSymbol() == Symbol() )
     {
         old_order_type = OrderType();
         if ( OrderProfit()<0 ) //последний закрытый советником ордер был убыточным, значит, следующий ордер открываем в направлении, противоположном закрытому с убытком
         {
                break; //прекращаем поиск
         }
     }
  }
  //если раньше покупали, то теперь продаем
  if ( old_order_type == OP_BUY )
  {
      ticket = OrderSend(Symbol(), OP_SELL, Lot,  NormalizeDouble(Bid, Digits), slip, NormalizeDouble(Ask+stoploss*Point, Digits), NormalizeDouble(Ask-takeprofit*Point, Digits), "Martingale-Sell", MagicNumber, 0, Red);
      Sleep (2000); //задержка в 2 секунды для обработки запроса торговым сервером брокера
      return (0);  
  }
  //если раньше продавали, то теперь покупаем
  if ( old_order_type == OP_SELL )
  {
      ticket = OrderSend(Symbol(), OP_BUY, Lot, NormalizeDouble(Ask, Digits), slip, NormalizeDouble(Bid-stoploss*Point, Digits), NormalizeDouble(Bid+takeprofit*Point, Digits), "Martingale-Buy", MagicNumber, 0, Green);
      Sleep (2000); //задержка в 2 секунды для обработки запроса торговым сервером брокера
      return (0);  
  }               
}  
Razão: