Fragen von Anfängern MQL4 MT4 MetaTrader 4 - Seite 190

 
gyulnara.kosareva:
Hallo, kann ich einen EA ohne mql4-Datei installieren, wenn ich nur die ex-Datei des EA habe?

Ja, dafür ist die .ex-Datei gedacht

 
Hallo zusammen.
Ich hatte die MT4 App Version 400.1129 auf meinem Androiden installiert, bis zum 29.10.2019 funktionierte die App wie am Schnürchen. Am Freitag öffnete ich die App auf meinem Handy, der Startbildschirm zeigte an, dass ich ein neues Demokonto eröffnete, und die App wurde sofort geschlossen. Und ich landete auf dem Schreibtisch. Ich habe es Dutzende Male versucht und das gleiche Ergebnis erhalten. Ich habe das Terminal entfernt, ein neues Terminal von der Playlist heruntergeladen, es installiert und mit dem gleichen Ergebnis ausgeführt - die Anwendung stürzte ab. Ich habe Rojo forex MT4 vom Markt heruntergeladen, installiert und gestartet und es funktioniert wie am Schnürchen. Ich habe auch die MT5 Version 500.1780 von Market heruntergeladen, installiert und ausgeführt, ein Demokonto eröffnet, alles funktioniert einwandfrei.
Bitte raten Sie, was zu tun ist, wenn ich MT4 wieder auf meinem Handy funktionieren soll! Ich bitte Sie.
 

Guten Tag zusammen, können Sie mir bitte sagen, was los ist? Der Strategietester im Market beschwert sich über Requote -NEW_ORDER(): lot=0.20; POSITION_TYPE_BUY(EURUSD); err: 4756/Failed tosend trade request; retcode: 10004/Requote;

Wo kann ich mehr über diesen Fehler lesen und wie er behoben werden kann?

 
Nikolai Konstantinov:

Hallo zusammen, könnt ihr mir bitte sagen, was los ist? Der Strategietester im Market beschwert sich über Requote -NEW_ORDER(): lot=0.20; POSITION_TYPE_BUY(EURUSD); err: 4756/Failed tosend trade request; retcode: 10004/Requote;

Wo kann ich mehr über diesen Fehler lesen und wie er behoben werden kann?


Dies ist kein Fehler, sondern eine Marktsituation.
1. die Preise aktualisieren, bevor ein Geschäft zur Ausführung gesendet wird.
2. Wiedereröffnung nach Reparatur
3. Schlupf erhöhen
 
Vladislav Andruschenko:

Das ist kein Fehler, das ist eine Marktsituation.
1. Aktualisieren Sie die Preise, bevor Sie einen Handel zur Ausführung senden.
2. Nach der Reparatur wieder öffnen.
3. Schlupf erhöhen

Danke, aber alles, was Sie geschrieben haben, ist bereits berücksichtigt worden. Gibt es sonst noch etwas zu beachten?

 

Hallo! Bitte helfen Sie!

Plötzlich begann MT4 zu hängen. Alle von verschiedenen Maklerfirmen.

Beim Starten hängt sich das Terminal auf. In Manager steht davor "reagiert nicht". Reagiert nicht auf irgendetwas, unten auf dem MT-Panel steht, dass es keine Verbindung gibt.

Neustart von Terminals, Wechsel von verschiedenen Brokern, Entfernen und Neuinstallation, Bereinigung der Daten mit dem Programm Clean, Aus- und Einschalten des Computers - hat kein Ergebnis gebracht.

Es bleibt, um das OS neu zu installieren, aber so widerwillig.

Vielleicht hatte jemand so etwas schon einmal?

Haben Sie einen Rat?

 
odyn:

Bleibt, OS neu zu installieren, aber so widerwillig.

Alternativ, auf einer virtuellen Maschine installieren Sie das Betriebssystem und Terminal, ich installierte Oracle VM VirtualBox ohne Probleme dort MT4/MT5 Arbeit

Wenn dies ein Problem mit dem Betriebssystem ist, müssen Sie es neu installieren.


Ich habe es selbst getestet, es funktioniert mit MT4 und MT5 ohne Probleme.

 
odyn:

Hallo! Bitte helfen Sie!

Plötzlich begann MT4 zu hängen. Alle von verschiedenen Maklerfirmen.

Beim Starten hängt sich das Terminal auf. In Manager steht davor "reagiert nicht". Reagiert nicht auf irgendetwas, unten auf dem MT-Panel steht, dass es keine Verbindung gibt.

Neustart von Terminals, Wechsel von verschiedenen Brokern, Entfernen und Neuinstallation, Bereinigung der Daten mit dem Programm Clean, Aus- und Einschalten des Computers - hat kein Ergebnis gebracht.

Es bleibt, um das OS neu zu installieren, aber so widerwillig.

Vielleicht hatte jemand so etwas schon einmal?

Bitte beraten Sie, wer das kann.

Internet Explorer könnte die Ursache für das Problem sein

aus den Umständen - es muss entweder aufgerüstet oder zurückgesetzt werden :-) Und auf keinen Fall alle Arten von Add-ons, Plugins und Erweiterungen zulassen.

Die Autoren haben entschieden, dass die Explorer-Komponente für die Anzeige von Marktplätzen/Signalen/Nachrichten/Chat entscheidend ist, aber der Explorer selbst ist eine ewige Beta. Und seine Probleme "stören" das Terminal

 

Einen guten Tag an alle.

Können wir die Bedingung im Code ändern: "Expert Advisor öffnet eine Position in Abhängigkeit von der Schließung der letzten Position. Wenn es keine Position gab, wird sie in Abhängigkeit von der Richtung der vorhergehenden Kerze geöffnet", und wir solltensie in dieMöglichkeit umwandeln, 2 schwebende Orders in einem bestimmten Abstand zum aktuellen Preis zu platzieren, und wenn eine von ihnen ausgelöst wird, wird die zweite Order gelöscht. Der Rest des Algorithmus bleibt unverändert.

Ich habe es selbst ausprobiert, konnte aber keine funktionierende Version erreichen.

#property description "Советник открывает позицию в зависимости от закрытия прошлой позиции. Если позиции не было то в зависимости от направления прошлой свечи"
#property description "При достижение Т/P следующий ордер открывается в эту же сторону"
#property description "При достижение S/L следующий открывается в противоположную сторону"
//+------------------------------------------------------------------
#property  show_inputs
//+------------------------------------------------------------------
enum TT {BUY, SELL, BUYLIMIT, SELLLIMIT, BUYSTOP, SELLSTOP};
enum YN {No,Yes};
//+------------------------------------------------------------------
extern TT     Type         = BUY;
extern double Price        = 0; 
extern int    Distance     = 0;
extern int    stoploss     = 300,
              takeprofit   = 300;
extern double risk         = 0.01; //процент от депозита для рассчета объема первой позиции
extern double KoeffMartin  = 2.0;
extern int    OkrLOT       = 2;//округление лота
extern int    slippage     = 3;//Максимально допустимое отклонение цены для рыночных ордеров
extern int    MagicNumb    = 77;//Magic

double MINLOT,MAXLOT;                                  
//+------------------------------------------------------------------+
int OnInit()
{
   MAXLOT = MarketInfo(Symbol(),MODE_MAXLOT);
   MINLOT = MarketInfo(Symbol(),MODE_MINLOT);
   return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
void OnTick()
{
   double OSL,OTP,OOP,SL,TP;
   int tip;
   double STOPLEVEL=MarketInfo(Symbol(),MODE_STOPLEVEL);
   for (int i=0; i
   {
      if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
      {
         if (OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumb)
         {
            tip = OrderType(); 
            OSL = NormalizeDouble(OrderStopLoss(),Digits);
            OTP = NormalizeDouble(OrderTakeProfit(),Digits);
            OOP = NormalizeDouble(OrderOpenPrice(),Digits);
            SL=OSL;TP=OTP;
            if (tip==OP_BUY)             
            {  
               if (OSL==0 && stoploss>=STOPLEVEL && stoploss!=0)
               {
                  SL = NormalizeDouble(OOP - stoploss   * Point,Digits);
               } 
               if (OTP==0 && takeprofit>=STOPLEVEL && takeprofit!=0)
               {
                  TP = NormalizeDouble(OOP + takeprofit * Point,Digits);
               } 
               if (SL != OSL || TP != OTP)
               {  
                  if (!OrderModify(OrderTicket(),OOP,SL,TP,0,White)) Print("Error OrderModify <<",GetLastError(),">> ");
               }
            }                                         
            if (tip==OP_SELL)        
            {
               if (OSL==0 && stoploss>=STOPLEVEL && stoploss!=0)
               {
                  SL = NormalizeDouble(OOP + stoploss   * Point,Digits);
               }
               if (OTP==0 && takeprofit>=STOPLEVEL && takeprofit!=0)
               {
                  TP = NormalizeDouble(OOP - takeprofit * Point,Digits);
               }
               if (SL != OSL || TP != OTP)
               {  
                  if (!OrderModify(OrderTicket(),OOP,SL,TP,0,White)) Print("Error OrderModify <<",GetLastError(),">> ");
               }
            } 
            return;
         }
      }
   }
   tip=-1;
   double Lot=0;
    for (i=OrdersHistoryTotal()-1; i>=0; i--)
   {
      if (OrderSelect(i,SELECT_BY_POS,MODE_HISTORY))
      {
         if (OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumb)
         {
            if (OrderProfit()<0) 
            {
               Lot=lot(OrderLots(),KoeffMartin);
               tip=OrderType();
            }
            else 
            {
               Lot=lot(0,1);
               if (OrderType()==OP_BUY)  tip=OP_SELL;
               if (OrderType()==OP_SELL) tip=OP_BUY;
            }
            break;
         }
      }
   }

   if (tip==-1)
   {
      Lot=lot(0,1);
      if (Open[1]>Close[1]) tip=OP_BUY;
      else tip=OP_SELL;
   }
   if (tip==OP_BUY) if (OrderSend(Symbol(),OP_SELL,Lot,NormalizeDouble(Bi  d,Digits),slippage,0,0,NULL,MagicNumb,Blue)!=-1) Comment("Open Sell");
   if (tip==OP_SELL) if (OrderSend(Symbol(),OP_BUY ,Lot,NormalizeDouble(Ask,Digits),slippage,0,0,NULL  ,MagicNumb,Blue)!=-1) Comment("Open Buy");                               
}
//--------------------------------------------------------------------

double lot(double l,double k)

{

   double ML = AccountFreeMargin()/MarketInfo(Symbol(),MODE_MARGINREQUIRED);

   if (k==1) l = ML*risk/100;
   else l = NormalizeDouble(l*k,OkrLOT);
   if (l>ML) l = ML;
   if (l>MAXLOT) l = MAXLOT;
   if (l
   return(l);
}
//-----------------------------------------------------------------
            {
               Lot=lot(0,1);
               if (OrderType()==OP_BUY)  tip=OP_SELL;
               if (OrderType()==OP_SELL) tip=OP_BUY;
            }
            break;
         }
      }
   }

   if (tip==-1)
   {
      Lot=lot(0,1);
      if (Open[1]>Close[1]) tip=OP_BUY;
      else tip=OP_SELL;
   }
   
   if (tip==OP_BUY) if (OrderSend(Symbol(),OP_SELL,Lot,NormalizeDouble(Bi  d,Digits),slippage,0,0,NULL,MagicNumb,Blue)!=-1) Comment("Open Sell");
   if (tip==OP_SELL) if (OrderSend(Symbol(),OP_BUY ,Lot,NormalizeDouble(Ask,Digits),slippage,0,0,NULL  ,MagicNumb,Blue)!=-1) Comment("Open Buy");                                 
}
//--------------------------------------------------------------------
double lot(double l,double k)
{
   double ML = AccountFreeMargin()/MarketInfo(Symbol(),MODE_MARGINREQUIRED);
   if (k==1) l = ML*risk/100;
   else l = NormalizeDouble(l*k,OkrLOT);
   if (l>ML) l = ML;
   if (l>MAXLOT) l = MAXLOT;
   if (l
   return(l);
}
//-----------------------------------------------------------------
Документация по MQL5: Константы, перечисления и структуры / Торговые константы / Свойства ордеров
Документация по MQL5: Константы, перечисления и структуры / Торговые константы / Свойства ордеров
  • www.mql5.com
Приказы на проведение торговых операций оформляются ордерами. Каждый ордер имеет множество свойств для чтения, информацию по ним можно получать с помощью функций Идентификатор позиции, который ставится на ордере при его исполнении. Каждый исполненный ордер порождает сделку, которая открывает новую или изменяет уже существующую позицию...
Dateien:
SSSR_v.1.mq4  11 kb
 
Ich werde versuchen, den letzten Beitrag umzuformulieren:

//--------------------------------------
Gemäß dem Algorithmus eröffnet der Expert Advisor eine Position in Abhängigkeit von der Schließung einer vorherigen Position.
Wenn es keine Position gab, öffnet er sich in Abhängigkeit von der Richtung der letzten Kerze.

Dieser Algorithmus sollte geändert werden in:

Kaufen:

Platzieren Sie 2 schwebende Aufträge BuyStop zu dem in den Einstellungen angegebenen Kurs und SellStop zu dem in den Einstellungen angegebenen Kurs.
Sobald der Kurs eine der Stop-Orders erreicht, geht er in eine Marktposition mit ТР und SL über. Der Auftrag, der nicht ausgelöst wurde, wird gelöscht.

Der Rest des Algorithmus bleibt unverändert, d.h: "Wenn TP/P erreicht ist, wird der nächste Auftrag in der gleichen Richtung eröffnet".
"Wenn S/L erreicht ist, wird der nächste Auftrag in der entgegengesetzten Richtung eröffnet"
//---------------------------------------------------
Grund der Beschwerde: