Hilfe bei der Codierung - Seite 96

 

Hallo Mladen ,

Ich möchte ein paar Dinge in meinem Code verfolgen, und einer von ihnen ist die Anzahl der offenen Geschäfte mit verschiedenen magischen Zahlen und verschiedenen Kommentaren aus dem gleichen Paar, also verwende ich diesen Code, irgendwo im Code mache ich einen Fehler, da die CPU 100% ist, also versuche ich, meine Funktionen zu verbessern. das Folgende ist eine davon, können Sie bitte eine bessere Alternative für meine Methode vorschlagen

x=OrdersTotal(); xx=x; //-- Count How magic number && comment are open for the same pair for( i=0;i<x;i++) { OrderSelect(i, SELECT_BY_POS, MODE_TRADES); if( OrderSymbol() == Sym /*&& OrderCloseTime()==0 */){

TemMagic= OrderMagicNumber(); TemOrdComment= OrderComment(); OrdOpenPrice= OrderOpenPrice(); OrdType= OrderType(); iSameSymTotal++; // count all oopen trades from the same Symbol for( i=0;i<xx;i++) { OrderSelect(i, SELECT_BY_POS, MODE_TRADES); if( OrderSymbol() == Sym ){ if ( TemMagic!= OrderMagicNumber())CounTMagic++; if (TemOrdComment!= OrderComment())CounTComment++; }} }}
 
MiniMe:
Hallo Mladen ,

Ich möchte ein paar Dinge in meinem Code verfolgen, und einer von ihnen ist die Anzahl der offenen Trades mit verschiedenen magischen Zahlen und verschiedenen Kommentaren aus dem gleichen Paar, also verwende ich diesen Code, irgendwo im Code mache ich einen Fehler, da die CPU 100% ist, also versuche ich, meine Funktionen zu verbessern. das folgende ist eines davon, können Sie bitte eine bessere Alternative für meine Methode vorschlagen

x=OrdersTotal(); xx=x; //-- Count How magic number && comment are open for the same pair for( i=0;i<x;i++) { OrderSelect(i, SELECT_BY_POS, MODE_TRADES); if( OrderSymbol() == Sym /*&& OrderCloseTime()==0 */){

TemMagic= OrderMagicNumber(); TemOrdComment= OrderComment(); OrdOpenPrice= OrderOpenPrice(); OrdType= OrderType(); iSameSymTotal++; // count all oopen trades from the same Symbol for( i=0;i<xx;i++) { OrderSelect(i, SELECT_BY_POS, MODE_TRADES); if( OrderSymbol() == Sym ){ if ( TemMagic!= OrderMagicNumber())CounTMagic++; if (TemOrdComment!= OrderComment())CounTComment++; }} }}[/PHP]

Verwenden Sie einen Code wie diesen (fügte einige Kommentare hinzu, um zu verdeutlichen, was wo gespeichert wird) :

[PHP] string uniques[][4]; ArrayResize(uniques,0);

//

//

// uniques[][0] -> Symbol

// uniques[][1] -> Magische Zahl

// uniques[][2] -> Kommentar

// uniques[][3] -> Anzahl der Vorkommen

// muss mit StrToInt() in int umgewandelt werden

//

//

for( int i=OrdersTotal()-1; i>=0; i--)

{

OrderSelect(i,SELECT_BY_POS, MODE_TRADES);

bool found=false;

for (int k=ArrayRange(uniques,0)-1; k>=0 && !found; k--)

if (OrderSymbol() == uniques[k][0] && OrderMagicNumber() == StrToInteger(uniques[k][1]) && OrderComment() == uniques[k][2]) { uniques[k][3] = StrToInteger(uniques[k][3])+1; found=true; }

if (!found)

{

k = ArrayRange(uniques,0);

ArrayResize(uniques,k+1);

uniques[k][0] = OrderSymbol();

uniques[k][1] = BestellMagischeZahl();

uniques[k][2] = BestellKommentar();

uniques[k][3] = 1;

}

}

PS: die Größe des Arrays selbst (ArrayRange(uniques,0)) ist die Anzahl der eindeutigen Kombinationen von Symbol + magischer Zahl + Kommentar, und uniques[nn][3] zeigt an, wie viele Vorkommnisse für diese bestimmte Kombination in der Warteschlange für Bestellungen vorhanden sind

 

Vielen Dank, Mladen,

wenn ich sagen will, dass ich mehr als einen Handel habe, wäre das if (uniques[1][3] == 1) , richtig ?

aber das lässt sich nicht kompilieren, liegt es daran, dass uniques[1][3] ein String-Array ist?

Sollte es lauten

if (StrToInteger(uniques[1][3])==1) ?

 
MiniMe:
Vielen Dank Mladen ,

Wenn ich sagen möchte, ob ich mehr als einen Handel habe, wäre das if (uniques[1][3] == 1), richtig?

Aber das lässt sich nicht kompilieren, liegt das daran, dass uniques[1][3] ein String-Array ist?

Sollte das so sein

if (StrToInteger(uniques[1][3])==1) ?

ja, Sie müssen es zuerst in eine ganze Zahl umwandeln. Aber dann wäre die Bedingung : if (StrToInteger(uniques[1][3])>1) und es wäre für das zweite gefundene Symbol + magische Zahl + Kommentar einzigartige Kombination

 

Hallo Mladen,

ich habe dieses Demark's sequential...aber es ist falsch in der Countdown-Phase.

Das ist die genaue Erklärung aus dem Buch von Jason Perl:

tD Setup vs. tD Sequentieller Countdown

Sobald TD Setup abgeschlossen ist, kann TD Countdown beginnen, und zwar ab dem Schluss

von Takt neun des TD Setup (einschließlich), beginnen. Der Unterschied zwischen

den beiden Strategien ist der folgende:

- TD Setup vergleicht den aktuellen Schlusskurs mit dem entsprechenden Schlusskurs

vier Balken zuvor,

Während

- TD Countdown vergleicht den aktuellen Schlusskurs mit dem Tiefstkurs zwei Balken

und vergleicht den aktuellen Schlusskurs mit dem zwei Balken früher liegenden Höchstkurs für einen möglichen Verkauf.

Diese Preisbeziehung ist ein wichtiger Unterschied zum TD Setup.

ein wichtiger Unterschied zu TD Setup, denn der Markt muss

TD Countdown objektiv den wahrscheinlichen Erschöpfungspunkt für eine Trendumkehr identifizieren kann.

Erschöpfungspunkt für eine Trendumkehr zu identifizieren.

Man kann damit beginnen, nach dem ersten Balken eines TD Buy Countdowns zu suchen

wenn ein TD Buy Setup vorhanden ist.

■ TD Buy Countdown einleiten

Nach

TD Buy Setup vorhanden ist, suchen Sie nach dem Beginn eines TD Buy Countdowns.

Wenn

Takt neun eines TD Buy Setups ebenfalls einen Schlusskurs aufweist, der kleiner oder gleich dem Tiefstkurs zwei Takte

früher

dann,

Takt neun eines TD Buy Setups wird zu Takt eins eines TD Buy Countdowns.

Wenn

Diese Bedingung ist nicht erfüllt,

dann

wird der erste Balken des TD Buy Countdowns verschoben, bis er erfüllt ist, und der TD Buy Countdown

wird so lange fortgesetzt, bis es insgesamt dreizehn Schlussstände gibt, von denen jeder kleiner oder gleich ist,

dem Tiefststand zwei Takte zuvor.

tD Sell Countdown

Sobald ein TD Sell Setup eingerichtet ist, können wir nach dem ersten

Bar eines TD Sell Countdowns; Bar neun eines TD Sell Setups kann auch Bar

eines TD Sell Countdowns sein, wenn er die folgenden Bedingungen erfüllt.

■ Bedingung für einen TD Sell Countdown

Bei Takt neun des TD Sell Setups muss ein Schlusskurs vorliegen, der größer oder

gleich dem Hoch zwei Bars zuvor.

In meinem Bild sehen Sie (für den Countdown-Verkauf), dass Takt Nr. 6 keinen Abschluss hat, der größer ist als das Hoch zwei Takte zuvor....so ist es falsch!

Bitte, können Sie diesen Fehler für Countdown-Kauf und -Verkauf korrigieren?

Vielen Dank im Voraus

Dateien:
 

Ich habe den Fehler gefunden (die verdammte Version 500 von mt4 erstellt die ex4-Dateien nicht), jetzt funktioniert es. Ich habe versucht, den Beitrag zu löschen, aber es ging nicht.

marley60:
hallo,

Ich hoffe, Sie können mir dabei helfen. Ich möchte, dass die Punkte (Pfeile; aqua&yellow) des indi in Fenster zwei als Punkte (Pfeile) auf dem Close (oder High für Kaufsignal/Low für Verkaufssignal) in Fenster eins (dem Hauptchartfenster) angezeigt werden. Ich habe es stundenlang versucht, aber ich werde nie ein Coder sein ;-)

 
marley60:
Ich habe den Fehler gefunden (die verdammte Version 500 von mt4 erstellt die ex4-Dateien nicht), jetzt funktioniert es. Ich habe versucht, den Beitrag zu löschen, aber es ging nicht.

Machen Sie sich keine Sorgen über den vorherigen Beitrag

Wenigstens wissen wir von einem weiteren Fehler in Build 500

 

Hallo an alle!

Ich habe ein 3-minütiges Video zusammengestellt, in dem ich mein Problem erkläre, um zu versuchen, prägnanter und schlagkräftiger zu sein und um Hilfe zu bitten!

Video:2013-06-13_1517 - D.Gilberto's library - sollte es klar erklären!

Ich würde mich sehr über Vorschläge und Hilfe freuen. Ich bin im Grunde wollen, um herauszufinden, was die Bar ist zum Zeitpunkt der, wenn alle gleitenden Durchschnitte kreuzen, wenn die nächsten Bars nach diesem einen, kommt zurück, um die 21 EMA berühren - An diesem Punkt möchte ich meine Bestellung auf dem Hoch / Tief dieser Bar Bereichen platziert werden. Der Auftrag sollte auf der ersten Bar gezogen werden, um über die 60 EMA schließen ...

Ich hoffe, das ist nicht zu viel verlangt und ich würde es sehr schätzen, wenn mir ein kluger Kopf zur Hand gehen würde!

Ich danke Ihnen!

 

Coders

Ich mag diese einfache Strategie, die auf dem RSI im Bild (vielleicht ist es von TS)

Schön und einfach und doch effektiv Keine Notwendigkeit, mehr zu klären, ein Bild sagt mehr als tausend Worte !

Ist es möglich, solche Indikatoren ( RSI Kerzen & Oszillator ) für MT4 zu codieren ? oder haben wir bereits solche Indikatoren !

Danke

Dateien:
 
marley60:
Ich habe den Fehler gefunden (die verdammte Version 500 von mt4 erstellt die ex4-Dateien nicht), jetzt funktioniert es. Ich habe versucht, den Beitrag zu löschen, aber es ging nicht.

Marley,

Siehe meinen Beitrag unter Metatrader Known Bugs. Ich und mehrere andere haben das gleiche Problem gehabt

Tzuman