Diskussion über die Einführung von Ratsmitgliedern. - Seite 7

 
Hallo Kollegen, wer ist in der Lage, einen EA auf der Grundlage von 2 Indikatoren, die öffnen und schließen würde Transaktionen bei Kreuzungen, siehe Foto, ich habe es selbst versucht, aber es hat nicht funktioniert(((((
 
katrina87:
Hallo Kollegen, ich habe eine sehr große Anfrage für jemanden, der einen Berater auf der Grundlage von 2 Indikatoren, die öffnen und schließen Trades bei Kreuzungen würde erstellen kann, siehe das Bild, ich habe es selbst versucht, aber nichts kam heraus(((((

Ich selbst habe es nicht benutzt. Ich habe es gerade in einer Kodobase gesehen. Probieren Sie es aus, vielleicht klappt es ja bei Ihnen. Übrigens gibt es noch mehr solcher Berater in kodobase. Sie können die Website, die Sie betrachten, googeln. https://www.mql5.com/ru/code/12375

Советник на основе отскока от границы канала МА
Советник на основе отскока от границы канала МА
  • www.mql5.com
Для торговли используются показания индикатора Moving Average. Если цена отклонилась от линии Moving Average на определенное количество пунктов, то выставляется ордер в сторону линии Moving Average. Советник может приносить прибыль, но она получается маленькой. Также для него требуется большой депозит. На рисунке сплошная красная линия —...
 
Hallo, ich würde gerne einen Trading-Roboter schreiben, die Idee ist einfach und genial. Für den Anfang brauche ich einen Widerstand Unterstützung Ebenen Indikator für die Ausgabe der Stärke dieser sehr Ebenen zum Beispiel: hoch Mitte niedrig. irgendwelche Vorschläge? danke Ihnen allen im Voraus.
 
paradisehell1:
Hallo, ich möchte einen Handelsroboter schreiben, die Idee ist einfach und genial. Für den Anfang brauche ich einen Widerstand Unterstützung Ebenen Indikator zur Anzeige der Stärke dieser sehr Ebenen, zum Beispiel: hoch Mitte niedrig. irgendwelche Vorschläge?

Die Freiberuflichkeit wird den Giganten des Denkens und Vater der russischen Demokratie retten.

 
paradisehell1:
Hallo, ich möchte einen Handelsroboter schreiben, die Idee ist einfach und genial. Wenn ich zum Beispiel einen Forex-Roboter verwenden wollte, müsste ich nach einem Indikator für Unterstützungsniveaus suchen, der die Stärke der Unterstützungs- und Widerstandsniveaus anzeigt, wie hoch, mittel und niedrig.

Es ist nicht offensichtlich, dass diese Idee brillant ist. Deshalb gibt es auch keine Motivation. Ich kann nicht für andere sprechen, aber irgendetwas sagt mir, dass es bei ihnen genauso ist. Sie können es so aussehen lassen. Sie können möglicherweise nicht in der Lage sein, manuell auf der Demo oder real zu handeln, zumindest für ein paar Monate. Wie viel % haben Sie in einem Monat verdient, wie hoch war die Marge und wie hoch der Drawdown. Wenn die Indikatoren interessant sind, können Sie leicht jemanden finden, der sie kostenlos schreibt. Sie können aber in kodobe nach etwas suchen. Übrigens ist die Arbeit der Programmierer auf dieser Website sehr billig.

 
Hallo! Ich bin mir fast zu 100 % sicher, dass meine Frage schon viele Male gestellt worden ist. Ich wäre also sehr dankbar, wenn mir jemand sagen könnte, wo ich suchen soll. Meine Frage ist - wie kann ich in meinem Expert Advisor die Möglichkeit implementieren, den Handel zu beenden, wenn ein bestimmter Gewinn erreicht ist? Angenommen, der Gewinn beträgt 200 Dollar - das war's, wir handeln heute nicht.
 
altec3:
Hallo! Ich bin mir fast zu 100% sicher, dass meine Frage bereits mehrfach gestellt wurde. Ich wäre also sehr dankbar, wenn mir jemand sagen könnte, wo ich danach suchen kann. Frage - wie kann man in einem EA die Fähigkeit implementieren, den Handel zu stoppen, wenn ein bestimmter Gewinn erreicht ist? Angenommen, der Gewinn beträgt 200 Dollar - das war's, wir handeln heute nicht.

Ist dies für mt4, oder sollte es für mt5 sein?

Unmittelbar vor der Eröffnung einer Position setzen Sie eine Prüfung, wenn der Gewinn mehr als für den Zeitraum - Ausstieg.

void OnTick()
 {
 ...
 if(GetProfitHistoryInCurrency(_Symbol, 0, Magic) > 200) // 0 - сегодня, 1 - вчера, 2 -позавчера
  return;
 
 OrderSend(...);


Bitte lesen Sie den ganzen Thread, dort finden Sie den benötigten Code:

Forum zum Thema Handel, automatisierte Handelssysteme und Strategietests

Wie berechnet man die Anzahl der geschlossenen Aufträge in EA

Vitaly Muzichenko, 2016.04.12 10:36

//===============================================================================================
//---------------------- Возвращает профит за выбранный период с истории -----------------------+
//===============================================================================================
double GetProfitHistoryInCurrency(string symb="0", int index=-1, int mg=-1) {
 if(symb=="0") { symb=Symbol();}
 datetime DailyStartTime=iTime(symb,PERIOD_D1,index);
 double DailyProfit=0;
  for(int i=OrdersHistoryTotal()-1; i>=0; i--) {
   if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)) {
    if((OrderSymbol()==symb || symb=="") && (mg<0 || OrderMagicNumber()==mg)) {
     if((OrderCloseTime()>=DailyStartTime && OrderCloseTime()<DailyStartTime+86400) || index<0)
      DailyProfit+=(OrderProfit()+OrderCommission()+OrderSwap());
 }}}
  return(DailyProfit);
 }
Использование:  GetProfitHistoryInCurrency(_Symbol, 0, Magic); // 0 - сегодня, 1 - вчера, 2 -позавчера

 
Vitaly Muzichenko:

Ist dies für mt4, oder sollte es für mt5 sein?

Unmittelbar vor der Eröffnung einer Position setzen Sie eine Prüfung, wenn der Gewinn mehr als für den Zeitraum - Ausstieg.


Lesen Sie den ganzen Thread, der Code, den Sie benötigen, ist dort zu finden:


Danke, das werde ich mir auf jeden Fall ansehen! Ja, und der Code wird für MT5 benötigt.
 

Guten Tag!

Ich versuche, eine Funktion zu schreiben, die den Gewinn für den aktuellen Tag ermittelt:

//+------------------------------------------------------------------+
//|Функция возвращает прибыль за текущие сутки                       |
//+------------------------------------------------------------------+
double Day_Profit()
  {
//--Запрашиваем историю сделок за последнии сутки
   HistorySelect(TimeCurrent()-PeriodSeconds(PERIOD_D1),TimeCurrent());
   uint     total       =HistoryDealsTotal();   // количество сделок в истории
   ulong    ticket      =0;                     // тикет сделки в истории
   long     type        =0;                     // тип сделки
   double   profit      =0.0;                   // финансовый результат сделки
   double   commission  =0.0;                   // коммиссия по сделке
   double   DayProfit   =0.0;                   // прибыль за текущие сутки
//--- for all deals
   for(uint i=0; i<total; i++)
     {
      if((ticket=HistoryDealGetTicket(i))>0)       //--- если имеются сделки, то...
        {
         profit      =HistoryDealGetDouble(ticket,DEAL_PROFIT);
         commission  =HistoryDealGetDouble(ticket,DEAL_COMMISSION);
         if(HistoryDealGetInteger(ticket,DEAL_TYPE)!=DEAL_TYPE_BALANCE)
           {
            DayProfit+=(profit+commission);
           }
        }
     }
   return (DayProfit);
  }
//+------------------------------------------------------------------+

Können Sie mir sagen, wie ich die Funktion

HistorySelect (datetime from_date,datetime to_date)
um den Zeitraum ab dem aktuellen Tag anzugeben. Es ist klar, dass das Ende des Zeitraums to_date=TimeCurrent() ist, aber wie kann man den Beginn des Zeitraums from_date korrekt angeben, so dass er mit 00h:00m:00c des aktuellen Tages beginnt?
 
altec3:
Guten Tag, könnten Sie mir bitte sagen, wie ich in der Funktion den Zeitraum ab dem aktuellen Tag angeben kann. Es ist klar, dass das Ende des Zeitraums to_date=TimeCurrent() ist, aber wie kann man den Beginn des Zeitraums from_date korrekt angeben, so dass er mit 00h:00m:00 des aktuellen Tages beginnt?

Unter der Annahme, dass es heute mindestens einen Tick gab, läuft der Algorithmus wie folgt ab: Die aktuelle Zeit wird an die StrukturMqlDateTime gesendet. Dann setzen Sie die Stunden, Minuten und Sekunden in dieser Struktur auf Null. Es bleibt, die bearbeitete Struktur in eine Zeit umzuwandeln:

//+------------------------------------------------------------------+
//|                                                            1.mq5 |
//|                        Copyright 2020, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2020, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   MqlDateTime STimeCurrent;
   TimeToStruct(TimeCurrent(),STimeCurrent);
   STimeCurrent.hour=0;
   STimeCurrent.min=0;
   STimeCurrent.sec=0;
   datetime start_day=StructToTime(STimeCurrent);
   Print(start_day);
  }
//+------------------------------------------------------------------+


Ergebnis:

2020.09.03 00:00:00
Dateien:
1.mq5  3 kb