[WARNUNG GESCHLOSSEN!] Alle Fragen von Neulingen, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Ohne dich kann ich nirgendwo hingehen. - Seite 161
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
In dem von mir eingestellten Indikator (um sie dann mit Time[i] zu vergleichen):
Dann in der Schleife
Infolgedessen ergeben StrToTime(StartRange) und StrToTime(EndRange) Nullen .
- Warum und wie kann ich das beheben?
Und wie schaffen Sie es, eine Datetime-Variable in die Funktion StrToTime zu setzen? Da sollte eine Schnur drin sein!
Oder glauben Sie, dass das Auftragsformular D'1970.12.24' eine Zeichenkette ist? Sie irren sich.
Vielleicht brauchen Sie TimeToStr?
Dies führt dazu , dassStrToTime(StartRange) und StrToTime(EndRange) Nullen ergeben .
- Warum und wie kann dies behoben werden?
Offensichtlich war es mein Fehler (falsch interpretiertes Beispiel
aus der Dokumentation). Es stellte sich heraus, dass es möglich ist, die Variable "datetime" direkt mit Time[i] zu vergleichen.
Vielen Dank für die Hilfe!
//+------------------------------------------------------------------+
//| Custom MACD.mq4 |
//| Copyright © 2004, MetaQuotes Software Corp. |
//| http://www.metaquotes.net/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2004, MetaQuotes Software Corp."
#property link "http://www.metaquotes.net/"
//---- indicator settings
#property indicator_separate_window
#property indicator_buffers 3
#property indicator_color1 Silver
#property indicator_color2 Red
#property indicator_color3 Blue
#property indicator_width1 2
//---- indicator parameters
extern int FastEMA=12;
extern int SlowEMA=26;
extern int SignalSMA=9;
extern int SMA=12;
//---- indicator buffers
double MacdBuffer[];
double SignalBuffer[];
double EMABuffer[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- drawing settings
SetIndexStyle(0,DRAW_HISTOGRAM);
SetIndexStyle(1,DRAW_LINE);
SetIndexStyle(2,DRAW_LINE);
SetIndexDrawBegin(1,SignalSMA);
IndicatorDigits(Digits+1);
//---- indicator buffers mapping
SetIndexBuffer(0,MacdBuffer);
SetIndexBuffer(1,SignalBuffer);
SetIndexBuffer(2,EMABuffer);
//---- name for DataWindow and indicator subwindow label
IndicatorShortName("MACD("+FastEMA+","+SlowEMA+","+SignalSMA+","+SMA+")");
SetIndexLabel(0,"MACD");
SetIndexLabel(1,"Signal");
//---- initialization done
return(0);
}
//+------------------------------------------------------------------+
//| Moving Averages Convergence/Divergence |
//+------------------------------------------------------------------+
int start()
{
int limit;
int counted_bars=IndicatorCounted();
//---- last counted bar will be recounted
if(counted_bars>0) counted_bars--;
limit=Bars-counted_bars;
//---- macd counted in the 1-st buffer
for(int i=0; i<limit; i++)
MacdBuffer[i]=iMA(NULL,0,FastEMA,0,MODE_EMA,PRICE_CLOSE,i)-iMA(NULL,0,SlowEMA,0,MODE_EMA,PRICE_CLOSE,i);
//---- signal line counted in the 2-nd buffer
for(i=0; i<limit; i++)
SignalBuffer[i]=iMAOnArray(MacdBuffer,Bars,SignalSMA,0,MODE_SMA,i);
//---- done
for(i=0; i<limit; i++)
EMABuffer[i]=iMAOnArray(MacdBuffer,Bars,SMA,0,MODE_SMA,i);
//---- done
return(0);
}
//+------------------------------------------------------------------+
Wie mache ich eine MA mit einem negativen Offset zum Beispiel -5 Bars, wenn ich es auf -5 es zeichnet einige Bullshit?
как мне сделать МА с отрицательным смещением например на -5 баров, когда ставлю -5 рисует каюто фигню ??
Warum Blödsinn? Gibt es etwas, das Sie nicht sehen wollen? Oder übersehe ich etwas !!!!
Oben ist Ihre Variante, unten ist die Variante mit einer Verschiebung von -5 ! nur um -5 Takte verschoben, was ist falsch oder falsch????????
Warum Blödsinn? Gibt es etwas, das Sie nicht sehen wollen? Oder übersehe ich etwas !!!!
Oben ist Ihre Variante, unten ist die Variante mit einer Verschiebung von -5 ! nur um -5 Takte verschoben, was ist falsch oder falsch????????
Nun, das stimmt, aber wenn ich versuche, den EA aufzurufen.
//+------------------------------------------------------------------+
//| fgfgfgfgfgf.mq4 |
//| Evgenio |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Evgenio"
#property link "http://www.metaquotes.net"
extern int FastEMA=12;
extern int SlowEMA=26;
extern int SignalSMA=9;
extern int SMA=12;
//---переменные----------
double k,k1,k2;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
k=NormalizeDouble(iCustom(Symbol(),0,"MACD+мувинг",FastEMA,SlowEMA,SignalSMA,SMA,0,0),5);
k1=NormalizeDouble(iCustom(Symbol(),0,"MACD+мувинг",FastEMA,SlowEMA,SignalSMA,SMA,1,0),5);
k2=NormalizeDouble(iCustom(Symbol(),0,"MACD+мувинг",FastEMA,SlowEMA,SignalSMA,SMA,2,0),5);
if (OrdersTotal()<=2)
{
if (k>0 && k2>k1+0.0005)
ObjectCreate("down"+Time[1], OBJ_ARROW, 0, Time[1], Open[1]+100*Point);
ObjectSet("down"+Time[1], OBJPROP_ARROWCODE, 242);
ObjectSet("down"+Time[1], OBJPROP_COLOR, Yellow);
}
return(0);
}
//+------------------------------------------------------------------+
es funktioniert nicht.
Das tue ich
1. einen Test für einen bestimmten Zeitraum durchführen
2. ich bringe einen Indikator an
3 Ich erhalte etwas Seltsames.
Wie kann ich die
Ich möchte, dass mein EA nur einmal am Tag eine Order eröffnet.
Wenn sie einen Auftrag eröffnet, dann schließt sie ihn und schaltet sich bis zum nächsten Tag aus.
Ich schätze, ich muss das letzte Geschäft aus der Historie holen... es mit dem Datum vergleichen und wenn die Bestellung an diesem Tag bereits abgeschlossen wurde, dann den EA deaktivieren...
Denken Sie in die richtige Richtung?
Ich kann es nicht ganz verstehen. Ich bin neu in MQL.
Guten Tag, liebe Kollegen.
Bitte beraten Sie mich, wie ich die Wendepunkte in der Software, d.h. dem Experten, erklären kann, d.h. der Experte muss zwischen zwei Möglichkeiten der МА-Position unterscheiden: МА steigend, МА fallend.