Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 6. - Seite 411

 
Ekburg:

Nun, hallo... Ich bin natürlich froh, dass das Problem gelöst ist, aber aus irgendeinem Grund haben Sie nicht bemerkt, meine Nachricht, wo ich sagte, die gleiche Sache, mit etwas anderen Worten, und sagte sofort die Mängel, außer Schließen der Datei, nicht sofort sehen, wo Sie es haben:)

Über das Buch nicht sagen, wo zu senden?
 
Vinin:

Haben Sie mir nicht gesagt, wohin ich das Buch schicken soll?


Stimmt, das habe ich wegen der Feiertage vergessen :) danke fürs Erinnern!

 
Vinin:

Haben Sie gesagt, wohin Sie das Buch schicken sollen?

Ich schrieb an die Post
 
Sagen Sie mir, woher weiß ich, wie hoch der Mindestumsatz zu einem bestimmten Zeitpunkt sein kann?
 
Trader7777:
Sagen Sie mir, woher weiß ich, wie hoch der Mindestumsatz zu einem bestimmten Zeitpunkt sein kann?

int STOPLEVEL=MarketInfo(NULL,MODE_STOPLEVEL);
 
Danke) wusste Market Info, wusste nicht, welche Parameter in der Funktion zu setzen.
 
Trader7777:
Danke) wusste Market Info, wusste nicht, welche Parameter in der Funktion zu setzen.
Bewegen Sie den Cursor im Editor über den Funktionsnamen und drücken Sie F1. Die Hilfeinformationen zur Funktion werden geöffnet.
 
Hallo. Ich konnte es im Forum nicht finden, also schreibe ich hier. Ich versuche, einen neuen EA zu entwickeln, der auf einem Trainings-EA basiert. Der EA, der als Beispiel angegeben ist, handelt auf MA-Kreuzungen. Es gibt zwei Stücke mit unterschiedlichen Zeiträumen. Ein langsamer MA und ein schneller MA. Wenn der schnelle Kurs den langsamen Kurs von unten nach oben kreuzt, kaufen wir, wenn er umgekehrt ist, verkaufen wir. Ich möchte diese Funktion zu den Standardhandelskonditionen hinzufügen, um die Ergebnisse eines Geschäfts zusätzlich zu verfolgen. Wenn eine Position durch einen Stop Loss oder 0 geschlossen wird, eröffnet der EA eine entgegengesetzte Position, anstatt auf die nächste Kreuzung zu warten. Mit anderen Worten: Wir haben eine Kaufposition eröffnet, einen Stop-Loss gesetzt (der Markt hat sich nicht in die gewünschte Richtung entwickelt) und unmittelbar auf Höhe des Stop-Loss eine Verkaufsposition eröffnet. Ich weiß, dass ein solcher EA noch verlieren wird, aber ich möchte verstehen, welche Art von Code geschrieben werden sollte. Ich hoffe, dass ich Hilfe von den Fachleuten bekomme. Ich habe keine Ahnung, was ich mit dieser Art von Code machen soll, und ich weiß auch nicht, was ich damit anfangen soll.
 
petya33r:
Hallo. Ich konnte es im Forum nicht finden, also schreibe ich hier. Ich versuche, einen neuen EA zu entwickeln, der auf einem Trainings-EA basiert. Der EA, der als Beispiel angegeben ist, handelt auf MA-Kreuzungen. Es gibt zwei Stücke mit unterschiedlichen Zeiträumen. Ein langsamer MA und ein schneller MA. Wenn der schnelle Kurs den langsamen Kurs von unten nach oben kreuzt, kaufen wir, wenn er umgekehrt ist, verkaufen wir. Ich möchte diese Funktion zu den Standardhandelskonditionen hinzufügen, um die Ergebnisse eines Geschäfts zusätzlich zu verfolgen. Wenn eine Position bei einem Stop Loss oder 0 geschlossen wird, eröffnet der EA eine entgegengesetzte Position, anstatt auf die nächste Kreuzung zu warten. Mit anderen Worten: Wir haben eine Kaufposition eröffnet, einen Stop-Loss gesetzt (der Markt hat sich nicht in die gewünschte Richtung entwickelt) und unmittelbar auf Höhe des Stop-Loss eine Verkaufsposition eröffnet. Ich weiß, dass ein solcher EA noch verlieren wird, aber ich möchte verstehen, welche Art von Code geschrieben werden sollte. Ich hoffe, dass ich Hilfe von den Fachleuten bekomme. Ich hoffe, von den Fachleuten Hilfe zu bekommen. Vielen Dank.

Ich möchte eine Pending-Order auf der Höhe des Stop-Loss platzieren.
 
evillive:

Erteilen Sie einen schwebenden Auftrag auf dem Niveau des Stop-Loss in der entgegengesetzten Richtung.


Ich möchte sie ohne Anhängigkeit platzieren. Ich habe den folgenden Code des Expert Advisors im Internet gefunden. Es öffnet eine entgegengesetzte Position bei der Aufnahme eines Verlustes, aber ich kann es nicht mit Bedingungen des Handels mit zwei MAs kombinieren.

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