Fragen Sie! - Seite 71

 

Gefragt & Beantwortet

Hallo zusammen,

Ich dachte, ich hätte meine Antworten mit dem folgenden Code:

double range[5];

for(int i=1;i<5;i++)

{

range={High-Low};

int Max=ArrayBsearch(range,10,WHOLE_ARRAY,1,MODE_ASCEND);

double MaxRange=(High[Max]-Low[Max])/Point;

}

Print("Max Range: ",MaxRange," found at index: ",Max);

Aber es gibt immer noch nur den letzten Index und nicht den größten Bereichsindex zurück.

Für jede weitere Hilfe wäre ich dankbar.

SaxMan

 

Fehler behoben

SaxMan:
Hallo zusammen,

Ich dachte, ich hätte meine Antworten mit dem folgenden Code:

double range[5];

for(int i=1;i<5;i++)

{

range={High-Low};

int Max=ArrayBsearch(range,10,WHOLE_ARRAY,1,MODE_ASCEND);

double MaxRange=(High[Max]-Low[Max])/Point;

}

Print("Max Range: ",MaxRange," found at index: ",Max);

[/code]

But it still just returns the last index not the largest range index.

Any further help would be appreciated.

SaxMan

Hier ist die Lösung:

[code]

double range[5];

for(int i=1;i<5;i++)

{

range={High-Low};

int Max=ArrayMaximum(Bereich);

double MaxRange=(High[Max]-Low[Max])/Point;

}

Print("Max Range: ",MaxRange," gefunden bei Index: ",Max);

Dies könnte verwendet werden, um den höchsten/niedrigsten Wert (mit ArrayMinimum(range)) des Arrays zu ermitteln und beliebige Variablen zu vergleichen.

Ich hoffe, das hilft,

SaxMan

 

Gleicher Code mit Ergänzungen

Hinzugefügt:

* Minimaler Bereich

* Vertikale Linien zur Hervorhebung der Balken für den Max- und Min-Bereich:

double range[2000];

for(int i=1;i<2000;i++)

{

range={High-Low};

int Max=ArrayMaximum(range,WHOLE_ARRAY,1);

int Min=ArrayMinimum(range,WHOLE_ARRAY,1);

double MaxRange=(High[Max]-Low[Max])/Point;

double MinRange=(High[Min]-Low[Min])/Point;

}

Print("Max Range: ",MaxRange," pips found at index: ",Max);

Print("Min Range: ",MinRange," pips found at index: ",Min);

int time1=Time[Max];

int time2=Time[Min];

ObjectCreate("stats1",OBJ_VLINE,0,0,0);

ObjectSet("stats1", OBJPROP_TIME1, time1);

ObjectSet("stats1", OBJPROP_COLOR, Red);

ObjectSet("stats1", OBJPROP_WIDTH, 1);

ObjectCreate("stats2",OBJ_VLINE,0,0,0);

ObjectSet("stats2", OBJPROP_TIME1, time2);

ObjectSet("stats2", OBJPROP_COLOR, Blue);

ObjectSet("stats2", OBJPROP_WIDTH, 1);
 

Der Code erfüllt die Anforderungen, zeigt aber keinen Wert an

extern Bool Direction_Up=true;

if(Direction_Up==true) Dir="UP"; ///////////Das ist eine falsche Konvertierung - Wie konvertiere ich es in die richtige Syntax????

ObjectCreate("Dir", OBJ_LABEL, 0, 0, 0);

ObjectSetText("Dir", 10, "Arial", White);///////////Das ist falsch - Wie bringe ich es dazu, UP auf dem Bildschirm anzuzeigen????

ObjectSet("Dir", OBJPROP_CORNER, 1);

ObjectSet("Dir", OBJPROP_XDISTANCE, 36);

ObjectSet("Dir", OBJPROP_YDISTANCE, 120);///

Dave <<<
 

Hallo,

int start()

{

int i;

if ((Year() >= X) && (Month() >= Y))

{

Comment("===========",expired,"===========");

return(0);

}

GetPosition = StrToTime(StrGetPosition);

StartOrderTime = StrToTime(StrStartOrderTime);

EndOrderTime = StrToTime(StrEndOrderTime);

return(0);

Meine Frage ist:

Ist GetPosition, StartOrderTime, EndOrderTime wird ausgeführt werden?

Zum Wohl

 

Fragen

Hallo!

Ein Freund von mir hat mir von dieser Seite erzählt. Sie erzählte mir, dass sie die besten mql-Programmierer haben.

Hier ist eine:

Wenn ich einen Code einstelle, zum Beispiel...., um um 15:30 Uhr zu kaufen (die meiste Zeit der Nachrichten), habe ich den Wirtschaftskalender überprüft.

if (Hour()==15)

{

if (Minute()>=30)

{

if (Seconds()>=00)

[/PHP]

After this, something like this goes:

[PHP]

OrderSend(Symbol().......................

Jeder schreibt ihn anders, hehe.

Warum kann es nicht dasselbe sein?

Okay, so sieht es aus. Für den obigen Code möchte ich, dass der OrderSend........ und der weiterführende Teil einen BuyStop 30 Pips über dem Preis um 15:30:00 und einen SellStop 25 Pips unter dem Preis um 15:30:00 erstellen.

Ich habe meine beste Freundin gefragt, und sie meinte, ich solle euch fragen. Also, ich hoffe wirklich, dass ihr eine große Hilfe seid.

Ich habe Wochen damit verbracht, diesen Code zu entschlüsseln. Das ist kein Scherz. Kann mir jemand helfen, der mit mql4 programmiert?

---Julia---

 
iscuba11:
extern Bool Direction_Up=true;

if(Direction_Up==true) Dir="UP"; ///////////Das ist eine falsche Konvertierung - Wie konvertiere ich es in die richtige Syntax????

ObjectCreate("Dir", OBJ_LABEL, 0, 0, 0);

ObjectSetText("Dir", 10, "Arial", White);///////////Das ist falsch - Wie bringe ich es dazu, UP auf dem Bildschirm anzuzeigen????

ObjectSet("Dir", OBJPROP_CORNER, 1);

ObjectSet("Dir", OBJPROP_XDISTANCE, 36);

ObjectSet("Dir", OBJPROP_YDISTANCE, 120);///

Dave <<<

Hallo Iscuba11,

siehe Code für Fix & Erklärung

extern bool Direction_Up=true; //-- bool with a lower case "b"

string Dir; //-- Dir has to be declared as a string

if(Direction_Up==true) Dir="UP";

ObjectCreate("Dir", OBJ_LABEL, 0, 0, 0);

ObjectSetText("Dir",Dir, 10, "Arial", White); // -- you left out the text to print - you named the object only.

ObjectSet("Dir", OBJPROP_CORNER, 1);

ObjectSet("Dir", OBJPROP_XDISTANCE, 36);

ObjectSet("Dir", OBJPROP_YDISTANCE, 120);

Ich hoffe, das hilft weiter,

SaxMan

 

Wochen?!

MQL4: Automatisierter Devisenhandel, Strategietester und benutzerdefinierte Indikatoren mit MetaTrader

Suche nach OrderSend() - docs

Angebot

OrderSend - MQL4 Dokumentation

int OrderSend( string symbol, int cmd, double volume, double price, int slippage, double stoploss, double takeprofit, string comment=NULL, int magic=0, datetime expiration=0, color arrow_color=CLR_NONE)

symbol - Symbol für den Handel.

cmd - Typ der Operation. Es kann eine beliebige Aufzählung der Handelsoperationen sein.

volume - Anzahl der Lots.

price - Bevorzugter Preis für den Handel.

slippage - Maximale Preisabweichung für Kauf- oder Verkaufsaufträge.

stoploss - Stop-Loss-Niveau.

takeprofit - Höhe des Take-Profits.

comment - Text des Auftragskommentars. Der letzte Teil des Kommentars kann vom Server geändert werden.

magic - Magische Nummer der Order. Kann als benutzerdefinierter Bezeichner verwendet werden.

expiration - Verfallszeit der Order (nur für schwebende Orders).

arrow_color - Farbe des Eröffnungspfeils auf dem Chart. Wenn der Parameter fehlt oder den Wert CLR_NONE hat, wird der Eröffnungspfeil nicht auf dem Chart gezeichnet.

In unserem Fall haben wir also dies:

OrderSend(Symbol(),OP_BUYSTOP,0.1,Ask+30*Point,3,0,0,NULL,1,0); OrderSend(Symbol(),OP_SELLSTOP,0.1,Bid-25*Point,3,0,0,NULL,1,0);

Das war's!

Kein Stoploss, kein Takeprofit.

Bitte beachten Sie: Ihr Broker wird (höchstwahrscheinlich) keine neuen Orders um 15:30 Uhr annehmen, denken Sie nicht einmal im Traum daran. Ja, es wird auf der Demo funktionieren, aber nicht auf dem echten Konto - nicht früher als 5 Minuten vor den Nachrichten und nicht weniger als 3 Minuten nach den Nachrichten.

Verwenden Sie Suchmaschinen

Google

Yahoo!

und andere.

PS:

Wenn Sie möchten, dass ich einen EA für Sie schreibe, schreiben Sie mir eine PM.

 

Sie haben mir mit der Code-Korrektur den Tag und das Wochenende versüßt. Vielen Dank dafür!

Mögen Sie ein gesegnetes Wochenende haben!

Mit freundlichen Grüßen,

Dave

<<<
 

Wie kann ObjectCreate auf einem Indikator-Separate-Window gegenüber dem Chart-Window???? verwendet werden? Das wäre sehr praktisch!

Dave <<<