Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 814

 
Igor Makanu:

weil man sich daran gewöhnen muss

Sie können sich auch antrainieren, immer einen Regenschirm zu tragen, weil es regnen könnte. Man kann sich auch an eine andere gewöhnen, aber jeder versteckt sie nach jedem Gebrauch.

 
Alexey Viktorov:

Sie können sich auch angewöhnen, immer mit einem Regenschirm zu gehen, weil es regnen könnte. Man kann sich auch an eine andere gewöhnen, aber jeder versteckt sie nach jedem Gebrauch.

Sollen wir darüber reden?

Nur für den Anfang, hier ist es:

c = a/b;

oder

if(b!=0) c = a/b;

?

ZS: Leider bin ich der einzige in meiner Familie, der keinen Regenschirm hat, ich kann nichts dazu sagen, ich bin immer im Auto unterwegs, ein Regenschirm ist eher hinderlich als hilfreich.

 
Igor Makanu:

Sollen wir darüber reden?

Nur für den Anfang, hier ist es:

c = a/b;

oder

if(b!=0) c = a/b;

?

ZS: leider bin ich der einzige in meiner Familie ohne Regenschirm, ich kann nichts dazu sagen, ich bin immer im Auto unterwegs, ein Regenschirm ist eher hinderlich als hilfreich

Die Antwort war hier.

Forum zum Thema Handel, automatisierte Handelssysteme & Strategietester

Alle MQL4 Anfänger Fragen, Hilfe und Diskussion über Algorithmen und Codes

Andrey Sokolov, 2019.04.20 06:24

Ich bin mir nicht ganz sicher, was hier normalisiert werden soll und warum, wenn es keine mathematischen Operationen gibt?
Was ist mit dem zweiten Beispiel?
 
Alexey Viktorov:

Die Antwort war hier

Was ist mit dem zweiten Beispiel?

Wie erklärt man das Problem... in einem anderen Forum hatte ich eine ähnliche Diskussion zum gleichen Thema, aber dort vertrat ich die Meinung, dass der aktuelle Preis nicht normalisiert werden muss, und die Gegenseite machte Lärm, dass sogar die Bid und Ask normalisiert werden müssen - ich will nicht nachschauen, aber die Meinung der Entwickler war, dass die Serverpreise immer korrekt sind

ok, nicht normalisieren, es liegt an Ihnen.

 
Igor Makanu:

wie das Problem zu erklären ist... in einem anderen Forum hatte ich eine ähnliche Unterhaltung zum selben Thema, aber dort verteidigte ich die Meinung, dass der aktuelle Preis nicht normalisiert werden muss, während mein Gegner lautstark behauptete, dass sogar Bid und Ask normalisiert werden müssen - ich möchte nicht nachschauen, aber die Meinung der Entwickler war, dass die Serverpreise immer korrekt sind

ok, normalisiere es nicht, es liegt an dir

Der laute Gegner hat bei weitem nicht immer Recht. Meiner Meinung nach sollte man sich immer von der Logik leiten lassen und seine eigenen Entscheidungen treffen. Und setzen Sie sich nicht für die eine oder andere Meinung anderer Menschen ein.

 
Alexey Viktorov:

Ein lauter Gegner hat nicht immer Recht. Meiner Meinung nach muss man sich immer von der Logik leiten lassen und seine eigenen Entscheidungen treffen. Und setzen Sie sich nicht für die eine oder andere Meinung anderer Menschen ein.

die Logik ist das Handbuch der Entwickler, ein korrektes Beispiel ist geschrieben, nehmen Sie es und verwenden Siehttps://docs.mql4.com/ru/trading/ordersend

Ich habe keine Informationen über das Format, in dem die Daten an den Server gesendet werden, vielleicht werden die Preise in Textform gesendet?

Ich habe ein Beispiel in der Hilfe, es ist also wahr - wie man in der Armee sagt, leuchtend heißt leuchtend! )))

OrderSend - Торговые функции - Справочник MQL4
OrderSend - Торговые функции - Справочник MQL4
  • docs.mql4.com
[in]  Цвет открывающей стрелки на графике. Если параметр отсутствует или его значение равно CLR_NONE, то открывающая стрелка не отображается на графике. При открытии рыночного ордера (OP_SELL или OP_BUY) в качестве цены открытия могут использоваться только самые последние цены Bid (для продажи) или Ask (для покупки). Если операция проводится по...
 
Igor Makanu:

die Logik - dies ist das Handbuch der Entwickler, ein korrektes Beispiel ist geschrieben, nehmen Sie es und verwenden Siehttps://docs.mql4.com/ru/trading/ordersend

Ich habe keine Informationen über das Format, in dem die Daten an den Server gesendet werden, vielleicht werden die Preise in Textform gesendet?

Ich habe ein Beispiel in Help, es ist also wahr - wie man in der Armee sagt, leuchtend heißt leuchtend! )))

Igor, sehen Sie sich wenigstens ein Beispiel an, bevor Sie anfangen zu argumentieren.

void OnStart()
  {
//--- получим минимальное значение Stop level
   double minstoplevel=MarketInfo(Symbol(),MODE_STOPLEVEL);
   Print("Minimum Stop Level=",minstoplevel," points");
   double price=Ask;
//--- вычисленные значения цен SL и TP должны быть нормализованы
   double stoploss=NormalizeDouble(Bid-minstoplevel*Point,Digits);
   double takeprofit=NormalizeDouble(Bid+minstoplevel*Point,Digits);
//--- размещаем рыночный ордер на покупку 1 лота
   int ticket=OrderSend(Symbol(),OP_BUY,1,price,3,stoploss,takeprofit,"My order",16384,0,clrGreen);
   if(ticket<0)
     {
      Print("OrderSend завершилась с ошибкой #",GetLastError());
     }
   else
      Print("Функция OrderSend успешно выполнена");
//---
  }

In dem Beispiel aus der Dokumentation wird der Preis nämlich nicht ohne mathematische Berechnungen normalisiert. Und in der Armee sagen sie auch: "Hey ihr drei, kommt her, ihr beiden"... aber man sollte niemanden imitieren.

 
Alexey Viktorov:

Igor, du könntest dir wenigstens das Beispiel ansehen, bevor du dich streitest.

In dem Beispiel aus der Dokumentation wird der Preis nämlich nicht ohne mathematische Berechnungen normalisiert. Und in der Armee sagen sie auch: 'Hey, ihr drei, kommt mal her, ihr beiden'... aber man sollte niemanden imitieren.

Ich habe den Preis in meinem Beispiel nicht normalisiert:

ticket_sell=OrderSend(_Symbol, OP_SELL, 0.1, Bid,10,
                     NormalizeDouble(0.0,_Digits),NormalizeDouble(0.0,_Digits), "", 0, 0, clrRed);  

Wenn Sie als Autor des Codes einen Haftbefehl schicken wollen, werde ich Sie nicht belästigen:

ticket_sell=OrderSend(NULL, OP_SELL, 0.1, Bid, 0, 0, 0, "", 0, 0, Red);  
 
Igor Makanu:

Ich habe den Preis in meinem Beispiel nicht normalisiert:

Wenn Sie als Autor des Codes eine Bestellung aufgeben wollen, werde ich Sie nicht belästigen:

Gab es Beispiele dafür, dass der Makler die richtigen Zahlen nicht akzeptiert hat? Ich stelle fest, dass in Video-Tutorials von seriösen Leuten ganze Zahlen in ordersend() gesetzt werden.


Vielleicht ist die andere Sache in diesem Fall ein wenig anders. Ich hatte eine Vergleichsfunktion, die sich irgendwie weigerte, eine Variable vom Typ Double und entweder OrderStoploss() oder OrderTakeProfit() mit denselben Werten als gleich zu akzeptieren, bis ich sie beide normalisierte.

 
Andrey Sokolov:

Gab es Beispiele für korrekte Zahlen, die vom Makler nicht akzeptiert wurden? Ich stelle fest, dass in den Video-Tutorials von seriösen Leuten, die ordersend() auf ganze Zahlen gesetzt ist.

Vielleicht ist die andere Sache in diesem Fall ein wenig anders. Ich hatte eine Vergleichsfunktion, die eine Variable vom Typ double und entweder OrderStoploss() oder OrderTakeProfit() mit demselben Wert nicht akzeptierte, bis ich sie beide normalisierte.

Wahrscheinlich handelt es sich um ein solches Beispiel:

 double x = 5/2;
 Print("x = ",x);

//ответ 
//х = 2.0
  

und das könnte so sein:

 double x = 5.0/2.0;
 Print("x = ",x);

//ответ
//x=2.5

Ich weiß nicht, ob der Server akzeptiert ganze Zahlen, sowie maßgebliche Menschen, habe ich vor langer Zeit selbst eine Bibliothek (korrekt meiner Meinung nach) für die Arbeit mit Bestellungen gebildet, hier ist meine Bibliothekhttps://www.mql5.com/ru/code/24829

In der Datei TradePanel_C#.mqh meine Bibliothek und die Funktion für das Öffnen von Aufträgen OrderSend_(), schreibe ich meine Codes auf diese Weise

TradePanel_Csharp
TradePanel_Csharp
  • www.mql5.com
Торговая панель, которая работает и в Визуализаторе Тестера.Таблица текущих ордеров/позиций.Таблица истории торгов (корректно работает на Хедж-счетах). Использование Ручная торговля в Тестере или вмешивание в работу советника (например, с целью проверки устойчивости ко внешним факторам).Ручная торговля в Терминале на демо/реальных...
Grund der Beschwerde: