Ich schreibe kostenlos einen Ratgeber - Seite 102

 
Hallo :
Kann ein EA schwebende Aufträge zu geschlossenen Auftragspreisen öffnen?
 
Anton Yakovlev:
Wenn Sie eine gute Strategie haben und bereit sind, sie zu teilen, kann ich einen EA schreiben.


Wie kann ich meinem EA eine saldo-abhängige offene Ordergröße hinzufügen?

z.B..

100 $ Los 0,05
200 $ Los 0,1
500 $ Los 0,25
1000 $ Los 0,5
$1200 Los 0.6
$1500 Los 0,75
$2000 Los 1.0
$3000 Los 1.5
$5000 Los 2.5
10000 $ Los 5

 
liljon:


Wie kann ich dem EA eine bilanzabhängige Ordergröße hinzufügen?

z.B.

$100 Los 0,05
$200 Los 0,1
$500 Los 0,25
$1000 Los 0.5
$1200 Los 0,6
$1500 Los 0,75
$2000 Los 1,0
$3000 Los 1,5
$5000 Los 2,5
$10000 Los 5

Sie können einen Prozentsatz des Saldos angeben, z. B. Percent=5:

double One_Lot=MarketInfo(Symbol(),MODE_MARGINREQUIRED);//Wert. 1 Los

double Min_Lot=MarketInfo(Symbol(),MODE_MINLOT);//Min. Losgröße

double Step =MarketInfo(Symbol(),MODE_LOTSTEP);// Größe der Schrittänderung

double Free =AccountFreeMargin();

Lose=MathFloor(Free*Percent/100/One_Lot/Step)*Step;

if (Lose<Min_Lot) Lose=Min_Lot;

 
kim9622:
Hallo zusammen.
Es gibt mehrere Charts auf MT4 (3-6, können verschiedene Währungspaare sein), jeder mit seinem eigenen EA.

Aufgabe:
Es liegen keine offenen Aufträge vor. Beim Eröffnen von Aufträgen durch einen beliebigen EA (1 oder 2, vorzugsweise durch Auswahl der Menge) sollten alle anderen EAs den automatischen Handel deaktivieren. Nachdem alle offenen Aufträge geschlossen wurden, sollte der automatische Handel für alle anderen Expert Advisors aktiviert werden. Wenn die Bedingungen maximal 2 EAs zulassen, dann beginnt der automatische Handel für alle deaktivierten EAs, wenn einer der 2 (oder beide) ihre Aufträge schließen.
Bitte beraten Sie mich, wie ich dieses Problem lösen kann. Vielleicht gibt es bereits eine ähnliche Software.

kann über globale Variablen gelöst werden
und jeder laufende EA muss im Code entsprechend geändert werden

Ein Beispiel: Wenn ein Auftrag auf dem Markt vorliegt, wird eine globale Variable aktiviert,

jeder EA, der dies sieht, handelt nicht
 

Hallo zusammen!

Irgendjemand da draußen, der einen einfachen Nicht-Syndikator EA schreiben kann! ?

 
volodymyr67:

Hallo zusammen!

Irgendjemand da draußen, der einen einfachen Nicht-Syndikator EA schreiben kann! ?

Kein Problem! Ein EA eröffnet entweder eine BUY- oder SELL-Position mit einem bestimmten Volumen:

//+------------------------------------------------------------------+
//|                                            Open One Position.mq5 |
//|                              Copyright © 2018, Vladimir Karputov |
//|                                           http://wmua.ru/slesar/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2018, Vladimir Karputov"
#property link      "http://wmua.ru/slesar/"
#property version   "1.001"
//---
#include <Trade\Trade.mqh>
#include <Trade\SymbolInfo.mqh>  
CTrade         m_trade;                      // trading object
CSymbolInfo    m_symbol;                     // symbol info object
//--- input parameters
input double               InpLots     = 10.0;              // Lots
input ENUM_POSITION_TYPE   InpPosType  = POSITION_TYPE_BUY; // Open position 
input ulong                InpMagic    = 208060783;         // Magic number
//---
ulong  ExtSlippage=10;                // Slippage
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   m_trade.SetExpertMagicNumber(InpMagic);
   m_trade.SetMarginMode();
   m_trade.SetTypeFillingBySymbol(m_symbol.Name());
   m_trade.SetDeviationInPoints(ExtSlippage);
//---
   if(InpPosType==POSITION_TYPE_BUY)
      m_trade.Buy(InpLots);
   else if(InpPosType==POSITION_TYPE_SELL)
      m_trade.Sell(InpLots);
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---

  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---

  }
//+------------------------------------------------------------------+
//| TradeTransaction function                                        |
//+------------------------------------------------------------------+
void OnTradeTransaction(const MqlTradeTransaction &trans,
                        const MqlTradeRequest &request,
                        const MqlTradeResult &result)
  {
//---

  }
//+------------------------------------------------------------------+
Dateien:
 

Ich bin bereit, eine symbolische Summe von einpaar hundert Rubel zu zahlen.


Der Expert Advisor eröffnet nur dann2 unterschiedlich gerichtete Aufträge gleichzeitig(einen für jedes Währungspaar), wenn der angegebene Spread fürBEIDE Paare niedriger oder gleich dem in den Einstellungen für beide Währungspaare angegebenen Spread ist. Wenn die Bedingung für ein Währungspaar funktioniert hat, für das andere aber nicht, wirdNIRGENDWANN GEÖFFNET.

Er eröffnet keine neuen Aufträge, nachdem die Aufträge eröffnet wurden, sondern wartet nur auf den Gesamtgewinn von zwei Aufträgen, die in den Robotereinstellungen angegeben sind. ES WERDEN IMMERNUR 2 UNTERSCHIEDLICH GERICHTETE AUFTRÄGE GEÖFFNET

Nachdem die Aufträge geschlossen wurden, überwacht der Roboter erneut die Spreads der beiden Währungspaare und eröffnet erneut, wenn der Spreadbereits niedriger oder gleich dem in den Einstellungen angegebenen Spread ist.

Wenn Sie in der Lage sind, die Laufzeit festzulegen (beginnend am Dienstag 00-00 und endend am Donnerstag 23-59), wäre das großartig.

So funktioniert es:Der EAöffnet(wenn der erforderliche Spread für beide Paare erscheint)eine Kauforder, die zweite verkauft (oder umgekehrt, das ist nicht wichtig), wartet auf den Gewinn, schließt dann beide Orders und startet neu. Wenn zwei Orders offen sind, werden keine neuen Orders geöffnet. Der Expert Advisor wartet auf den in den Einstellungen festgelegten Gewinn.


Unabhängig davon, auf welches Währungspaar der Advisor eingestellt ist, funktioniert er nur mit den beiden in seinen Einstellungen angegebenen Währungspaaren:

Parameter:

1. der Name des ersten Währungspaares (EURUSD)

2. das Lot für das erste Paar (0,1)

3. der Ordertyp für das erste Paar (Buy)

4. Mindestspread für den ersten In PIPS 5. bei dem der Expert Advisor auslöst (2)

5. Name des zweiten Währungspaares (GBPUSD)

6. Los zwei (0.1)

7. Art der zweiten Order (Sell)

8. Mindestspread für die zweite In PIPSAH 5 Zeichen, bei dem der Advisor auslöst (2)

9. Gesamtgewinn beider Paare in derEinzahlungswährung(oder in Prozent, wenn das einfacher ist), um beide Aufträge auf einmal zu schließen

10. Handelsbeginn Dienstag 00-00

11. Schließungszeit Donnerstag 23-59

 
Vladimir Karputov:

Vorsicht! Der Expert Advisor eröffnet entweder eine KAUF- oder VERKAUFS-Position mit einem bestimmten Volumen:

Vielen Dank für die Schnelligkeit!

Aber ich brauche es, um eine Bestellung auf einem Bar Eröffnung zu öffnen, nahm einen Gewinn und wartete auf die Eröffnung eines neuen bar.

Dateien:
image.png  68 kb
 

Hallo liebe Programmierer, ich bitte Sie , einen EA zu schreiben, der auf dem Indikator basiert, um einen Auftrag zu öffnen, aber es gibt einen Haken-22, wir brauchen, dass der EA einen Auftrag nicht nur auf dem Signalindikator, sondern auch zu bestimmten Zeiten öffnen würde (zum Beispiel, wenn der Indikator ein Signal zu Beginn der Bildung der Kerze gab, sagen wir von 15:00 bis 15:01, dann wird dieses Signal als gültig angesehen und der EA öffnet den Auftrag) (wenn der Signalindikator 15:02 erhielt, dann ist das Signal NICHT gültig und der Rat öffnet den Auftrag nicht)

 
Gute Zeit, liebe Programmierer! Wären Sie so freundlich, einen EA für diesen Indikator zu schreiben? Der Expert Advisor öffnet eine Order auf ein Signal des Pfeils, d.h. auf die nächste Kerze, die Ausführungszeit der Order ist eine Kerze, d.h. sie öffnet und schließt auf die nächste Kerze. Der Stopp ist nicht notwendig. Und alleIndikatoreinstellungen wurden im EA platziert. Vielen Dank im Voraus!
Dateien: