Hilfe bei der Codierung - Seite 63

 

Auf diese Weise prüfen Sie nur die Aufträge mit der angegebenen magischen Zahl (und dem Symbol).

dasio:
Auf diese Weise prüfe ich die Aufträge, die nicht mit der angegebenen magischen Zahl eröffnet wurden, richtig? Ich muss die Reihenfolge mit bestimmten Symbol und magische Zahl zu überprüfen. Ich weiß nicht, ob es wichtig ist, aber ich fand den Fehler in Strategie-Tester
 
drofwarc:
Hallo zusammen,

Ich weiß, dass es möglich ist, einen EA zwischen den Trades pausieren zu lassen, entweder durch die Verwendung von Sleep() oder durch die Aufzeichnung eines Zeitstempels und das Warten von n Sekunden nach dem Zeitstempel, bevor ein weiteres Signal zugelassen wird.

Aber ist es möglich, das Gleiche für einen Indikator zu tun.

Ich möchte zum Beispiel, dass ein Indikator, der Pfeile an der Kreuzung zweier gleitender Durchschnitte anzeigt, n Balken nach einer Kreuzung überspringt, bevor er einen weiteren Pfeil anzeigt. Mit anderen Worten: Wenn ein weiteres Kreuz auftritt, bevor n Balken vergangen sind, würde der Indikator das Kreuz ignorieren und keinen Pfeil zeichnen.

Ich habe ausgiebig nach einem Indikator gesucht, der dies tut, aber ich hatte kein Glück.

Könnte jemand entweder einen Indikator posten, der diese Funktion bereits hat, damit ich den Code studieren kann? Oder könnte mir jemand ein Beispiel für einen Code geben, der für diesen Vorschlag funktioniert, damit ich versuchen kann, ihn zu implementieren.

Vielen Dank!

drofwarc

BUMP!

Hallo mladen, ich weiß, dass du mit so vielen Anfragen im Forum beschäftigt bist. Aber ich würde es sehr zu schätzen wissen, wenn du mir zumindest einen Hinweis auf eine Codelösung für dieses Problem geben könntest.

Vielen Dank im Voraus.

drofwarc

 

drofwarc

Sleep() Funktion funktioniert nicht in Indikatoren, so dass Sie über den Timer von den Indikatoren vergessen können (wenn Sie auf Ticks abhängen, können Sie nicht eine genaue Zeit zu bekommen). Was die Zählung angeht, so ist das kein Problem, was die Codierung angeht. Wenn du ein Beispiel angibst, an dem du gearbeitet hast, dann könnte man zeigen, wie man in solchen Fällen zählt.

drofwarc:
BUMP!

Hallo mladen, ich weiß, dass du mit so vielen Anfragen im Forum beschäftigt bist. Aber ich wäre dir sehr dankbar, wenn du mir wenigstens einen Tipp geben könntest, wie ich das kodieren kann.

Vielen Dank im Voraus.

drofwarc
 
mladen:
drofwarc Sleep() Funktion funktioniert nicht in Indikatoren, so können Sie über den Timer von den Indikatoren vergessen (wenn Sie auf Ticks abhängen, können Sie nicht eine genaue Zeit zu bekommen). Was die Zählung betrifft, so ist sie kodierungstechnisch kein Problem. Wenn Sie ein Beispiel zur Verfügung stellen, an dem Sie gearbeitet haben, kann gezeigt werden, wie man in solchen Fällen zählt

Hallo mladen,

vielen Dank für Ihre Antwort. Unten ist der Code für einen einfachen Indikator, der jedes Mal einen Pfeil zeichnet, wenn der Preis sich umkehrt. Ich möchte Folgendes tun können: Nachdem der Indikator ein gültiges Setup gefunden hat, sollte er n Bars zurückblicken (wobei n in den Einstellungen einstellbar ist), um festzustellen, ob ein gültiges Signal vorlag oder nicht.

Liegt ein gültiges Signal innerhalb der Rückblickperiode vor, wird kein neuer Pfeil auf Basis des aktuellen gültigen Setups gezeichnet.

Liegt kein gültiges Signal innerhalb des Rückblickzeitraums vor, wird ein neuer Pfeil auf der Grundlage des aktuell gültigen Setups gezeichnet.

#property indicator_chart_window

#property indicator_buffers 1

#property indicator_color1 Red

#property indicator_color2 DodgerBlue

double UpArrowBuffer[];

double DownArrowBuffer[];

///////////Arrows

extern int ArrowSize = 1;

extern int Offset = 100;

extern color UpColor = White;

extern color DnColor = White;

extern color NoSignalColor = DarkGray;

extern int myWingDing1 = 233 ;

extern int myWingDing2 = 234 ;

double Poin;

//+------------------------------------------------------------------+

//| Custom indicator initialization function |

//+------------------------------------------------------------------+

int init() {

//---- indicator buffers mapping

SetIndexBuffer(0,UpArrowBuffer);

SetIndexBuffer(1,DownArrowBuffer);

//---- drawing settings

SetIndexStyle(0,DRAW_ARROW,0,ArrowSize, UpColor);

SetIndexArrow(0,myWingDing1);

SetIndexStyle(1,DRAW_ARROW,0,ArrowSize, DnColor);

SetIndexArrow(1,myWingDing2);

Poin = Point;

if ((Point == 0.00001) || (Point == 0.001)) Poin *= 10;

return(0);

}

//+------------------------------------------------------------------+

//| Custom indicator deinitialization function |

//+------------------------------------------------------------------+

int deinit() {

//----

//----

return(0);

}

//+------------------------------------------------------------------+

//| Custom indicator iteration function |

//+------------------------------------------------------------------+

int start() {

int limit;

int counted_bars=IndicatorCounted();

if(counted_bars>0) counted_bars--;

limit=Bars-counted_bars;

for(int i=limit; i>=0; i--)

{

if (Close Open)

{

UpArrowBuffer = Low - Offset*Point;

}

if (Close > Open && Close < Open)

{

DownArrowBuffer = High + Offset*Point;

}

}

return(0);

}

//+------------------------------------------------------------------+*/

Ich hoffe, dies ist klar .

Mit freundlichen Grüßen,

drofwarc

 

Hilfe

Kann mir jemand bei diesem Problem helfen?

Ich möchte zwei "VoltyChannel_Stop_v2.1_TRO_MODIFIED_VERSION+.mq4" in einem Chart mit unterschiedlichen Einstellungen verwenden, aber

Wenn ich zwei platziere, wird nur ein Preisfeld angezeigt. Gibt es eine Möglichkeit, beide Preisfelder anzuzeigen?

 

drofwarc

Anbei ein modifizierter Indikator, der die Balken ab dem letzten Signal der gleichen Art zählen kann, bevor er ein neues Signal anzeigt. Hier ist ein Beispiel mit 15 Balken Abstand eingestellt:

drofwarc:
Hallo mladen,

Vielen Dank für Ihre Antwort. Im Folgenden finden Sie den Code für einen einfachen Indikator, der bei jeder Preisumkehr einen Pfeil anzeigt. Ich möchte Folgendes tun können: Nachdem der Indikator ein gültiges Setup gefunden hat, sollte er n Balken zurückblicken (wobei n in den Einstellungen einstellbar ist), um festzustellen, ob ein gültiges Signal vorhanden war oder nicht.

Liegt ein gültiges Signal innerhalb der Rückblickperiode vor, wird kein neuer Pfeil auf Basis des aktuellen gültigen Setups gezeichnet.

Liegt kein gültiges Signal innerhalb des Rückblickzeitraums vor, wird ein neuer Pfeil auf der Grundlage des aktuell gültigen Setups gezeichnet.

#property indicator_chart_window

#property indicator_buffers 1

#property indicator_color1 Red

#property indicator_color2 DodgerBlue

double UpArrowBuffer[];

double DownArrowBuffer[];

///////////Arrows

extern int ArrowSize = 1;

extern int Offset = 100;

extern color UpColor = White;

extern color DnColor = White;

extern color NoSignalColor = DarkGray;

extern int myWingDing1 = 233 ;

extern int myWingDing2 = 234 ;

double Poin;

//+------------------------------------------------------------------+

//| Custom indicator initialization function |

//+------------------------------------------------------------------+

int init() {

//---- indicator buffers mapping

SetIndexBuffer(0,UpArrowBuffer);

SetIndexBuffer(1,DownArrowBuffer);

//---- drawing settings

SetIndexStyle(0,DRAW_ARROW,0,ArrowSize, UpColor);

SetIndexArrow(0,myWingDing1);

SetIndexStyle(1,DRAW_ARROW,0,ArrowSize, DnColor);

SetIndexArrow(1,myWingDing2);

Poin = Point;

if ((Point == 0.00001) || (Point == 0.001)) Poin *= 10;

return(0);

}

//+------------------------------------------------------------------+

//| Custom indicator deinitialization function |

//+------------------------------------------------------------------+

int deinit() {

//----

//----

return(0);

}

//+------------------------------------------------------------------+

//| Custom indicator iteration function |

//+------------------------------------------------------------------+

int start() {

int limit;

int counted_bars=IndicatorCounted();

if(counted_bars>0) counted_bars--;

limit=Bars-counted_bars;

for(int i=limit; i>=0; i--)

{

if (Close Open)

{

UpArrowBuffer = Low - Offset*Point;

}

if (Close > Open && Close < Open)

{

DownArrowBuffer = High + Offset*Point;

}

}

return(0);

}

//+------------------------------------------------------------------+*/

Ich hoffe, dies ist klar .

Mit freundlichen Grüßen,

drofwarc
Dateien:
test.gif  41 kb
_test.mq4  3 kb
 
ZANKY:
Kann mir jemand dabei helfen?

Ich möchte zwei "VoltyChannel_Stop_v2.1_TRO_MODIFIED_VERSION+.mq4" in einem Chart mit unterschiedlichen Einstellungen verwenden, aber

Wenn ich zwei platziere, wird nur ein Preisfeld angezeigt. Gibt es eine Möglichkeit, beide Preisfelder anzuzeigen?

Ändern Sie einfach Zeile 85 mit dieser und kompilieren Sie es, es sollte als eine Art magische Zahl funktionieren, so dass, solange eine der Eingaben geändert wird, die zweite Preisbox auch geladen wird.

ftShortName = "tbb "+ Symbol + tChartPeriod +MA_Length + ATR_Length + Kv + MA_Mode +MoneyRisk + MA_Price;

 

Ich danke Ihnen!

cja

Ich danke Ihnen vielmals! Es funktioniert perfekt.

 

Hallo Mladen. Ich kann nicht viel Englisch, Sorry.

Bitte helfen Sie mir, diese Indikatoren zu machen, wenn die Linie nach oben oder unten in einer anderen Farbe geht. Ich danke dir!

Dateien:
1234.gif  23 kb
rmi.mq4  5 kb
 
mladen:
drofwarc

Im Anhang finden Sie einen modifizierten Indikator, der die Balken ab dem letzten Signal derselben Art zählen kann, bevor ein neues Signal angezeigt wird. Hier ist ein Beispiel mit 15 Balken Abstand eingestellt:

Hallo mladen,

vielen Dank! Das ist genau das, wonach ich gesucht habe.

Ich wünsche Ihnen eine schöne Weihnachtszeit!

drofwarc

Grund der Beschwerde: