[Archiv!] Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht daran vorbei. Könnte nirgendwo ohne dich hingehen - 2. - Seite 95

 
PariaH:

Bitte sagen Sie mir, wie ich eine neue Order eröffnen kann, wenn ein Stop Loss oder TP ausgelöst wird. Vorzugsweise einen Code! Vielen Dank im Voraus!!!

Öffnen Sie einen beliebigen Code eines EA von https://www.mql5.com/ru/code

oder öffnen Sie den Code des Expert Advisors, der mit MT4 geliefert wird, z. B. Moving Average.mq4.

Wenn Sie genau hinschauen, werden Sie sehen, wie es gemacht wird.

Danach werden Sie sprechen können.

 

Wenn Sie genau hinschauen, werden Sie sehen, wie es gemacht wird.

Danach können Sie reden.

Das ist nicht gerade die Antwort, die ich erwartet hatte... Ich möchte ein konkretes Beispiel, nicht den vollständigen Code des Programms.. .

 
alexhammer:

Ich habe heute einen neuen EA entworfen. Ich schreibe ihn für mich selbst, aber wenn er gut wird, werde ich ihn später mit euch teilen.

Ich würde gerne Ihre Meinung dazu hören, was man noch hinzufügen könnte. Es kann Stop und Takei neu anordnen, die Linie auf dem Bildschirm verschieben, offene Aufträge anzeigen und weitere Statistiken zu den Konten erstellen. Das Wichtigste ist, einige Optionen für Trailing Stops hinzuzufügen und deren Bewegung visuell darzustellen. Welche weiteren Anfragen wird es geben?

Es sieht gut aus :).

Zumindest möchte ich meinem Expert Advisor beibringen, dass er die Einlage nicht verliert.

Ein schöner EA ist keine Garantie für ein schönes Leben.

 
PariaH:

Wenn Sie genau hinschauen, werden Sie sehen, wie es gemacht wird.

Danach können Sie reden.

Das ist nicht gerade die Antwort, die ich erwartet hatte... Ich brauche ein konkretes Beispiel, nicht den vollständigen Code des Programms.. .

//+------------------------------------------------------------------+
//| Check for open order conditions                                  |
//+------------------------------------------------------------------+
void CheckForOpen()
  {
   double ma;
   int    res;
//---- go trading only for first tiks of new bar
   if(Volume[0]>1) return;
//---- get Moving Average 
   ma=iMA(NULL,0,MovingPeriod,MovingShift,MODE_SMA,PRICE_CLOSE,0);
//---- sell conditions
   if(Open[1]>ma && Close[1]<ma)  
     {
      res=OrderSend(Symbol(),OP_SELL,LotsOptimized(),Bid,3,0,0,"",MAGICMA,0,Red);
      return;
     }
//---- buy conditions
   if(Open[1]<ma && Close[1]>ma)  
     {
      res=OrderSend(Symbol(),OP_BUY,LotsOptimized(),Ask,3,0,0,"",MAGICMA,0,Blue);
      return;
     }
//----
  }
Dies ist ein Teil des EA-Codes, der mit MT4 geliefert wird.
 
coronel:

Bringen Sie einem EA zumindest bei, keine Einzahlung zu verlieren.

Ein schöner EA ist keine Garantie für ein schönes Leben.


Belehren Sie mich nicht über EAs! Dies ist kein Handels-EA, wenn Sie das nicht verstehen. Und auf dem Bildschirm ist ein Demokonto mit speziell eröffneten Aufträgen zu sehen, um die Leistung dieses EA zu testen.
 
alexhammer:

Belehren Sie mich nicht über EAs! Dies ist kein Trading Expert Advisor, wenn Sie das nicht verstehen. Und auf dem Bildschirm ist ein Demo-Konto mit speziell eröffneten Aufträgen, um die Arbeit dieses EA zu testen.

Bitte verzeihen Sie mir, wenn mein Beitrag etwas belehrend klang.

Ich habe lediglich meinen Standpunkt zum Autotrading dargelegt.

 
Komm schon, Peace! :) Ich habe nur auf ein paar Ideen und Wünsche gewartet, ich versuche nicht nur, es für mich selbst zu tun.
 
alexhammer:
Komm schon, die Welt! :) Ich habe nur darauf gewartet, einige Ideen und Wünsche zu hören, nicht nur für mich selbst, denn ich versuche es.

Es gibt eine Menge Ideen auf dieser Website, aber ich kenne niemanden, der seinen Lebensunterhalt als Autohändler verdient.

 
coronel:
Dies ist ein Teil des EA-Codes, der mit MT4 geliefert wird.


SPY... Aber das ist es nicht schon wieder :) die Sache ist die, dass ich keine Indikatoren benutze... Ich muss nur eine neue Order eröffnen, wenn ein STOP oder PREF ausgelöst wird! Wie kann dies auf andere Weise umgesetzt werden...

hier ist ein Teil des Codes.... aber es funktioniert nicht ....

for(int i=1; i<=OrdersTotal(); i++) // ???? ???????? ?????

{

if(OrderSelect(i-1,SELECT_BY_POS)==true)

{

double SL=OrderStopLoss();

double TP=OrderTakeProfit(); // TP ?????????? ???.

double Price =OrderOpenPrice();

{

if(SL >= Price)

{

OrderSend(Symbol(), OP_BUY, lots,Ask, 3, Ask - stop_loss * Point, Bid + take_profit * Point, IDENT, MAGIC, 0, Green);

}

}

Alert(i);

}

}

 
PariaH:


SPS... Aber das ist es nicht schon wieder :) die Sache ist die, ich benutze keine Indikatoren... Ich brauche nur einen neuen Auftrag zu eröffnen, wenn er STOP oder PREF auslöst! Wie kann dies auf andere Weise umgesetzt werden...

hier ist ein Teil des Codes.... aber es funktioniert nicht ....


Immer noch derselbe Code, aber ohne den Indikator:

int start()
  {
   int    res;
//---- go trading only for first tiks of new bar
   if(Volume[0]>1) return;
//---- 
   if(OrdersTotal()==0)//если нет открытых ордеров
     { 
      res=OrderSend(Symbol(),OP_SELL,LotsOptimized(),Bid,3,0,0,"",MAGICMA,0,Red);// открыть SELL
 //     res=OrderSend(Symbol(),OP_BUY,LotsOptimized(),Ask,3,0,0,"",MAGICMA,0,Blue); //открыть BUY
     }
//----
 return(0);}