Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 6. - página 411

 
Ekburg:

Bueno, hola... Por supuesto, me alegro de que el problema se resuelve, pero por alguna razón usted no ha notado mi mensaje, donde dije lo mismo, con palabras ligeramente diferentes, y de inmediato dijo que los defectos, excepto el cierre del archivo, no vio de inmediato donde usted lo tiene:)

¿Sobre el libro no dijo dónde enviar?
 
Vinin:

¿No dijiste a dónde enviar el libro?


Cierto, se me olvidó por las vacaciones :) ¡gracias por recordármelo!

 
Vinin:

¿Dijo a dónde enviar el libro?

Escribí a la oficina de correos
 
Dígame, ¿cómo puedo saber cuál puede ser el TP mínimo en un momento dado?
 
Trader7777:
Dígame, ¿cómo puedo saber cuál puede ser el TP mínimo en un momento dado?

int STOPLEVEL=MarketInfo(NULL,MODE_STOPLEVEL);
 
gracias) conocía la información del Mercado, no sabía que parámetro poner en la función.
 
Trader7777:
gracias) conocía la información del Mercado, no sabía que parámetro poner en la función.
En el editor, sitúe el cursor sobre el nombre de la función y pulse F1. Se abre la información de ayuda de la función.
 
Hola. No pude encontrarlo en el foro, así que escribo aquí. Estoy tratando de conseguir un nuevo EA basado en un EA de entrenamiento. El EA que se da como ejemplo opera en cruces de MA. Hay dos piezas con períodos diferentes. Una MA lenta y una MA rápida. Cuando la rápida se cruza con la lenta de abajo hacia arriba, compramos; si es al revés, vendemos. Quiero añadir esta función a las condiciones comerciales estándar para poder seguir adicionalmente los resultados de una operación. Si una posición se cierra en un Stop Loss o 0, el EA abrirá una posición opuesta en lugar de esperar el siguiente cruce. En otras palabras, abrimos una posición de compra, incurrimos en un stop loss (el mercado no fue donde queríamos) e inmediatamente al nivel del stop-loss abrimos una posición de venta. Sé que un EA así seguirá perdiendo, pero quiero entender qué tipo de código debería escribirse. Espero recibir ayuda de los profesionales. No tengo ni idea de qué hacer con este tipo de código y no sé qué hacer con él.
 
petya33r:
Hola. No pude encontrarlo en el foro, así que escribo aquí. Estoy tratando de conseguir un nuevo EA basado en un EA de entrenamiento. El EA que se da como ejemplo opera en cruces de MA. Hay dos piezas con periodos diferentes. Un MA lento y un MA rápido. Cuando la rápida se cruza con la lenta de abajo hacia arriba, compramos; si es al revés, vendemos. Quiero añadir esta función a las condiciones comerciales estándar para poder seguir adicionalmente los resultados de una operación. Si una posición es cerrada por un Stop Loss o 0, el EA abrirá una posición opuesta en lugar de esperar el siguiente cruce. En otras palabras, abrimos una posición de compra, incurrimos en un stop loss (el mercado no fue donde queríamos) e inmediatamente al nivel del stop-loss abrimos una posición de venta. Sé que un EA así seguirá perdiendo, pero quiero entender qué tipo de código debería escribirse. Espero recibir ayuda de los profesionales. Espero recibir ayuda de los profesionales, muchas gracias.

Me gustaría colocar una orden pendiente en el nivel de stop-loss.
 
evillive:

Coloque una orden pendiente en el nivel de stop loss en la dirección opuesta.


Me gustaría colocarlo sin ningún tipo de pendiente. He encontrado el siguiente código del Asesor Experto en Internet. Abre una posición contraria a la toma de pérdidas pero no puedo combinarla con las condiciones de operar con dos 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);  
  }               
}