Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 236
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
... alle Währungspaare, in denen USD vorhanden ist ...
Der Kodex sieht keine Berechnung der"Einschusszahlungen aus Handelsfonds" vor ... und am Ende meines ersten Beitrags habe ich vermerkt: "Das Umschalten der Einzahlungswährungsansicht im Tester behebt das Problem nicht."
Der Kodex sieht keine Berechnung der"Einschusszahlungen aus Handelsfonds" vor ... und am Ende meines ersten Beitrags habe ich angemerkt, dass die Umstellung der Einzahlungswährung im Testprogramm das Problem nicht behebt".
Dann sind meine telepathischen Kräfte vorbei - legen Sie den Code fest.
Sorry für die Frage, ich weiß, wie man einen externen Indikator in einen EA mit einem Puffer einfügen... Aber es gibt keinen Puffer in diesem Indikator, wie bekomme ich den oberen und unteren Preis.
//+------------------------------------------------------------------+
//| trendlinesDay.mq4 |
//| Copyright © 2008, MetaQuotes Software Corp. |
//| https://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "nsi2000"
#property link "http://www.expert-mt4.nm.ru"
//----
#property indicator_chart_window
//---- input parameters
extern int nPeriod=10;
extern int Limit=350;
double Up[];
double Dn[];
///---- int Widners Oscilator
int cnt,nCurBar=0;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- Output in Char
for(cnt=0; cnt<=5; cnt++)
{
ObjectCreate("WSO-"+cnt,OBJ_HLINE,0,0,0);
ObjectSet("WSO-"+cnt,OBJPROP_COLOR,Red);
if(cnt<5)
{
ObjectCreate("Trend DN-"+cnt,OBJ_TREND,0,0,0,0,0);
ObjectSet("Trend DN-"+cnt,OBJPROP_COLOR,Magenta);
}
//----
ObjectCreate("WRO-"+cnt,OBJ_HLINE,0,0,0);
ObjectSet("WRO-"+cnt,OBJPROP_COLOR,Blue);
if(cnt<5)
{
ObjectCreate("Trend UP-"+cnt,OBJ_TREND,0,0,0,0,0);
ObjectSet("Trend Up-"+cnt,OBJPROP_COLOR,Aqua);
}
}
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custor indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//---- TODO: add your code here
for(cnt=0; cnt<=5; cnt++)
{
ObjectDelete("Trend UP-"+cnt);
ObjectDelete("Trend DN-"+cnt);
ObjectDelete("WSO-"+cnt);
ObjectDelete("WRO-"+cnt);
}
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
//---- TODO: add your code here
double r1,r2,r3,r4,r5,r6;
int rt1,rt2,rt3,rt4,rt5,rt6;
double s1,s2,s3,s4,s5,s6;
int st1,st2,st3,st4,st5,st6;
//---- Линии сопротивления и поддержки
if(Bars<Limit) Limit=Bars-nPeriod;
for(nCurBar=Limit; nCurBar>0; nCurBar--)
{
if(Low[nCurBar+(nPeriod-1)/2]==Low[Lowest(NULL,0,MODE_LOW,nPeriod,nCurBar)])
{
s6=s5; s5=s4; s4=s3; s3=s2; s2=s1; s1=Low[nCurBar+(nPeriod-1)/2];
st6=st5; st5=st4; st4=st3; st3=st2; st2=st1; st1=nCurBar+(nPeriod-1)/2;
}
if(High[nCurBar+(nPeriod-1)/2]==High[Highest(NULL,0,MODE_HIGH,nPeriod,nCurBar)])
{
r6=r5; r5=r4; r4=r3; r3=r2; r2=r1; r1=High[nCurBar+(nPeriod-1)/2];
rt6=rt5; rt5=rt4; rt4=rt3; rt3=rt2; rt2=rt1; rt1=nCurBar+(nPeriod-1)/2;
}
}
//---- Move Object in Chart
ObjectMove("Trend DN-0",1,Time[st1],s1);
ObjectMove("Trend DN-0",0,Time[st2],s2);
//----
ObjectMove("Trend UP-0",1,Time[rt1],r1);
ObjectMove("Trend UP-0",0,Time[rt2],r2);
//----
return(0);
}
//+------------------------------------------------------------------+
Sorry für die Frage, ich weiß, wie man einen externen Indikator in einen EA mit einem Puffer einfügen... In diesem Indikator gibt es keinen Puffer, wie kann ich den oberen und unteren Preis erhalten
Nehmen Sie grafische Objekte im Diagramm mit den Namen "Trend DN-0", "Trend UP-0" (die Linien, die einige Stufen des Indikators anzeigen) und lesen Sie die gewünschten Daten aus ihnen
auf dem Diagramm die grafischen Objekte mit den Namen "Trend DN-0", "Trend UP-0" (die Linien, mit denen der Indikator einige Niveaus markiert) und lesen Sie die erforderlichen Daten aus ihnen
schreiben Sie bitte, wie dies in den Indikator selbst zu tun? und dann machen 2 Puffer aus diesen Werten, um sie in der EA verwenden?
An welchem Ort soll der Preis genommen werden?
schreiben Sie bitte, wie dies in den Indikator selbst zu tun? und dann machen 2 Puffer aus diesen Werten, um sie in der EA verwenden?
schreiben, an welcher Stelle der Preis zu nehmen?
Der Indikator hat bereits alle Daten, um zwei Puffer zu berechnen und sie zu zeichnen.
Und Sie haben nicht vorgeschlagen, den Indikator zu ändern, sondern die Daten der vom Indikator gezeichneten Linien aus dem Expert Advisor zu lesen.
Dies führt jedoch zu Einschränkungen bei der Verwendung des Testers - nur im visuellen Modus können Sie den Expert Advisor testen.
Der Indikator verfügt bereits über alle Daten, um die beiden Puffer zu berechnen und sie zu zeichnen.
Und man hat Ihnen nicht vorgeschlagen, den Indikator zu ändern, sondern die Daten der vom Indikator gezeichneten Linien aus dem Expert Advisor zu lesen.
Dies führt jedoch zu Einschränkungen bei der Verwendung des Testers - Sie können den Expert Advisor nur im visuellen Modus testen.
Das heißt, ich sollte in den Indikator schreiben
#Eigenschaft indicator_buffers 2
double BufferUp[], BufferDn[];
int OnInit()
{
SetIndexBuffer(0, BufferUp)
SetIndexPuffer(1, PufferDn)
}
Und womit genau muss ich dann diese 2 Puffer verbinden?
Ich muss also in den Indikator schreiben
#Eigenschaft indicator_buffers 2
double BufferUp[], BufferDn[];
int OnInit()
{
SetIndexBuffer(0, BufferUp)
SetIndexPuffer(1, PufferDn)
}
Und womit genau muss ich dann diese 2 Puffer verbinden?
Sehen Sie: Sie haben Zeilen, die sich in Ihrem Code bewegen:
Zeit[st1], Zeit[st2] und der Preis dieser Bezugspunkte s1, s2 gelten für eine Zeile,
Time[rt1], Time[rt2], r1, r2 - für eine weitere Zeile.
Mit Hilfe der Geradengleichung können Sie den Pufferwert für jeden Balken zwischen diesen Punkten berechnen und diesen Wert in den Puffer schreiben.
Sehen Sie: Sie haben Zeilen, die sich in Ihrem Code bewegen:
Wir haben Time[st1], Time[st2] und den Preis dieser Punkte s1, s2 - für eine Zeile,
Time[rt1], Time[rt2], r1, r2 - für eine weitere Zeile.
Mit Hilfe der Geradengleichung können Sie den Pufferwert für jeden Balken zwischen diesen Punkten berechnen und diesen Wert in den Puffer schreiben.
Sie können also nicht einfach den Preis der Linie über die Latte nehmen... Ich weiß nicht, wie ich die Geradengleichung berechnen kann, wenn möglich, schreiben Sie, wie das Ganze aussehen soll.
Und im Allgemeinen sollte der Wert nicht zwischen Punkten, sondern über 0 oder 1 bar genommen werden