Hilfe bei der Codierung - Seite 119

 
Tomcat98:
Hallo zusammen,

Frage an die Programmierer über "Handelsbedingungen":

Wenn ich sage;

Erster Code:

"

wenn ( Blah Blah < Blah Blah)

if ( Blah Blah > Blah Blah) result = (OP_SELL);

"

Zweiter Code:

"

( Blah Blah Blah Blah) result = (OP_SELL);

"

Ist der "erste Code" derselbe wie der "zweite Code"?

Müssen im "ersten Code" die 2 Bedingungen insgesamt erfüllt sein oder nur eine, um einen "VERKAUF" auszulösen?

Ist der "zweite Code" restriktiver?

Können Sie mich bitte darüber aufklären?

Entschuldigung für dieses Blah Blah ... Loooll

Danke vielmals.

Kater98

Keine Sorge wegen des Blah Blah Die beiden Codeschnipsel sind im Großen und Ganzen genau gleich. Wahrscheinlich gibt es ein paar kleine Unterschiede, was den kompilierten Code betrifft, aber was die Ausführung betrifft, kommen sie zum gleichen Ergebnis. Keiner der Schnipsel ist restriktiver

 
mladen:
Mach dir keine Sorgen über das Blabla Die beiden Codeschnipsel sind im Großen und Ganzen genau die gleichen. Wahrscheinlich gibt es ein paar kleine Unterschiede, was den kompilierten Code angeht, aber was die Ausführung angeht, führen sie zu genau demselben Ergebnis. Keiner der Schnipsel ist restriktiver

Was für eine prompte Antwort. Vielen Dank für die Antwort.

Ich hatte mich über diese Codes gewundert, aber jetzt nicht mehr.

Ich danke Ihnen sehr, Mladen.

Ich wünsche Ihnen eine gute Handelswoche.

Kater98

 
TheGMan:
Hallo mladen, ich hatte diesen Indikator vor langer Zeit optimiert und ich mag, wie er jetzt angezeigt wird, aber das einzige Problem ist, dass er jetzt viel zu viel CPU verbraucht. Könnten Sie bitte einen Blick unter die Haube werfen und sehen, ob vielleicht der Code bereinigt werden muss oder warum er meine Plattform einfriert, wenn die Märkte in Bewegung geraten.

Wir werden das sehr zu schätzen wissen!

Vielen Dank im Voraus!

G

Hallo mladen oder mr tools, können Sie sich den Code ansehen und sehen, ob er ein wenig bereinigt werden muss. Es scheint meine Plattform einzufrieren, wenn sich die Märkte schnell bewegen.

Danke

G

Dateien:
 
TheGMan:
Hallo mladen oder mr tools, können Sie sich den Code dieses Indikators ansehen und sehen, ob er ein wenig aufgeräumt werden muss. Es scheint zu frieren meine Plattform, wenn die Märkte beginnen, schnell zu bewegen.

Danke

G

TheGMan

Dieser Indikator sucht nach Daten aus mehreren Zeitrahmen und das ist der Grund, warum er Ihren PC verlangsamt. Viele Leute haben sich in letzter Zeit darüber beschwert (besonders seit den Builds 500 und 509) und es ist vielleicht sogar ein Problem, dass diese Builds aus irgendeinem Grund in diesem Indikator verursachen

 
mladen:
TheGMan Dieser Indikator sucht nach Daten aus mehreren Zeitrahmen und das ist der Grund, warum er Ihren PC verlangsamt. Viele Leute haben sich in letzter Zeit darüber beschwert (besonders seit den Builds 500 und 509) und es ist vielleicht sogar ein Problem, das diese Builds aus irgendeinem Grund in diesem Indikator verursachen

Danke für die Antwort mladen,

So eine Schande, wie ich wirklich mochte, dass indi & jetzt ist fast unmöglich zu verwenden.

G

 
TheGMan:
Vielen Dank für die Antwort mladen,

So eine Schande, wie ich wirklich mochte, dass indi & jetzt ist fast unmöglich zu verwenden.

G

Es passiert manchmal mit einigen Builds von Metatrader

Ich erinnere mich, als iStdDevOnArray() solche Probleme verursachte (und die Indikatoren, die es benutzten, so langsam wie eine Schnecke machte) und dann wurde es korrigiert. Wenn ein neuer Build erscheint, überprüfen Sie ihn erneut. Wer weiß: vielleicht funktioniert es dann wieder gut.

 

Problem mit einem Skript

Hallo,

