[WARNUNG GESCHLOSSEN!] Alle Fragen von Neulingen, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Ohne dich kann ich nirgendwo hingehen. - Seite 263

 
Run >> :

Können Sie mir sagen, wie ich ein Quadrat oder Rechteck zeichnen kann, ohne es als Hintergrund zu zeichnen, und wie ich es als Rahmen zeichnen kann?

Dankeschön

Setzen Sie in der Liste der Objekteigenschaften die Eigenschaft Rechteck, das als Hintergrund gezeichnet werden soll, auf false:

ObjectSet( string name, OBJPROP_BACK, false) ;

Aber das Objekt wird vor dem Diagramm gezeichnet.

 

bearbeiten | löschen

Ich entschuldige mich für eine vielleicht unangemessene Frage...


Ich bin ein wenig langsam mit Indikatorpuffern.... Oder ich habe den Indikator selbst noch nicht ganz verstanden...


Könnten Sie mir bitte mitteilen, wie ich auf den BrainTrend2StopN-Indikator verweisen kann, falls möglich?


Ich möchte prüfen, ob die Eröffnung des aktuellen Balkens höher/niedriger als die Indikatorwerte ist.

Ich greife auf den Indikator aus dem EA mit string:


iCustom(NULL,0, "BrainTrend2StopN",CountBars, 1,0)

oder

iCustom(NULL,0, "BrainTrend2StopN",CountBars, 0,0)

für Null und den ersten Puffer bzw.....

Aber der Expert Advisor reagiert nicht auf diesen String...


Vielen Dank im Voraus.

Dateien:
 
Morzh09 >> :

iCustom(NULL,0, "BrainTrend2StopN",CountBars,1,0)

oder

iCustom(NULL,0, "BrainTrend2StopN",CountBars,0,0)

für Null und den ersten Puffer bzw.....

Der Expert Advisor reagiert nicht auf diesen String...

Beachten Sie, dass Sie 2 externe Parameter in Ihrem Indikator haben:

extern int Simbol =119;

extern intBars=500;

müssen Sie sie alle in die iCustom schreiben:


iCustom(NULL,0,"BrainTrend2StopN", Simbol, CountBars, 0,0);

iCustom(NULL,0,"BrainTrend2StopN", Simbol, CountBars, 1,0);
 

alsu


Ich danke Ihnen vielmals. Ich habe den Code korrigiert, jetzt übergebe ich beide Parameter, aber leider erhalte ich beim Aufruf von Alert mit Indikatorpufferwerten nur Nullen....


Wenn Sie die Möglichkeit haben, können Sie mir sagen, wie man damit umgeht.

Dateien:
bt1_1.mq4  10 kb
 

Versuchen Sie

Alert("Buy signal",
      "  ",
      DoubleToStr(iCustom(NULL,0,"BrainTrend1StopN", Simbol, CountBars, EnableAlerts, SignalID,1,0),8),
      "   ", 
      DoubleToStr(iCustom(NULL,0,"BrainTrend1StopN", Simbol, CountBars, EnableAlerts, SignalID,0,0),8)
      );
 
Bitte helfen Sie mir, Herr Programmierer. Ich kämpfe schon seit einer Woche damit, aber nichts funktioniert, weil ich keine Ahnung habe, wie man programmiert. Können Sie einen Indikator für die Kreuzung zweier HMAs mit Pfeilen schreiben?
Dateien:
hma.mq4  4 kb
 

aus irgendeinem Grund nicht versteht, was eine Verschiebung ist und keine Pfeile setzen will

#property indicator_chart_window
//#property indicator_chart_window
#Eigenschaft indicator_buffers 4
#property indicator_color1 Magenta // 12
#Eigenschaft indicator_color2 Blau // 26
#property indicator_color3 MediumBlue
#property indicator_color4 Tomate
#Eigenschaft indicator_width1 2
#property indicator_width2 2
#Eigenschaft indicator_width3 1
#Eigenschaft indicator_width4 1
//---- Indikatorparameter
extern int FastHMA = 12;
extern int SlowHMA = 26;
extern inttern ExtmethodFastHMA=0; // MODE_SMA
extern int int ExtmethodSlowHMA=0; // MODE_SMA
extern int ExtpriceFastHMA=0; // PRICE_CLOSE
extern int ExtpriceSlowHMA=0; // PRICE_CLOSE
extern int ExtsdvigFastHMA=0;
extern int ExtsdvigSlowHMA=0;
extern bool EnableAlert=true;
extern string ExtSoundFileName = "";
//---- Indikatorpuffer
double PreHMA1[];
double PreHMA2[];
double CrossUp[];
double CrossDown[];
static int bBuy = 0;
static int bSell = 0;

//+------------------------------------------------------------------+
int pF, pS;

//+------------------------------------------------------------------+
//| Benutzerdefinierte Initialisierungsfunktion für Indikatoren |
//+------------------------------------------------------------------+
int init()
{

//Mitte
SetIndexStyle( 0, DRAW_LINE );
SetIndexStyle( 1, DRAW_LINE );
// Signale
SetIndexStyle( 2, DRAW_ARROW, EMPTY );
SetIndexArrow( 2, 233 );
SetIndexStyle( 3, DRAW_ARROW, EMPTY );
SetIndexArrow( 3, 234 );

//---- 5 Indikatorpuffer-Zuordnung
SetIndexPuffer(0,PreHMA1);
SetIndexPuffer(1,PreHMA2);
SetIndexBuffer( 2,CrossUp );
SetIndexBuffer( 3,CrossDown );

IndicatorDigits( MarketInfo( Symbol(), MODE_DIGITS ) );

//---- Name für das Datenfenster und die Bezeichnung des Unterfensters des Indikators
IndicatorShortName("HMA2("+FastHMA+", "+SlowHMA+")");
SetIndexLabel( 0, "HMA("+FastHMA + "," +SlowHMA +")" + FastHMA );
SetIndexLabel( 1, "HMA(" + FastHMA + "," + SlowHMA+")" + SlowHMA );
SetIndexLabel( 2, "Kaufen" );
SetIndexLabel( 3, "Verkaufen" );

pF = MathSqrt(FastHMA);
pS = MathSqrt(SlowHMA);

//---- Initialisierung abgeschlossen
zurück(0);
}


