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?
Worauf wollen Sie hinaus? Welchen Unterschied macht es, wo Sie es probiert haben? Die Frage ist, ob Punkt = 0. Und wenn ja, wie schreibe ich den Code richtig, damit ich nicht auf einen Fehler stoße: Division durch Null?
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_buffers1 #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() { //----
Gevorg Hakobyan: 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.
Prüfen Sie daher den Teiler vor der Teilung auf Null.
Ich dachte, Sie interessieren sich für die Ursache, nicht für die Wirkung, und für die geeignete Krücke.
Im Allgemeinen ist das genau das, was Sie brauchen, aber das Problem ist, dass die Beschreibung recht umfangreich ist und diese Methode buchstäblich ein paar Wörter schreiben kann - der Rest wird einfach nicht angezeigt
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;
}
}