Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 6. - Seite 802
![MQL5 - Sprache von Handelsstrategien, eingebaut ins Kundenterminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
ChartFirst
Gibt die Kennung der ersten Karte des Client-Terminals zurück.
Ich verstehe, dass dies das Diagramm ganz links ist.
Leider ist das nicht der Fall, aber es ist leicht zu überprüfen:
1. Öffnen Sie 2-3 Währungspaare im Terminal
2. Führen Sie den Code aus, um ihn zu überprüfen:
Ich habe den vagen Verdacht, dass dem nicht so ist. Ich schreibe morgen zurück, ich bin jetzt bei der Arbeit.
Wer weiß, ob es möglich ist, den TakeProfit einer offenen Order in die Minuszone zu ändern, wenn der Handel in der Minuszone ist?
Während ich auf eine Antwort wartete, suchte und fand ich etwas und machte dies. Wird es richtig angezeigt? Es ist Sonntag und ich möchte nicht bis Mitternacht warten, um herauszufinden, ob ich es richtig geschrieben habe.
symbol = Symbol();
double bid =MarketInfo(symbol,MODE_BID); // Запрос значения Bid
double ask =MarketInfo(symbol,MODE_ASK); // Запрос значения Ask
double point =MarketInfo(symbol,MODE_POINT);//Запрос Point
double value =MarketInfo(OrderSymbol(), MODE_TICKVALUE);// Размер минимального изменения цены инструмента в валюте депозита
double stoplevel = MarketInfo(symbol,MODE_STOPLEVEL);
double digits = MarketInfo(symbol,MODE_DIGITS);
if( bid<= stoploss1||step1 == 0)
{
step1++;
stoplevel= NormalizeDouble(stoplevel*point,digits);
stoploss1 = ask-stoplevel;
takeprofit1 = ask+stoplevel;
double profit =0.5;
double takeprofit2= profit * point * value * lot1 + bid;
takeprofit2 = NormalizeDouble(takeprofit2,digits);
if (takeprofit2 > takeprofit1)
takeprofit1 = takeprofit2;
Während ich auf eine Antwort wartete, suchte und fand ich etwas und machte dies. Wird es richtig angezeigt? Es ist Sonntag und ich möchte nicht bis Mitternacht warten, um herauszufinden, ob ich es richtig geschrieben habe.
symbol = Symbol();
double bid =MarketInfo(symbol,MODE_BID); // Запрос значения Bid
double ask =MarketInfo(symbol,MODE_ASK); // Запрос значения Ask
double point =MarketInfo(symbol,MODE_POINT);//Запрос Point
double value =MarketInfo(OrderSymbol(), MODE_TICKVALUE);// Размер минимального изменения цены инструмента в валюте депозита
double stoplevel = MarketInfo(symbol,MODE_STOPLEVEL);
double digits = MarketInfo(symbol,MODE_DIGITS);
if( bid<= stoploss1||step1 == 0)
{
step1++;
stoplevel= NormalizeDouble(stoplevel*point,digits);
stoploss1 = ask-stoplevel;
takeprofit1 = ask+stoplevel;
double profit =0.5;
double takeprofit2= profit * point * value * lot1 + bid;
takeprofit2 = NormalizeDouble(takeprofit2,digits);
if (takeprofit2 > takeprofit1)
takeprofit1 = takeprofit2;
Ist das nicht einfacher?
.
Ich werde dieses Programm nicht nur für den Handel, sondern auch für die Analyse der Historie verwenden. Ich muss berechnen, wie viele Aufträge für die gewünschten Parameter in einem bestimmten Zeitraum offen waren. also muss alles manuell berechnet werden
https://www.mql5.com/ru/forum/351
.