Diskussion zum Artikel "Schnelleinstieg oder Kurzanleitung für Anfänger"

 

Neuer Artikel Schnelleinstieg oder Kurzanleitung für Anfänger :

Liebe Leser, in diesem Artikel möchte ich Ihnen vermitteln und zeigen, wie man sich möglichst schnell und einfach die Grundlagen der Erstellung automatischer Handelssysteme, wie die Arbeit mit Indikatoren u. a., erschließt. Der Beitrag richtet sich an Neueinsteiger, in ihm kommen weder komplizierte noch schwer zu verstehende Beispiele zur Anwendung.

Schnelleinstieg oder Kurzanleitung für Anfänger

Autor: Dmitriy Parfenovich

 

Dimitri, du hast gesagt, du wärst kein Schriftsteller! Aber Sie sind es! Ich gratuliere Ihnen zu diesem erfreulichen Anfang. Es ist schön zu sehen, dass Sie mit einem kleinen Material begonnen haben, auch wenn es nicht so umfangreich ist, die Hauptsache ist, anzufangen, und es wird im Laufe der Zeit immer länger werden, um Erfahrungen durch Ihre Artikel und / oder von anderen Autoren zu sammeln.

Ich danke Ihnen für Ihre Aufmerksamkeit.

 
GKS:

Dimitri, du hast gesagt, du wärst kein Schriftsteller! Aber Sie sind es! Ich gratuliere Ihnen zu diesem erfreulichen Anfang. Es ist schön zu sehen, dass Sie mit einem kleinen Material begonnen haben, auch wenn es nicht so umfangreich ist, die Hauptsache ist, anzufangen, und es wird im Laufe der Zeit immer länger werden, um Erfahrungen durch Ihre Artikel und / oder von anderen Schriftstellern zu sammeln.

Ich danke Ihnen für Ihre Zeit.

Ich danke Ihnen. Das hätte ich von mir selbst nicht erwartet. Ich werde es weiter versuchen.
 
die klare Darstellung gefiel mir, ich würde gerne im gleichen Stil weitermachen, z.B. über Bibliotheken....
 
iMA_handle=iMA("EURUSD",PERIOD_H1,40,0,MODE_SMA,PRICE_CLOSE);  //Verbinden Sie den Indikator und erhalten Sie sein Handle
.......
   ChartIndicatorAdd(ChartID(),0,iMA_handle);     // Hinzufügen des Indikators zum Preisdiagramm
   
So funktioniert es nicht. Aber wenn Sie das Symbol und die Uhrzeit entfernen, ist alles in Ordnung.
iMA_handle=iMA(NULL,0,40,0,MODE_SMA,PRICE_CLOSE);
 
mln141:

So funktioniert es nicht. Aber wenn Sie das Symbol und die Zeit entfernen, ist alles in Ordnung.

Wenn Sie auf EURUSD und Stunde Zeitrahmen testen, wird alles funktionieren.

Andererseits haben Sie das Problem gefunden und es mit Hilfe der Hilfe (vielleicht) selbst gelöst, was kein Pluspunkt ist.

Vielen Dank, der Artikel wurde korrigiert.

 

einige kleine Fragen:

1 Was passiert, wenn sich die Zeitspanne des Charts während des Laufs ändert?

2 ima_handle definiert bei OnInit(), iMA_handle=iMA("EURUSD",PERIOD_H1,10,0,MODE_SMA,PRICE_CLOSE);

Ist es möglich, die Parameter dieses Handles dynamisch durch das Programm selbst zu ändern, z.B. PERIOD_H1,10 in PERIOD_M15, 39 während des Ablaufs zu ändern?

3 Was ist ein Handel?

 

Herzlichen Glückwunsch!

Extrem einfacher, gut geschriebener Code... Ich denke, durch den Verweis auf die Bibliothek haben Sie in wenigen Zeilen das getan, was ich in fast 100 Zeilen getan habe (nur um Long-Positionen zu öffnen und zu schließen).

Ich beziehe mich besonders auf diese Zeilen:

if(m_Position.Select(my_symbol)) //wenn die Position für dieses Symbol bereits existiert
{
if(m_Position.PositionType()==POSITION_TYPE_SELL) m_Trade.PositionClose(my_symbol); //und dies ist eine Verkaufsposition, dann schließen Sie sie
if(m_Position.PositionType()==POSITION_TYPE_BUY) return; /oder sonst, wenn es sich um eine Kaufposition handelt, dann beenden
}
m_Trade.Buy(0.1,my_symbol); //wenn wir hier angekommen sind, bedeutet das, dass es keine Position gibt; dann eröffnen wir sie
}
if(iMA_buf[1]<Close_buf[1] && iMA_buf[0]>Close_buf[0]) //wenn die Indikatorwerte kleiner als der Schlusskurs waren und größer wurden
{
if(m_Position.Select(my_symbol)) //wenn die Position für dieses Symbol bereits existiert
{
if(m_Position.PositionType()==POSITION_TYPE_BUY) m_Trade.PositionClose(my_symbol); //und dies ist eine Kaufposition, dann schließen Sie sie
if(m_Position.PositionType()==POSITION_TYPE_SELL) return; /oder sonst, wenn es sich um eine Verkaufsposition handelt, dann beenden
}
m_Trade.Sell(0.1,my_symbol); //wenn wir hier angekommen sind, bedeutet das, dass es keine Position gibt; dann eröffnen wir sie
}

Das Einzige, was ich vermisst habe, könnte ein Befehl sein, der den Handel nur dann erlaubt, wenn ein neuer Balken erscheint. Es gab eine Diskussion in: www.mql5.com/en/forum/5762

Ich verwende den folgenden Code, der dort von mogplus8 gepostet wurde:

static int LastBarCount=0;

if(Bars(_Symbol,_Period)>LastBarCount)
LastBarCount=Bars(_Symbol,_Period);
else
return;

 
Einige Bilder fliegen, bitte korrigieren Sie sie.
 

Ich bin etwas verwirrt über Ihre Aussage über Trades.

Die Trades presentted in dem Artikel ist sehr nah an "Siegel" in artiel http://mqlmagazine.com/leading-article/orders-positions-and-deals-part-i/. Sind sie dasselbe? Was sind ihre Unterschiede?

Übrigens, auf der verlinkten Seite sagt der Autor: Jeder Auftrag, der auf dem Markt platziert wird, ist ein eigener Handel, mit einem eigenen Ergebnis, unabhängig von den anderen.

Ich füge die Worte hier nur ein, um mögliche Missverständnisse für diejenigen zu klären, die den Kommentaren Aufmerksamkeit geschenkt haben.

Vielen Dank.

Orders , positions and deals . Part I | MQLmagazine.com
  • mqlmagazine.com
This article is dedicated to working with orders, positions and deals. In this article we will discuss the general principles and passing to the new system. In a new article we will detail the MQL5 programming side on orders, positions and deals. MetaQuotes changed both the functions but also the principles in working with orders. A term...
 
Nicht ein Mann, sondern Gold, großer Artikel. Aus einer Menge von Materialien, ich, als ein Anfänger in der Programmierung, nur Ihre))))))). Vielen Dank für einen solchen Artikel, sehr einfache Sprache, die Sie schrieb alles nur genial, jetzt zumindest ich verstehe, was ich tue).