Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 80
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
Im Prüfgerät auf einem anderen Symbol? Oder in Demo/Echtzeit auf einem anderen Symbol? Oder im Tester auf diesem Symbol? Oder auf Demo/Echt auf dieses Symbol?
Warum müssen Sie alles aus sich herausholen?
Tut mir leid, ich bin sehr nerdig - ich verstehe das nicht wirklich.
Vielleicht haben Sie den einfachsten Indikator mit einem Code von einigen, ich habe eine Analogie zu verstehen? Weil ich keine finden konnte.
Ich habe einen sehr einfachen Code, der Punkte in die Mitte des Balkens setzt. Wie bringe ich den Text zum Vorschein, wenn ich mit dem Mauszeiger darüber fahre, oder ein Feld, was auch immer.
#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 Black
//---- input parameters
//---- buffers
double ExtMapBuffer1[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
SetIndexStyle(0,DRAW_ARROW);
SetIndexArrow(0,159);
SetIndexBuffer(0,ExtMapBuffer1);
SetIndexEmptyValue(0,0.0);
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int counted_bars=IndicatorCounted();
int limit=Bars-counted_bars;
//----
for(int i=limit; i>=0; i--)
{
double fabody0 = fabs(Close[i]-Open[i]);
double fabody1 = fabs(Close[i+1]-Open[i+1]);
double fabody2 = fabs(Close[i+2]-Open[i+2]);
double fabody3 = fabs(Close[i+3]-Open[i+3]);
double fabody4 = fabs(Close[i+4]-Open[i+4]);
double fabody5 = fabs(Close[i+5]-Open[i+5]);
double fabody6 = fabs(Close[i+6]-Open[i+6]);
double fabody7 = fabs(Close[i+7]-Open[i+7]);
if((fabody0>fabody1) && (fabody0>fabody2) && (fabody0>fabody3) && (fabody0>fabody4) && (fabody0>fabody5) && (fabody0>fabody6) &&(Volume[i]>Volume[i+1]))
{
if (((Close[i]>Open[i])&&(Low[i]+(High[i]-Low[i])/2>Low[i+1]+(High[i+1]-Low[i+1])*0.9))||((Close[i]<Open[i])&&(Low[i]+(High[i]-Low[i])/2<Low[i+1]+(High[i+1]-Low[i+1])*0.1)))
ExtMapBuffer1[i]=(iHigh(Symbol(),0,i)+iLow(Symbol(),0,i))/2;
}
}
//----
return(0);
}
Worauf wollen Sie hinaus? Welchen Unterschied macht es, wo Sie es probiert haben? Die Frage ist, ob Punkt = 0 ist. Und wenn ja, wie sollte ich korrekten Code schreiben, damit ich nicht auf einen Fehler stoße: Division durch Null?
Wie Sie wollen.
Ich habe nicht den ganzen Dialog gelesen, aber ich vermute ein Problem mit dem Druck der fünften Nachkommastelle.
Nein, es dividiert durch Point() und erhält eine Division durch Null.
Ich habe nicht den ganzen Dialog gelesen, aber ich vermute ein Problem mit dem Druck des fünften Dezimalkommas.
Könnte das das Problem sein?
Versuchen Sie
Hallo.
Bitte um Hilfe.
Nun steigt die Menge jeder folgenden Reihenfolge in 1, 2, 3, 4, 5...
Ich möchte, dass die Menge jeder Bestellung nicht bei jeder Bestellung steigt, sondern in 3er-Schritten, also 1, 1, 1, 1, 2, 2, 2, 3, 3, 3...
extern double Plus_LotStop = 0.01;
extern double Plus_N_ORD = 3; //каждые N ордеров
void OnTick()
{
//---
for (int i=1; i<=OrdersStop; i++)
{
if((Close[1]<Open[1]&&Close[2]>Open[2]&&NumberOfPositions(Symbol(), -1,_Magic)<1))
{
OPENORDER (OP_BUYSTOP,PriceBS,LOTs,_Magic,i);
numB++;
PriceBS = NormalizeDouble(PriceBS+Step_Stop*Point,Digits);
OPENORDER (OP_SELLSTOP,PriceSS,LOTs,_Magic,i);
numS++;
PriceSS = NormalizeDouble(PriceSS-Step_Stop*Point,Digits);
}
LOTs=LOTs+Plus_LotStop;
}
}