Ich schreibe kostenlos einen Ratgeber - Seite 162

 
SanAlex #:

Die Funktion ist dem Code vonVladimir Karputov entnommen

Ich danke Ihnen! Jetzt werde ich es versuchen

 

Hallo Liebe Programmierer, ich bitteeuchwirklich, einen EA zu schreiben, der auf dem Indikator basiert. Der Indikator zieht nicht, und das ist das Wichtigste. Sie zeigt gute Ergebnisse. Es hat zwei Betriebsarten. Das erste Signal, wenn eine Raute erscheint, sollte eine Position eröffnen, während das umgekehrte Signal den Auftrag schließt und in umgekehrter Richtung eröffnet. Der zweite Modus sollte einen festen Take Profit und Stop haben.


<*.ex* Datei wurde gelöscht

Как самому создать советника или индикатор - Алгоритмический трейдинг, торговые роботы - Справка по MetaTrader 5
Как самому создать советника или индикатор - Алгоритмический трейдинг, торговые роботы - Справка по MetaTrader 5
  • www.metatrader5.com
Для разработки торговых систем в платформу встроен собственный язык программирования MetaQuotes Language 5 ( MQL5 ), среда разработки MetaEditor и...
Dateien:
 
SanAlex #:

Die Funktion ist dem Code vonVladimir Karputov entnommen

Auf einen Blick sollten die gegenüberliegenden Positionen an den Öffnungspositionen geschlossen werden:

//--- open position
         if(m_trade.PositionOpen(Symbol(),ORDER_TYPE_BUY,InpLots,priceAsk,0.0,tpAsk))
{
            printf("Position by %s to be opened",Symbol());
            ClosePositions(POSITION_TYPE_SELL);

}
else
...
 
Maksim Sovenko #:

Bei einer groben Schätzung der offenen Positionen müssen Sie die gegenüberliegenden Positionen schließen:

Sie haben 10 offene Positionen in SELL und 10 Positionen in BUY und müssen nur die BUY-Positionen schließen. Das hat er auch gefragt. Und was Sie uns sagen, hat durchaus seine Berechtigung, wenn das die Logik ist, die Sie suchen.

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

Aber vielleicht habe ich das falsch verstanden. Wenn er nichts sagt, hat er es verstanden!

 
Guten Tag und alles Gute zur Taufe. Ich habe versucht, zwei weitere Zeilen hinzuzufügen, aber wenn ich sie kompiliere, erhalte ich null Fehler und der Indikator wird nicht mehr im Diagramm angezeigt. Ich habe auch versucht, eine Kontraktion oder Expansion zwischen den Zeilen in den Parameter Shift hinzufügen, wenn Null ist alles in Ordnung, wenn Sie 1 Indikator setzen beginnt zu hängen und dann werden die Zeilen erweitert, können Sie den Parameter für die Expansion zwischen den Zeilen verantwortlich machen könnte eine Dezimalzahl durch ein Komma getrennt eingeben, wie 0,78. Vielen Dank im Voraus.
Dateien:
 
Hallo liebe Programmierer. Könnten Sie einen EA oder besser einen Indikator für MT4 schreiben? Ich möchte, dass es zwei Candlesticks findet, die notwendigerweise mit demselben High oder Low hintereinander liegen. Und wenn Sie einen Alarm mit einem Tonsignal und einer Meldung auf dem Bildschirm hinzufügen können, von welchem Währungspaar ein Signal kam. Ich danke Ihnen vielmals.
Dateien:
41.png  218 kb
44.png  194 kb
 
acya13 #:
Hallo, liebe Programmierer. Könnten Sie einen EA oder besser einen Indikator für MT4 schreiben? Ich möchte, dass es zwei Candlesticks findet, die mit demselben Hoch oder Tief aufeinander folgen. Und wenn Sie einen Alarm mit einem Tonsignal und einer Meldung auf dem Bildschirm hinzufügen können, von welchem Währungspaar ein Signal kam. Ich danke Ihnen vielmals.

Hallo. Wird der Indikator in jedes Instrument einzeln eingebaut? Oder kann die Liste der zu überwachenden Währungspaare in den Parametern festgelegt werden?

Und eine Frage zur TF. Wird dies in den Einstellungen behoben?

 
Hallo. Wenn Sie die Möglichkeit haben, wäre es wünschenswert, sie in jedem Instrument separat zu installieren. Die zweite Frage verstehe ich nicht ganz. Wenn Sie meinen, dass Sie den Indikator anpassen möchten, müssen Sie dies nicht gemäß dem System tun. Sie können es so machen, wie Sie wollen.
 
Nachmittags. Kann ich einen Advisor schreiben, der den automatischen Handel im MT4-Terminal für alle gehandelten Paare bei einem bestimmten Drawdown deaktivieren würde? Vielen Dank dafür.
 
gorbenko85 #:
Hallo. Kann ich einen EA schreiben, der das Autotrading im MT4-Terminal für alle gehandelten Paare bei einem bestimmten Drawdown deaktivieren würde? Vielen Dank dafür.

hier - aber es ist einfacher, in Ihrem EA - ExpertRemove() hinzuzufügen;

Funktion (Tastendruck) wird von diesem Code übernommenhttps://www.mql5.com/ru/code/8567

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

Sie müssen die .dll zulassen, damit sie funktioniert

Bildschirmfoto 2022-02-07 105001

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

Nein, es ist besser, die .dll nicht zuzulassen - aber in den Einstellungen des Expert Advisors die .dll zuzulassen und den EA zum Handel zuzulassen

Bildschirmfoto 2022-02-07 105956

//+------------------------------------------------------------------+
//|                                                    Stop Avto.mq4 |
//|                        Copyright 2021, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2021, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict
//----
#include <WinUser32.mqh>

#define  PAUSE 10
#define  VK_MENU 0x12 //ALT key
#define  VK_CONTROL 0x11 //CTRL key
//----
input double InpSLossAll = 1000000; // ALL Stop Loss --> (In currency the amount)
//---
int     CtrlAlt=0; // 0 - Ctrl, 1 - Alt
string  Key="E";   // Key
//---
double PROFIT_CLOSE=0.00;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   PROFIT_CLOSE=AccountInfoDouble(ACCOUNT_PROFIT);
//---
   if(PROFIT_CLOSE<=-InpSLossAll)
     {
      VK_XXXX(CtrlAlt,Key);
      ExpertRemove();
      PlaySound("expert.wav");
     }
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void VK_XXXX(int ctrlalts,string keys)
  {
   int FirstKey=VK_CONTROL;
   if(ctrlalts==1)
      FirstKey=VK_MENU;
   int SecondKey=StringGetChar(keys,0);
   keybd_event(FirstKey,0,0,0);
   Sleep(PAUSE);
   keybd_event(SecondKey,0,0,0);
   Sleep(PAUSE);
   keybd_event(SecondKey,0,2,0);
   Sleep(PAUSE);
   keybd_event(FirstKey,0,2,0);
  }
//+------------------------------------------------------------------+

ind_HotKeys_v1
ind_HotKeys_v1
  • www.mql5.com
Пример автоматического запуска скрипта при смене таймфрейма или символа