Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 6. - page 411

 
Ekburg:

Eh bien, bonjour... Je suis bien sûr heureux que le problème est résolu, mais pour une raison quelconque, vous n'avez pas remarqué mon message, où j'ai dit la même chose, avec des mots légèrement différents, et immédiatement dit les défauts, sauf la fermeture du fichier, n'a pas immédiatement vu où vous avez :)

Le livre ne dit pas où l'envoyer ?
 
Vinin:

Tu n'as pas dit où envoyer le livre ?


C'est vrai ! J'ai oublié à cause des vacances ! :) merci de me le rappeler !

 
Vinin:

Avez-vous dit où envoyer le livre ?

J'ai écrit au bureau de poste
 
Dites-moi, comment puis-je savoir ce que le TP minimum peut être à un moment donné ?
 
Trader7777:
Dites-moi, comment puis-je savoir ce que le TP minimum peut être à un moment donné ?

int STOPLEVEL=MarketInfo(NULL,MODE_STOPLEVEL);
 
merci) connaissait Market info, ne savait pas quel paramètre définir dans la fonction.
 
Trader7777:
merci) connaissait l'info du marché, ne savait pas quel paramètre mettre dans la fonction.
Dans l'éditeur, placez le curseur sur le nom de la fonction et appuyez sur F1. L'information d'aide pour la fonction s'ouvre.
 
Bonjour. Je ne l'ai pas trouvé sur le forum, alors j'écris ici. J'essaie d'obtenir un nouvel EA basé sur un EA de formation. L'EA qui est donné en exemple négocie sur les croisements de MA. Il y a deux pièces avec des périodes différentes. Une MA lente et une MA rapide. Lorsque le rapide croise le lent de bas en haut, nous achetons ; si c'est l'inverse, nous vendons. Je souhaite ajouter cette fonction aux conditions de négociation standard afin de suivre en plus les résultats d'une transaction. Si une position est fermée à un Stop Loss ou 0, l'EA ouvrira une position opposée au lieu d'attendre le prochain croisement. En d'autres termes, nous avons ouvert une position d'achat, engagé un stop-loss (le marché n'est pas allé là où nous le voulions) et immédiatement au niveau du stop-loss, nous avons ouvert une position de vente. Je sais qu'un tel EA sera toujours perdant, mais je veux comprendre quel type de code doit être écrit. J'espère obtenir de l'aide des professionnels. Je n'ai aucune idée de ce qu'il faut faire avec ce genre de code et je ne sais pas quoi en faire.
 
petya33r:
Bonjour. Je ne l'ai pas trouvé sur le forum, alors j'écris ici. J'essaie d'obtenir un nouvel EA basé sur un EA de formation. L'EA qui est donné en exemple négocie sur les croisements de MA. Il y a deux pièces avec des périodes différentes. Une MA lente et une MA rapide. Lorsque le rapide croise le lent de bas en haut, nous achetons ; si c'est l'inverse, nous vendons. Je souhaite ajouter cette fonction aux conditions de négociation standard afin de suivre en plus les résultats d'une transaction. Si une position est fermée par un Stop Loss ou 0, l'EA ouvrira une position opposée au lieu d'attendre le prochain croisement. En d'autres termes, nous avons ouvert une position d'achat, engagé un stop-loss (le marché n'est pas allé là où nous le voulions) et immédiatement au niveau du stop-loss, nous avons ouvert une position de vente. Je sais qu'un tel EA sera toujours perdant, mais je veux comprendre quel type de code doit être écrit. J'espère obtenir de l'aide des professionnels. J'espère comprendre quel type de code doit être écrit par un professionnel. Merci beaucoup.

Je voudrais placer un ordre en attente au niveau du stop-loss.
 
evillive:

Placez un ordre en attente au niveau du stop loss dans la direction opposée.


Je voudrais le placer sans attendre. J'ai trouvé le code suivant de l'Expert Advisor sur Internet. Il ouvre une position opposée en prenant une perte mais je ne peux pas le combiner avec les conditions de trading avec deux 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);  
  }               
}  
Raison: