[Archiv!] Ich schreibe einen Ratgeber für FREE - Seite 19

 

Ich bin neu in der Programmierung, auch wenn man sagen könnte, dass ich ein kompletter Dummkopf bin. Aber es ist interessant, mich daran zu versuchen. Ich versuche, einen einfachen Expert Advisor zu schreiben, der einen Tag pro Woche arbeitet. Am Montag zum Beispiel öffnet sie um 00-00 Uhr und schließt um 24-00 Uhr. Ich verstehe es in einzelnen Teilen, aber ich kann nicht alles in einem Programm zusammenfügen. Wenn Sie wissen, wo Sie den Expert Advisor zu diesem Thema erhalten (herunterladen) können. Ich möchte es als Probe.

 
asd05:

Ich bin neu in der Programmierung, auch wenn man sagen könnte, dass ich ein kompletter Dummkopf bin. Aber es ist interessant, mich daran zu versuchen. Ich versuche, einen einfachen Expert Advisor zu schreiben, der einen Tag pro Woche arbeitet. Zum Beispiel öffnet sie am Montag um 00-00 Uhr und schließt um 24-00 Uhr. Ich verstehe es in einzelnen Teilen, aber ich kann nicht alles in einem Programm zusammenfügen. Wenn Sie wissen, wo Sie den Expert Advisor zu diesem Thema erhalten (herunterladen) können. Ich möchte es als Probe.


Von Spamming ist abzuraten. Sie können gesperrt werden.
 
asd05:

Ich bin neu in der Programmierung, auch wenn man sagen könnte, dass ich ein kompletter Dummkopf bin. Aber es ist interessant, mich daran zu versuchen. Ich versuche, einen einfachen Expert Advisor zu schreiben, der einen Tag pro Woche arbeitet. Am Montag zum Beispiel öffnet sie um 00-00 Uhr und schließt um 24-00 Uhr. Ich verstehe es in einzelnen Teilen, aber ich kann nicht alles in einem Programm zusammenfügen. Wenn Sie wissen, wo Sie den Expert Advisor zu diesem Thema erhalten (herunterladen) können. Ich möchte es als Probe.

Hier ist ein Beispiel für einen primitiven "Nachtjäger". Funktioniert standardmäßig jeden Tag von 21 Uhr bis 8 Uhr morgens.
In der einfachsten Version versuchen Sie es ungefähr so:

//+------------------------------------------------------------------+
//|                                                    222222222.mq4 |
//|                      Copyright © 2011, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2011, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"


extern int   Magic = 31295;
 extern int     Start=21;//начало работы вечером
extern int      End=8; //конец работы утром
extern int      SL=410;
extern int      TP=280;
extern double  Lot=0.1;

extern string  __________ = "=== Функция Трейлинг Стоп ====";
extern bool      UseTrailing = false;//Выключатель трейлинг стопа
extern int    MinProfit = 200;//порог включения трейлин стопа
extern int    TrailingStop = 150;// величина трейлинг стопа
extern int    TrailingStep = 10; // шаг трейлинг стопа 

bool Trade;
bool  gbNoInit    = False;   // Флаг неудачной инициализации

//----------------------------------------------------
int init()
{
//-----------------------------------------------------------
gbNoInit=False;  
if (!IsTradeAllowed()) {
    Message("Для нормальной работы советника необходимо\n"+
            "Разрешить советнику торговать");
    gbNoInit=True; return;
  }
  if (!IsLibrariesAllowed()) {
    Message("Для нормальной работы советника необходимо\n"+
            "Разрешить импорт из внешних экспертов");
    gbNoInit=True; return;    }
}
//-----------------------------------------------------

//===================================================
int start() {// функция СТАРТ

if (UseTrailing) TrailPositions(); // выключатель трейлинг стопа


if ( Hour()>Start || Hour()<End )//если время - больше  Start или меньше End
    Trade=true;    else Trade=false;//то торговля разрешена
Comment ("Торговля разрешена с ",Start ," до ",End);
//---------------------------------------------------
if (Trade && NumberOfPositions(NULL,OP_BUY,Magic)<1) {
//если тоговля разрешена и нет откр. длинных позиций
   OrderSend(Symbol(),OP_BUY,Lot,Ask,3,Ask-SL*Point,Ask+TP*Point,"хи - хи",Magic,0,SkyBlue);
                                               }
//---------------------------------------------------   
 if (Trade && NumberOfPositions(NULL,OP_SELL,Magic)<1) {
//если тоговля разрешена и нет откр. селл-  позиций 
   OrderSend(Symbol(),OP_SELL,Lot,Bid,3,Bid+SL*Point,Bid-TP*Point,"тра-ля-ля",Magic,0,Green);
                                                   }
 //-----------------------------
 return (0);                                      
}//конец функции СТАРТ 


//жжжжжжжжжжжжжжжжжжжжж Пользовательские функции жжжжжжжжжжжжжжжжжжжжжжжжжжжжжж
//жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru/                  |
//+----------------------------------------------------------------------------+
//|  Версия   : 19.02.2008                                                     |
//|  Описание : Возвращает количество позиций.                                 |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    sy - наименование инструмента   (""   - любой символ,                   |
//|                                     NULL - текущий символ)                 |
//|    op - операция                   (-1   - любая позиция)                  |
//|    mn - MagicNumber                (-1   - любой магик)                    |
//+----------------------------------------------------------------------------+
int NumberOfPositions(string sy="", int op=-1, int mn=-1) {
  int i, k=OrdersTotal(), kp=0;

  if (sy=="0") sy=Symbol();
  for (i=0; i<k; i++)                                    {
    if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))      {
      if (OrderSymbol()==sy || sy=="")                   {
        if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
          if (op<0 || OrderType()==op)                   {
            if (mn<0 || OrderMagicNumber()==mn) kp++;
          }}}}}   return(kp); }

//жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж
 void TrailPositions() // функция трейлинг стоп
{
  int Orders = OrdersTotal();
  for (int i=0; i<Orders; i++) {
    if (!(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))) continue;
    if (OrderSymbol() != Symbol()) continue;
     if (OrderMagicNumber() == Magic ){    
     if (OrderType() == OP_BUY )  {
      if (Bid-OrderOpenPrice() > MinProfit*Point) {
        if (OrderStopLoss() < Bid-(TrailingStop+TrailingStep-1)*Point) {
          OrderModify(OrderTicket(), OrderOpenPrice(), Bid-TrailingStop*Point,
                                                     OrderTakeProfit(), 0, Blue);
        }      }    }
    if (OrderType() == OP_SELL)  {
      if (OrderOpenPrice()-Ask >MinProfit*Point) {
        if (OrderStopLoss() > Ask+(TrailingStop+TrailingStep-1)*Point 
                                                       || OrderStopLoss() == 0) {
          OrderModify(OrderTicket(), OrderOpenPrice(), Ask+TrailingStop*Point,
                                                      OrderTakeProfit(), 0, Blue);
        }   }   }    }   }  }

//+----------------------------------------------------------------------------+
//|  Вывод сообщения в коммент и в журнал                                      |
//+----------------------------------------------------------------------------+
void Message(string m) {
  Comment(m);
  if (StringLen(m)>0) Print(m);
}
 

Hallo! Läuft das Schreiben noch? :) so viel ist hier schon geschrieben worden.... Ich möchte einen kleinen Tippgeber schreiben ... einen einfachen, auf zwei Mashmas und Momentum, und ich werde fortfahren, wenn jemand es tun will.

viel Glück
 

Der einfache Enterra_Forex_Star_EA_3.1 Expert Advisor muss noch ein wenig optimiert werden.

Er handelt zu einem bestimmten Zeitpunkt unter Verwendung eines von zwei RSIs und setzt einen virtuellen Take-Profit auf sechs Timer.

Im Falle von Kursverlusten gibt es eine Funktion zur Eröffnung zusätzlicher Aufträge in derselben Richtung, wenn die Anzahl der Punkte einen bestimmten Wert überschreitet (so etwas wie Durchschnittsbildung).

Das Problem: Ich muss zusätzliche Positionen nur zum angegebenen Zeitpunkt des Handels öffnen und nicht neu berechnen Take Profit.

Ich habe zu tun:

Wenn der Preis aus der gewinnbringenden Richtung des offenen Auftrags sinkt, einen Auftrag (und dann einige mehr - die Anzahl soll angepasst werden) des gleichen Volumens in der gleichen Richtung unabhängig von der "Arbeitszeit" unter solchen Bedingungen zu öffnen (nur zusammen nicht "oder"):

-die Mindestanzahl von Punkten, um die der Kurs negativ werden muss (anpassbar), überschritten wurde

Einstellbarer I-Reg-Indikator (beiliegend) soll in Gewinnrichtung "drehen" (die Kanalbreite kann vernachlässigt werden)

Wir sollten einen Mittelwertbildungsmechanismus mit der ersten offenen (und nachfolgenden) Order in der Form "x Punkte vom Breakeven-Punkt" hinzufügen und auch eine Möglichkeit, den Take bei allen "Mittelwertbildungs"-Orders zu nehmen, wie bei der ersten Order (unter Berücksichtigung, dass er sich je nach Timer ändert).

Alle in Bezug auf 4/5-stellige Notierungen

All dies ist fast so, wie es in Ilan_RSI_mm_extr193 (als Spender beigefügt) getan werden sollte, ich verstehe nur diese Sprache überhaupt nicht.

Beispiel:

Festgelegte Handelszeit (Eröffnung von Positionen) von 10 bis 12 Uhr

um 11:10 Uhr eröffnet der EA einen Sell 5lot bei 1,5000 - der Preis steigt und wie ich in den Einstellungen erwähnt habe, über 20 Pips, d.h. 1,5020 um 11:20 Uhr, wird die zweite Sell Order mit demselben Volumen eröffnet. Sie sind beide durch virtuelle Mitnahme der ersten, die von 6 Timer in der EA (obwohl in der Tat ist es anders eingestellt), zum Beispiel, Mitnahme ist 10 Punkte und die EA schließt bei 6 Punkten, kurz gesagt, es ist nicht sehr wichtig. Sie schließen also, wenn der Kurs den Take Point des ersten erreicht (z.B. 1,4094).

Ich habe es bereits so, dass ich einen zusätzlichen Auftrag erteilen sollte, wenn der Preis nicht weniger als 20 Punkte überschreitet und nur, wenn der Indikator I-Reg (von mir konfiguriert) eine Trendumkehr anzeigt.

Ich muss, wie gesagt, Mittelwertbildungsparameter hinzufügen.

Es gibt noch eine weitere Sache:

Wenn die Order um 11:50 Uhr eröffnet wird, z.B. Verkaufen, und der Kurs nach 12:00 Uhr stark ansteigt, eröffnet der EA überhaupt keine Order - wir sollten dies korrigieren, um die Mittelwertbildung zu öffnen.

Ich wollte mich klarer ausdrücken, aber es ist etwas kompliziert geworden.

Kann es jemand tun?

Ich danke Ihnen.

Dateien:
enterra.rar  23 kb
 
leonid553:

Hier ist ein Beispiel für einen primitiven "Nachtjäger". Sie funktioniert standardmäßig jeden Tag von 21 Uhr bis 8 Uhr morgens.
In der einfachsten Version versuchen Sie etwas wie dies:


Danke, ich werde es ausprobieren.
 
Guten Tag, ich habe einige interessante Ideen, die ich gerne in einen EA implementieren würde. Kontaktieren Sie mich unter mrforex@mail.ru. Dafür wäre ich sehr dankbar.
 

Hallo, wenn möglich, schreiben Sie bitte einen Expert Advisor auf der Grundlage von zwei Muwings für die Eröffnung von Geschäften auf Kreuzungen Vielen Dank und entschuldigen Sie mich für die Verwendung Ihrer kostbaren Zeit Beispiel in dem Bild im Voraus beigefügt DANKE so viel im Voraus chughoy@list.ru


 
Guten Tag. Ich brauche einen EA, der mich benachrichtigt, wenn bestimmte zwei der vier Muwings gekreuzt werden. Ich bin bereit zu zahlen. Kontakt: shurik302(dog)gmail.com
 
molodec8:

Die Strategie bringt bis zu 40 Prozent pro Monat ein

Besser VON 5 als VOR 40% ))))