Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 114
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
R Welche Objekte unterscheiden sich nicht? und was bedeutet es, wenn man die Art des Objekts ändert, dass die Eigenschaften zusammenbrechen?
Das bedeutet, dass, wenn ich in meinem aktuellen Code das horizontale Linienobjekt durch eine Trendlinie oder eine vertikale Linie auf der aktuellen Kerze ersetze, ein Objekt immer noch funktioniert und unabhängig von den Parametern des anderen Objekts rot sein wird.
Der Zweck all dieser Manipulationen ist es, den Indikator und den EA zu kombinieren, jetzt versuche ich, den Fehler selbst zu finden.
d.h. es werden ganz normal Züge erstellt und gelöscht, aber ich brauche blau, wenn ich kaufe, und nicht rot, wenn ich trotzdem verkaufe.Grüße. Können Sie mir sagen, was der Klammereintrag () nach "double bb" ist und was der Klammereintrag {} für"double bb(int buff,int shift)" in diesem Fall ist?
Auch hier. Kaufen und Verkaufen haben den Typ bool. Wie kann ich herausfinden, was ihnen bei der Verwendung von "< , &&, >" zugewiesen wird? ?
{
if(!UseHTF){
Buy = (bb(0,1) < bb(1,1) && bb(0,2) > bb(1,2));
Sell = (bb(0,1) > bb(1,1) && bb(0,2) < bb(1,2));}
if(UseHTF){
Buy = (bbh(0,1) < bbh(1,1) && bb(0,1) < bb(1,1) && bb(0,2) > bb(1,2));
Sell = (bbh(0,1) > bbh(1,1) && bb(0,1) > bb(1,1) && bb(0,2) < bb(1,2));}
Grüße. Können Sie mir sagen, was der Klammereintrag () nach "double bb" ist und was der Klammereintrag {} für"double bb(int buff,int shift)" in diesem Fall ist?
Auch hier. Kaufen und Verkaufen haben den Typ bool. Wie kann ich herausfinden, was ihnen bei der Verwendung von "< , &&, >" zugewiesen wird? ?
{
if(!UseHTF){
Buy = (bb(0,1) < bb(1,1) && bb(0,2) > bb(1,2));
Sell = (bb(0,1) > bb(1,1) && bb(0,2) < bb(1,2));}
if(UseHTF){
Buy = (bbh(0,1) < bbh(1,1) && bb(0,1) < bb(1,1) && bb(0,2) > bb(1,2));
Sell = (bbh(0,1) > bbh(1,1) && bb(0,1) > bb(1,1) && bb(0,2) < bb(1,2));}
2) Boolesche Variablen werden mit dem Ergebnis des gesamten logischen Ausdrucks nach dem Zuweisungszeichen (=) belegt. Wenn alle Bedingungen erfüllt sind, wird die Variable als wahr eingestuft, andernfalls als falsch.
Das bedeutet, dass, wenn ich in meinem aktuellen Code das horizontale Linienobjekt durch eine Trendlinie oder eine vertikale Linie auf der aktuellen Kerze ersetze, ein Objekt immer noch funktioniert und unabhängig von den Parametern des anderen Objekts rot sein wird.
Der Zweck all dieser Manipulationen ist es, den Indikator und die EA zu kombinieren, jetzt bin ich versucht, den Fehler selbst zu finden, aufgrund dessen, was es verursacht.
d.h. er bewegt und löscht sich ganz normal, aber ich brauche blau, wenn ich kaufe, und nicht rot, wenn ich verkaufe, egal wie.Sie haben also die Parameter des grafischen Objekts wieder falsch eingestellt.
höchstwahrscheinlich.
Es scheint lehrbuchmäßig zu sein, aber das Ergebnis ist nicht dasselbe, deshalb habe ich den Code hier eingestellt.
Ich kann nicht verstehen, warum es eine globale Client-Terminal-Variable im Terminal gibt, wenn ich sie nicht erstellt habe(GlobalVariablesTotal() zeigt "1"). Vielleicht gibt es eine Voreinstellung des Terminals? Warum werden dann, wenn ich den Namen wissen will und die Funktion GlobalVariableName(0) oder GlobalVariableName(1) aufrufe, keine Namen angezeigt? Bitte sagen Sie mir, wo das Problem liegen könnte?
Grüße. Ich benötige die Daten der roten Linie des Indikators, die nicht über das Preisdiagramm gelegt wird, sondern separat darunter angezeigt wird. Ich versuche, es wie bei den Indikatoren zu machen, die dem Diagramm überlagert sind, aber irgendetwas ist falsch. Wo liege ich falsch?
Hier ist der Indikator selbst
#property link "yuriytokman@gmail.com"
//ну если проще запулить в одно окно три мульти с настройками
//1 EUR-USD
//2 EURGBP
//3 EURJPY
//если все три в состоянии перекупленности значит Бай и наоборот
#property indicator_separate_window
#property indicator_buffers 6
#property indicator_color1 Green
#property indicator_color2 Red
#property indicator_color3 Yellow
#property indicator_level1 0
#property indicator_level2 5
#property indicator_level3 -5
extern string Symbol_1 = "EURUSD";
extern string Symbol_2 = "EURGBP";
extern string Symbol_3 = "EURJPY";
extern int RSI_1_Period = 14;//период первого индикатора РСИ
extern int RSI_2_Period = 28;//период второго индикатора РСИ
extern int applied_price = 0;//используемая цена 0-6
extern int ma_period = 14;//период сглаживания
extern int ma_method = 0;//метод сглаживания 0-3
double buf[];
double MA_buf[];
double buf2[];
double MA_buf2[];
double buf3[];
double MA_buf3[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,2);
SetIndexBuffer(0, buf);
SetIndexStyle(4,DRAW_NONE);
SetIndexBuffer(4,MA_buf);
SetIndexStyle(1,DRAW_LINE,STYLE_SOLID,2);
SetIndexBuffer(1, buf2);
SetIndexStyle(3,DRAW_NONE);
SetIndexBuffer(3,MA_buf2);
SetIndexStyle(2,DRAW_LINE,STYLE_SOLID,2);
SetIndexBuffer(2, buf3);
SetIndexStyle(5,DRAW_NONE);
SetIndexBuffer(5,MA_buf3);
IndicatorShortName("ytg_Def_RSI_3_Symbol");
Comment("yuriytokman@gmail.com");
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
Comment("");
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
//----
double RSI_1, RSI_2, RSI_12, RSI_22, RSI_13, RSI_23;
int limit;
int counted_bars=IndicatorCounted();
if(counted_bars<0) return(-1);
if(counted_bars>0) counted_bars--;
limit=Bars-counted_bars;
for(int i=limit; i>=0; i--)
{
RSI_1 = iRSI(Symbol_1,0,RSI_1_Period,applied_price,i);
RSI_2 = iRSI(Symbol_1,0,RSI_2_Period,applied_price,i);
MA_buf[i] = (RSI_1-RSI_2);
RSI_12 = iRSI(Symbol_2,0,RSI_1_Period,applied_price,i);
RSI_22 = iRSI(Symbol_2,0,RSI_2_Period,applied_price,i);
MA_buf2[i] = (RSI_12-RSI_22);
RSI_13 = iRSI(Symbol_3,0,RSI_1_Period,applied_price,i);
RSI_23 = iRSI(Symbol_3,0,RSI_2_Period,applied_price,i);
MA_buf3[i] = (RSI_13-RSI_23);
}
for(i=limit; i>=0; i--)
{
buf[i] = iMAOnArray(MA_buf,0,ma_period,0,ma_method,i);
buf2[i] = iMAOnArray(MA_buf2,0,ma_period,0,ma_method,i);
buf3[i] = iMAOnArray(MA_buf3,0,ma_period,0,ma_method,i);
}
//----
return(0);
}
Grüße. Ich benötige die Daten der roten Linie des Indikators, die nicht über das Preisdiagramm gelegt wird, sondern separat darunter angezeigt wird. Ich versuche, es wie bei den Indikatoren zu machen, die dem Diagramm überlagert sind, aber irgendetwas ist falsch. Wo liege ich falsch?
Hier ist der Indikator selbst
extern string Symbol_2 = "EURGBP";
extern string Symbol_3 = "EURJPY";
extern int RSI_1_Period = 14;//период первого индикатора РСИ
extern int RSI_2_Period = 28;//период второго индикатора РСИ
extern int applied_price = 0;//используемая цена 0-6
extern int ma_period = 14;//период сглаживания
extern int ma_method = 0;//метод сглаживания 0-3
Sie öffnen das Fenster der Eingabeparameter und listen sie iniCustom der Reihe nach auf.
Es fehlen die ersten drei Zeilenwerte: