Fehler, Irrtümer, Fragen - Seite 2734

 
Die Tests müssen korrekt und sehr sorgfältig durchgeführt werden.

Plus reproduzierbar. Außerdem kommt es nicht in Frage, die DLL eines anderen Herstellers zu verwenden, ohne sie selbst aus dem Quellcode zu kompilieren.
 

Guten Tag zusammen, ich habe eine Frage zu folgendem Thema

Ich bin ein Anfänger, vielleicht kann mir jemand erklären

Ich habe ein Demokonto bei verschiedenen Händlern, nicht nur in Russland, eröffnet und bin auf ein Problem gestoßen: Ich kann keine Lose auf dem Markt platzieren, d.h. ich kann nur zum Marktpreis handeln! Ich kann nur Lose zum Marktpreis anbieten!

Wahrscheinlich weiß ich etwas nicht!

Ich kann überall durch den Markt gehen und sie nehmen meine Bestellung trotzdem an. Aber das kann ich mit Forex-Terminals nicht, ich kann nur zum Marktpreis mit einem riesigen Spread kaufen!

Документация по MQL5: Константы, перечисления и структуры / Состояние окружения / Информация о счете
Документация по MQL5: Константы, перечисления и структуры / Состояние окружения / Информация о счете
  • www.mql5.com