Ich habe ein Skript, das drei Aufträge in der Zeit sendet, mit verschiedenen TP. Aber manchmal funktioniert es, und manchmal gibt es nur die erste oder erste und zweite Bestellung gemacht, aber die letzte ist weg zu timuktu, oder sonst. Ich denke, drei Aufträge in der Zeit zu senden kann nur funktionieren, wenn der Server nicht zu beschäftigt ist.

Kann mir jemand helfen und das Script so ändern, dass es die verlorenen Bestellungen nach ein paar Sekunden wieder neu versucht? Und ist es möglich, einen Sound zu machen, wenn eine Order ausgeführt wird?

Herzlichen Dank

111buy_fps.mq4

Dateien:
 
effenn:
Hallo,

Ich habe ein Skript, das drei Aufträge in der Zeit, mit verschiedenen TP senden. Aber manchmal funktioniert es, und manchmal gibt es nur die erste oder erste und zweite Bestellung gemacht, aber die letzte ist weg zu timuktu, oder sonst. Ich denke, drei Aufträge in der Zeit zu senden kann nur funktionieren, wenn der Server nicht zu beschäftigt ist.

Kann mir jemand helfen und das Script so ändern, dass es die verlorenen Bestellungen nach ein paar Sekunden wieder neu versucht? Und ist es möglich, einen Sound zu machen, wenn eine Order ausgeführt wird?

Herzlichen Dank

111buy_fps.mq4

effenn

Versuchen Sie dies zu benutzen

Setzen Sie die Wiederholungen auf eine gewünschte Anzahl, wie oft das Skript versuchen wird, die gleiche Bestellung zu öffnen, wenn es ein Problem gibt. Und setzen Sie PauseBetweenRetries auf die gewünschte Anzahl von Millisekunden, um zwischen jedem neuen Versuch, die Order zu öffnen, zu pausieren

Dateien:
buy_fps_2.mq4  3 kb
 

Bin gerade diesem wunderbaren Forum beigetreten. Habe einen sehr interessanten EA im MT4 Forum https://www.mql5.com/en/code/8491 gefunden . Es muss noch mehr Arbeit geleistet werden. Ich bin kein Programmierer, aber ich denke, es ist machbar

Der Code sollte modifiziert werden, um Callendar von DailyFX oder einer anderen Quelle zu lesen. Vielleicht auch etwas anderes

Jede Hilfe würde wirklich geschätzt werden.

 

Mladen, der Kauf- und Verkaufsteil des obigen Codes funktioniert nicht. Der Stop funktioniert, aber es gibt keinen Alarm!

mladen:
Versuchen Sie etwas wie dieses:
static datetime lastAlerted1=0;

static datetime lastAlerted2=0;

static string lastType1="";

static string lastType2="";

//Momentum.....1hour

double mom_1h=iMomentum(NULL,60,14,PRICE_CLOSE,0);

double b4mom_1h=iMomentum(NULL,60,14,PRICE_CLOSE,1);

//========Alerts for buy and Sell==========

//Alerts for buy

if((mom_1h>99.6353)&&(mom_1h>b4mom_1h)&&(lastAlerted1!=Time[0] && lastType1!="Buy")){

lastAlerted1=Time[0];

lastType1="Buy";

Alert("Buy","\n","Current time is ",TimeToStr(CurTime()),"\n",Symbol());

}

//Alerts for Sell

if((mom_1h<100.7482)&&(mom_1h<b4mom_1h)&&(lastAlerted1!=Time[0] && lastType1!="Sell")){

lastAlerted1=Time[0];

lastType1="Sell";

Alert("Sell","\n","Current time is ",TimeToStr(TimeLocal(),TIME_SECONDS),"\n",Sym bol( ));

}

//==========Alerts for Stop buying and sell==============

//Alert to stop Buy

if((mom_1h<b4mom_1h)&&(lastAlerted2!=Time[0]&&lastType2!="Stop Buy")){

lastAlerted2=Time[0];

lastType2="Stop Buy";

Alert("Stop Buy","\n","Current time is ",TimeToStr(CurTime()),"\n",Symbol());

}

//Alerts to Stop Selling

if((mom_1h>b4mom_1h)&&(lastAlerted2!=Time[0]&&lastType2!="Stop Sell")){

lastAlerted2=Time[0];

lastType2="Stop Sell";

Alert(" Stop Sell","\n","Current time is ",TimeToStr(TimeLocal(),TIME_SECONDS),"\n",Sym bol( ));

}