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

 
GSB:

Nein, wenn Sie int Schlupf zuerst setzen, wird es 4 Bytes zuweisen, so müssen Sie bis zu 8 (int Reserve) oder verwenden Sie long anstelle von int addieren


Hier gibt es noch einen weiteren seltsamen Moment. Wenn es sich um ein Element einer Zeichenkettenstruktur handelt und die Anzahl der variablen Zeichen dieses Zeichenkettentyps mehr als 7 beträgt, wird es dann über den anderen platziert? Schließlich haben Zeichenketten immer ein Nullzeichen \n am Ende der Zeichenkette, und wenn die Zeichenkette mehr als 7 Elemente enthält, z. B. 8 Elemente, dann hat die Zeichenkette 8 + 1 Byte, weil 8 + \n. Oder?
 
GSB:

129 Fehler auftritt, wenn der Preis Zeit hat, sich zu ändern, bevor das DC Ihren Auftrag ausführt, verwenden Sie einen größeren Slippage.


Die Slippage beträgt 50 alte Pips, der Preis nach dem Komma hat 5 oder 4 Stellen, manchmal sind es 12 oder 16. Ich teste es auf der Demo.
 
Example2:


Nein, nicht in der Testversion, nur in einem Demokonto.

Habe deinen Beitrag schon bemerkt und meinen gelöscht - habe ihn von der letzten Seite geschrieben. Ohne den Code ist es schwer, Ihnen etwas Genaues zu sagen.
 
artmedia70:
Habe Ihren Beitrag bereits bemerkt und meinen gelöscht - habe ihn von der letzten Seite aus geschrieben. Ohne den Code ist es schwer, Ihnen etwas Genaues zu sagen.


Soll ich sie Ihnen im Forum oder privat zuschicken?
 
Example2:

Soll ich es im Forum oder persönlich bekannt geben?
Bitte stellen Sie es ins Forum, wenn Sie nichts dagegen haben. Jemand wird sie korrigieren. Ich krabble schon ins Bett - es ist 5:30 Uhr morgens, das Pferd ist noch wach...
 
Ich gehe jetzt auch ins Bett.
Dateien:
 
     USDCADAsk = MarketInfo("USDCAD",MODE_ASK);            
     USDCADBid = MarketInfo("USDCAD",MODE_BID);

     Comment("USDCADAsk = "+DoubleToStr(USDCADAsk,нужный диджитлс),"\n",
             "USDCADBid = "+DoubleToStr(USDCADBid,нужный диджитлс));
 
hoz:

Hier gibt es noch einen weiteren seltsamen Moment. Wenn es ein Element der Struktur vom Typ String gibt und die Anzahl der variablen Zeichen dieses Elements mehr als 7 beträgt, wird es dann über den anderen platziert? Schließlich haben Zeichenketten immer ein Null-Zeichen \n am Ende der Zeichenkette, und wenn die Zeichenkette mehr als 7 Elemente enthält, z. B. 8 Elemente, dann hat die Zeichenkette 8 + 1 Byte, weil 8 + \n. Oder?

Wenn die Struktur Variablen vom Typ String und/oder dynamisches Array-Objekt enthält, weist der Compiler einer solchen Struktur einen impliziten Konstruktor zu, in dem alle Mitglieder des StrukturtypsStringauf Null gesetzt werden und eine korrekte Initialisierung für das Objekt des dynamischen Arraysdurchgeführt wird.

 
Example2:

Ich schlafe auch.

Beigefügte Dateien:
Kuklovod_USD_1.1.mq4


So unaufmerksam kann man keinen Code schreiben :)

Zuerst Comment("USDCADAsk = ",USDCADAsk); dann USDCADAsk = DoubleToString(MarketInfo("USDCAD",MODE_ASK),usdcaddigits); USDCADAsk ist als Double deklariert, aber Sie geben einen String ein,

und dann wieder Ziffern....^) und Punkt

Sie müssen selbst nach solchen Fehlern suchen, niemand wird sie für Sie beheben, auch der Handel nicht! Der Compiler erzeugt 28 Fehler und Sie setzen die Demo in den Handel ein. Sie wünschen sich vielleicht, Sie würden echtes Geld verwenden, aber der Markt hätte Sie korrigiert!

 if (USDCHF){while(IsTradeContextBusy()){Sleep(10);}
                    RefreshRates();
                    Result[1] = OrderSend("USDCHF",OP_BUY,Lot,USDCHFAsk,slip,USDCHFAsk-NormalizeDouble(sl*Point,Digits),USDCHFAsk+NormalizeDouble(tp*Point,Digits),"USDCHF",magic[0],0,Red);
                    if (Result[1] < 0){Alert("Функция OpenOrders ","\n","Валютная пара "+"USDCHF","\n",
                    "Команда: открыть ордер Sell","\n", "Ответ сервера: " ,errors(GetLastError()) );}}
        if (USDJPY){while(IsTradeContextBusy()){Sleep(10);}
                    RefreshRates();
                    Result[2] = OrderSend("USDJPY",OP_BUY,Lot,USDJPYAsk,slip,USDJPYAsk-NormalizeDouble(sl*Point,Digits),USDJPYAsk+NormalizeDouble(tp*Point,Digits),"USDJPY",magic[0],0,Red);
                    if (Result[2] < 0){Alert("Функция OpenOrders ","\n","Валютная пара "+"USDJPY","\n", 
                    "Команда: открыть ордер Sell","\n", "Ответ сервера: " ,errors(GetLastError()) );}}

Wem gehört das Bieten und Fordern?

//-----------

void CloseOrders(){
      for (int i = OrdersTotal()-1; i>=0; i--){
         if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){
             if (OrderMagicNumber() == magic[0]){
               if (USDBuySl || USDBuyTp){
                 while(IsTradeContextBusy()){Sleep(10);}
                 RefreshRates();
                 OrderClose(OrderTicket(),OrderLots(),Bid,slip,Blue);
               }
             }
   .................
        OrderClose(OrderTicket(),OrderLots(),Ask,slip,Blue);


Richtig

RefreshRates();
double bid=MarketInfo(OrderSymbol(),MODE_BID);
double ask=MarketInfo(OrderSymbol(),MODE_ASK);
OrderClose(OrderTicket(),OrderLots(),bid,slip,Blue);
.............
OrderClose(OrderTicket(),OrderLots(),ask,slip,Blue);
 
Helfen Sie mir , den maximalen Wert des Indikators N für den Vortag zu finden, ich erhalte Daten durch iCustom und dann ein Deadlock. Ich denke, es ist durch ArrayMaximum getan , aber wie man den Wert
finden .

Ich weiß nicht, was iCustom tun soll, mir fallen keine anderen Möglichkeiten ein.