, то позиции по каждому символу разрешается закрывать только в том порядке, в котором они были открыты — сначала самую старую, затем более новую и т.д. При попытке закрыть позиции в ином порядке будет получена ошибка. Уровень залоговых средств, при достижении которого происходит принудительное закрытие самой убыточной позиции (Stop Out...
 
die Website funktioniert nicht
 
Vladimir Pastushak:
der psc der Website funktioniert nicht
.
 
Alexey Viktorov:
.

Es funktioniert jetzt.

 
Renat Fatkhullin:
Die Tests müssen ordnungsgemäß und sehr sorgfältig durchgeführt werden.

Es waren keine Tests geplant, sondern nur eine Kapazitätsbewertung.

OK, betrachten wir, dass in dieser blumigen Art und Weise, Sie abgelehnt haben, bot ich die VS Quellen oben

 

Guten Tag!

Nachlaufende Funktion.

Können Sie mir sagen, was damit nicht stimmt, ich erhalte im Strategietester die Fehlermeldung 4756. Wenn Sie es im Skript ausführen, funktioniert es.

int Tralling(int PointsTral=200)
  {
   MqlTradeRequest Request;
   MqlTradeResult Result;
   int PosTot, i, digits;
   string Symbols[]= {""};
   double SymbPt,sl,tp,
          PriceOpen[]= {0};
   i=0;
   PosTot= PositionsTotal();
   if(PosTot>0)
     {
      while(i<PosTot)
        {
         Symbols[i] = PositionGetSymbol(i);
         digits=(int)SymbolInfoInteger(Symbols[i],SYMBOL_DIGITS);
         if(PositionSelect(Symbols[i]))
           {
            PriceOpen[i] = PositionGetDouble(POSITION_PRICE_OPEN);
            SymbPt = SymbolInfoDouble(Symbols[i],SYMBOL_POINT);
            if(PositionGetInteger(POSITION_TYPE) == 0)
              {
               if(SymbolInfoDouble(Symbols[i],SYMBOL_BID) >= PriceOpen[i]+(SymbPt*PointsTral))
                 {
                  if(SymbolInfoDouble(Symbols[i],SYMBOL_BID)>PositionGetDouble(POSITION_SL)+(SymbPt*PointsTral))
                    {
                     sl=SymbolInfoDouble(Symbols[i],SYMBOL_BID)-(SymbPt*PointsTral);
                     tp=PositionGetDouble(POSITION_TP);
                     Request.action=TRADE_ACTION_SLTP;
                     Request.symbol = Symbols[i];
                     Request.sl=NormalizeDouble(sl,digits);
                     Request.tp=NormalizeDouble(tp,digits);
                     Request.position=PositionGetInteger(POSITION_TICKET);
                     if(!OrderSend(Request,Result))
                        Alert("Ошибка Треллинга ",GetLastError());
                    }
                 }
              }

            if(PositionGetInteger(POSITION_TYPE) == 1)
              {
               if(SymbolInfoDouble(Symbols[i],SYMBOL_ASK) <= PriceOpen[i]-(SymbPt*PointsTral))
                 {
                  if(SymbolInfoDouble(Symbols[i],SYMBOL_ASK)<PositionGetDouble(POSITION_SL)-(SymbPt*PointsTral))
                    {
                     sl=SymbolInfoDouble(Symbols[i],SYMBOL_ASK)+(SymbPt*PointsTral);
                     tp=PositionGetDouble(POSITION_TP);
                     Request.action=TRADE_ACTION_SLTP;
                     Request.symbol = Symbols[i];
                     Request.sl=NormalizeDouble(sl,digits);
                     Request.tp=NormalizeDouble(tp,digits);
                     Request.position=PositionGetInteger(POSITION_TICKET);
                     if(!OrderSend(Request,Result))
                        Alert("Ошибка Треллинга ",GetLastError());
                    }
                 }
              }

           }
         else
           {
            Alert("Не удалось выделить оредер по символу. ", Symbols[i], " Ошибка ", GetLastError());
           }
         i++;
        }
     }
   return (1);
  }

Документация по MQL5: Константы, перечисления и структуры / Торговые константы / Свойства позиций
Документация по MQL5: Константы, перечисления и структуры / Торговые константы / Свойства позиций
  • www.mql5.com
Тикет позиции. Уникальное число, которое присваивается каждой вновь открытой позиции. Как правило, соответствует тикету ордера, в результате которого она была открыта, за исключением случаев изменения тикета в результате служебных операций на сервере. Например, начисления свопов переоткрытием позиции. Для нахождения ордера, которым была открыта...
 

Guten Tag!

Ich kann den Fehler nicht finden. Es ist eine Tralling-Haltestelle. Wenn ich es mit dem Skript in das Diagramm einfüge, funktioniert es. Im Strategietester wird der Fehler 4756 (Senden an den Server nicht möglich) zurückgegeben.

Bitte helfen Sie mir!

int Tralling(int PointsTral=200)
  {
   MqlTradeRequest Reques;
   MqlTradeResult Result;
   int PosTot, i, digits;
   string Symbols;
   double SymbPt,sl,tp,
          PriceOpen;
   i=0;
   PosTot= PositionsTotal();
   if(PosTot>0)
     {
      while(i<PosTot)
        {
         Symbols = PositionGetSymbol(i);
         digits=(int)SymbolInfoInteger(Symbols,SYMBOL_DIGITS);
         if(PositionSelect(Symbols))
           {
            PriceOpen = PositionGetDouble(POSITION_PRICE_OPEN);
            SymbPt = SymbolInfoDouble(Symbols,SYMBOL_POINT);
            if(PositionGetInteger(POSITION_TYPE) == 0)
              {
               if(SymbolInfoDouble(Symbols,SYMBOL_BID) >= PriceOpen+(SymbPt*PointsTral))
                 {
                  if(SymbolInfoDouble(Symbols,SYMBOL_BID)>PositionGetDouble(POSITION_SL)+(SymbPt*PointsTral))
                    {
                     sl=SymbolInfoDouble(Symbols,SYMBOL_BID)-(SymbPt*PointsTral);
                     tp=PositionGetDouble(POSITION_TP);
                     Reques.action=TRADE_ACTION_SLTP;
                     Reques.symbol = Symbols;
                     Reques.position=PositionGetInteger(POSITION_TICKET);
                     Reques.sl=NormalizeDouble(sl,digits);
                     Reques.tp=NormalizeDouble(tp,digits);
                     if(!OrderSend(Reques,Result))
                        Alert("Ошибка Треллинга ",GetLastError());
                    }
                 }
              }

            if(PositionGetInteger(POSITION_TYPE) == 1)
              {
               if(SymbolInfoDouble(Symbols,SYMBOL_ASK) <= PriceOpen-(SymbPt*PointsTral))
                 {
                  if(SymbolInfoDouble(Symbols,SYMBOL_ASK)<PositionGetDouble(POSITION_SL)-(SymbPt*PointsTral))
                    {
                     sl=SymbolInfoDouble(Symbols,SYMBOL_ASK)+(SymbPt*PointsTral);
                     tp=PositionGetDouble(POSITION_TP);
                     Reques.action=TRADE_ACTION_SLTP;
                     Reques.symbol = Symbols;
                     Reques.position=PositionGetInteger(POSITION_TICKET);
                     Reques.sl=NormalizeDouble(sl,digits);
                     Reques.tp=NormalizeDouble(tp,digits);
                     if(!OrderSend(Reques,Result))
                        Alert("Ошибка Треллинга ",GetLastError());
                    }
                 }
              }

           }
         else
           {
            Alert("Не удалось выделить оредер по символу. ", Symbols[i], " Ошибка ", GetLastError());
           }
         i++;
        }
     }

   return (1);
  }
 
Igor Makanu:

Es waren keine Tests geplant, sondern lediglich eine Bewertung der Fähigkeiten

OK, betrachten wir, dass in dieser blumigen Art und Weise, Sie abgelehnt haben, bot ich die VS Quellen oben

Sie haben eine außergewöhnliche Behauptung aufgestellt und sie nicht bewiesen. Es ist auch nicht das erste Mal, dass Sie eine verbotene Dll veröffentlichen.

Ich sehe den Quellcode für die Reproduktion nicht.

 
Renat Fatkhullin:

Sie haben eine außergewöhnliche Behauptung aufgestellt, ohne sie zu beweisen. Außerdem ist es nicht das erste Mal, dass du eine verbotene Dll einstellst.

Ich sehe den Quellcode für die Reproduktion nicht.

Was zeigt die Exklusivität der Aussage? Alles, was ich sehe, ist, dass die Leistungsmessung für das alte Terminal sehr gute Ergebnisse lieferte, imho, wie man sagt - eine gute Sache für die Ewigkeit gemacht.

Ich überprüfte es auf PC heute und bekam die gleichen Ergebnisse wie MT4/MT5, überprüfte es auf dem Laptop wieder, auch ich habe keinen Unterschied gesehen, die hohe Wahrscheinlichkeit, dass im Hintergrund eines Dienstes Win10 "gekaut das Laufwerk", ich habe nicht die Laufzeit auf dem Laptop konfiguriert, Win konfiguriert die Nacht Zeit standardmäßig.

In der Nacht gab es noch den Wunsch zu verstehen, was der Unterschied, heute auf einem Prinzip - lassen Sie es funktionieren, ich sehe nicht den Quellcode nicht sinnvoll, Kommentare zu machen oder schneiden Sie Teile aus, um die Klärung der Situation oder Diskussion zu beginnen, ich will es nicht tun.


Von den Fehlern des neuen Builds:

ist die Information im Terminalprotokoll nicht korrekt:

2020.05.06 19:03:03.895 Terminal Windows 10 build 18363, Intel Core i3 M 380 @ 2.53GHz, 0 / 2 Gb Speicher, 149 / 237 Gb Festplatte, IE 11, UAC, GMT+4

Win free 920 MB von 2,97 GB im Task-Manager, frühere Builds hatten mehr korrekte Systeminformationen