Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 6. - pagina 411

 
Ekburg:

Beh, ciao... Sono naturalmente contento che il problema sia risolto, ma per qualche motivo non hai notato il mio messaggio, dove ho detto la stessa cosa, con parole leggermente diverse, e ho detto subito i difetti, tranne la chiusura del file, non ho visto subito dove l'hai:)

Circa il libro non ha detto dove inviare?
 
Vinin:

Non hai detto dove mandare il libro?


Giusto, l'ho dimenticato a causa delle vacanze! :) grazie per avermelo ricordato!

 
Vinin:

Hai detto dove mandare il libro?

Ho scritto all'ufficio postale
 
Dimmi, come faccio a sapere quale può essere il TP minimo in un dato momento?
 
Trader7777:
Dimmi, come faccio a sapere quale può essere il TP minimo in un dato momento?

int STOPLEVEL=MarketInfo(NULL,MODE_STOPLEVEL);
 
grazie) conosceva le informazioni sul mercato, non sapeva quale parametro impostare nella funzione.
 
Trader7777:
grazie) conosceva le informazioni sul mercato, non sapeva quale parametro impostare nella funzione.
Nell'editor, passate il cursore sul nome della funzione e premete F1. Si aprono le informazioni di aiuto per la funzione.
 
Salve. Non l'ho trovato sul forum, quindi scrivo qui. Sto cercando di ottenere un nuovo EA basato su un EA di formazione. L'EA che viene dato come esempio fa trading sugli incroci delle MA. Ci sono due pezzi con periodi diversi. Un MA lento e un MA veloce. Quando quello veloce interseca quello lento dal basso verso l'alto, compriamo; se viceversa, vendiamo. Voglio aggiungere questa funzione alle condizioni di trading standard per tracciare ulteriormente i risultati di un affare. Se una posizione viene chiusa ad uno Stop Loss o a 0, l'EA aprirà una posizione opposta invece di aspettare il prossimo incrocio. In altre parole, abbiamo aperto una posizione di acquisto, sostenuto uno stop loss (il mercato non è andato dove volevamo) e immediatamente al livello dello stop-loss abbiamo aperto una posizione di vendita. So che un tale EA sarà ancora perdente, ma voglio capire che tipo di codice dovrebbe essere scritto. Spero di ricevere aiuto dai professionisti. Non ho idea di cosa fare con questo tipo di codice e non so cosa farci.
 
petya33r:
Salve. Non l'ho trovato sul forum, quindi scrivo qui. Sto cercando di ottenere un nuovo EA basato su un EA di formazione. L'EA che viene dato come esempio fa trading sugli incroci delle MA. Ci sono due pezzi con periodi diversi. Un MA lento e un MA veloce. Quando il veloce interseca il lento dal basso verso l'alto, compriamo; se viceversa, vendiamo. Voglio aggiungere questa funzione alle condizioni di trading standard per tracciare ulteriormente i risultati di un affare. Se una posizione viene chiusa da uno Stop Loss o 0, l'EA aprirà una posizione opposta invece di aspettare il prossimo incrocio. In altre parole, abbiamo aperto una posizione di acquisto, sostenuto uno stop loss (il mercato non è andato dove volevamo) e immediatamente al livello dello stop-loss abbiamo aperto una posizione di vendita. So che un tale EA sarà ancora perdente, ma voglio capire che tipo di codice dovrebbe essere scritto. Spero di ricevere aiuto dai professionisti. Spero di capire che tipo di codice dovrebbe essere scritto da un professionista, grazie mille.

Vorrei piazzare un ordine pendente al livello di stop-loss.
 
evillive:

Posiziona un ordine pendente al livello di stop loss nella direzione opposta.


Vorrei metterlo senza alcun pendente. Ho trovato il seguente codice dell'Expert Advisor su Internet. Apre una posizione opposta a prendere una perdita ma non posso combinarla con le condizioni di trading con due MA.

#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);  
  }               
}