//+------------------------------------------------------------------+
double WMA(int x, int p) {
return(iMA(NULL, 0, p, 0, MODE_SMA, PRICE_CLOSE, x+sdvig))
}


//+------------------------------------------------------------------+
//| Gleitender Durchschnitt des Oszillators |
//+------------------------------------------------------------------+
int start()
{

bool bConditionUp;
{ bConditionDown;
Doppelter Bereich;
double AvgRange;

int-Grenze;
int-Zähler;
int counted_bars=IndicatorCounted();

//---- zuletzt gezählte Takt wird nachgezählt
if(gezählte_Balken>0) gezählte_Balken--;
limit=Balken-gezählt_Balken;

//---- Vorbereitung der HMA
for(int i=0; i<limit; i++) {
PreHMA1[i] = 2*WMA(i, FastHMA/2) - WMA(i, FastHMA);
PreHMA2[i] = 2*WMA(i, SlowHMA/2) - WMA(i, SlowHMA);

AvgRange = 0;
bConditionUp = 0;
bConditionDown = 0;
for ( counter = i; counter <= i + 9; counter++ ) {
AvgRange += MathAbs( High[ Zähler ] - Low[ Zähler ] );
}
Bereich = AvgRange/10;
bConditionUp = (PreHMA1[i+1] >= PreHMA2[i+1] ) &&
(PreHMA1[i+2] <= PreHMA2[i+2] ) &&
(PreHMA1[i] >= PreHMA2[i] ); // Kreuz nach oben
bConditionDown = (PreHMA1[i+1] <= PreHMA2[i+1] ) &&
(PreHMA1[i+2] >= PreHMA2[i+2] ) &&
(PreHMA1[i] <= PreHMA2[i] ); // Kreuz nach unten
if ( bConditionUp) {//
CrossUp[i+1] = PreHMA2[i+1]-Range * 0,75;
CrossDown[i+1] = EMPTY_VALUE;
bConditionDown = false;
}

if ( bConditionDown) {//
CrossDown[i+1] = PreHMA2[i+1]+Bereich * 0,75;
CrossUp[i+1] = EMPTY_VALUE;
bConditionUp = false;
}

if (!bConditionUp && !bConditionDown) {
CrossDown[i+1] = EMPTY_VALUE;
CrossUp[i+1] = EMPTY_VALUE;
}

if (bConditionUp && !bBuy==1 && i==0 && EnableAlert){
bBuy = 1; // Kaufkennzeichen setzen
bSell = 0; // Flagge für Verkauf zurücksetzen
Alert (Symbol()," ",Period(), "M Achtung BUY "); // Piepton
if ( ExtSoundFileName != "" ) PlaySound( ExtSoundFileName );
}
if (bConditionDown && !bSell==1 && i==0 && EnableAlert){
bBuy = 0; // Kaufkennzeichen setzen
bSell = 1; // Zurücksetzen des Verkaufsflags
Alert (Symbol()," ",Zeitraum(), "M Achtung SELL "); // Piepton
if ( ExtSoundFileName != "" ) PlaySound( ExtSoundFileName );
}
//Kommentar ("Buy-"+bBuy+"\nSell-"+bSell);
} // für

//Rückgabe ("0 );
}
//zum Kaufen
// if (bBuy==0 && i < 1 && EnableAlert) {
///Warnung (Symbol()," ",Punkt(), "M Achtung BUY "); // Piepton
// Alarm ("Kaufen,",bBuy,",i,",EnableAlert);
// if ( ExtSoundFileName != "" ) PlaySound( ExtSoundFileName );
// }

// if (bSell==0 && i < 1 && EnableAlert) {
///Alarm (Symbol()," ",Zeitraum(), "M Achtung SELL ");
// Warnung ("Sell-",bSell," ",i," ",EnableAlert);
// if ( ExtSoundFileName != "" ) PlaySound( ExtSoundFileName );
// }

Könnte mir bitte jemand sagen, was mein Fehler ist?

 
kurt >> :


Kann mir jemand sagen, was mein Fehler ist?

Bringen Sie den Code zunächst in eine lesbare Form, wobei Sie Tabulatoren zur Angabe der Verschachtelungsebene und die Schaltfläche SRC verwenden

 

Hallo.


Bitte helfen Sie mir, die Informationsfunktion aus dem Tutorial https://book.mql4.com/ru/build/info zu verstehen, die ich seit einer Woche nicht verstanden habe, warum keine Signale von ihr erscheinen? Ich habe den Expert Advisor genau aus dem Tutorial übernommen, die Informationen sind darin enthalten.


Muss ich einen Indikator zu meinem Diagramm hinzufügen? Womit soll ich sie füllen? Das Beispiel hat einen leeren Indikator und ich möchte ihn mit dem füllen, was ich möchte... Wie kann ich die Signale der Funktion Inform() anzeigen lassen?

 

Es sieht so aus, als ob eine Woche für uns Neulinge die Frist ist, nach der wir zu euch pros)))) gehen.


Schlussfolgerung aus den letzten Beiträgen...