|
Startseite | Registrieren | Hilfe | Benutzerliste | Kalender | Suchen | Heutige Beiträge | Alle Foren als gelesen markieren |
Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4. |
|
Themen-Optionen | Thema durchsuchen | Ansicht |
|
|||
NoDeal im Bereich psycholog. Marken
Hallo, liebe Programmier-Gemeinde,
piptrade hat da `mal `ne Frage: Seit Tagen versuche ich einen bestimmten Bereich an psycholog. wichtigen Marken (z.B. DAX 11.100, 11.200, 11.300 usw. - jeweils +/- 7 * Point) mittels Variablen zu definieren, um ihn für eine OrderOpen auszuschließen; - leider ohne ein einfaches und möglichst elegantes Ergebnis zu erzielen.: rolleyes: Kann mir jemand an dieser Stelle weiterhelfen und mir mit dem richtigen Tipp zur Seite stehen ? Würde mich riesig freuen und bedanke mich schon `mal im voraus. GlG. piptrade |
|
|||
Wenn ich dich richtig verstehe, könnte dir mit einer kleinen Funktion geholfen werden um einen Wertebereich abzufragen.
Code:
bool IsInRange(double aMin, double aMax, double aVal) { if(aMin<=aMax) return((aVal>=aMin) && (aVal<=aMax)); else return((aVal<=aMin) && (aVal>=aMax)); } Mit Funktionen ist es auch im Hauptprogramm wesentlich flüssiger zu lesen, als dort zig Variablen abzufragen. Das nur so nebenbei. |
|
|||
Hello Kronenchakra,
das sieht alles schon recht toll aus - soweit erst einmal ein herzl. Danke. Dennoch - die Deklaration der Bereiche ist nicht unbedingt das Problem. Das Problem besteht in der Deklaration der "aVal"; - hier will ich nicht zig Ziffern, sondern statt dessen ein bis zwei Variable implementieren. ... also so etwas, wie dieses hier (DAX): Code:
int aVal = 100 *x; for (x >= 100, x <= 200, x++); Würde dies oder etwas ähnliches funktionieren ? Warte gespannt auf Antwort. LG. piptrade |
|
|||
Zitat:
Hier ein kleines Script zum Ausprobieren. Das geile an C ist die einfache Handhabung von mehreren Schleifenvariablen. Das Script gibt dir die Zahlen 100 bis 1000 in Hunderterschritten aus. Code:
void OnStart() { int i,j; for(i=0, j=100 ; i<10; i++, j=j+100) Print(j); } Code:
void OnStart() { int i; for(i=100; i<=1000; i=i+100) Print(i); } Das gibt's zB in Delphi(Pascal) nicht. Nett ist auch wenn Variablen gleichzeitig rauf und runterzählen. Code:
void OnStart() { int i,j; for(i=0, j=1000 ; i<10; i++, j=j-100) Print("i: ",i, " j:",j); } Ich hoffe damit helfen zu können. Falls nicht, frag weiter. LG Otto Geändert von Kronenchakra (17.01.17 um 23:58 Uhr) Grund: Ergänzung |
|
|||
Hallo Kronenchakra,
das ist ja der Hammer ! - absolute SPITZE !!! - noch besser oder auch umfangreicher geht es glaube ich nicht ! Mir ist zwischenzeitlich auch etwas eingefallen, deshalb eine letzte Frage: Ginge das auch "SO": ?) Code:
int Limit = 15000; for(int i > 10000; i < Limit; i++) und ganz LG. piptrade |
|
|||
NACHTRAG zu meinem letzten Statement:
Hallo Kronenchakra! - oder auch auch an jeden anderen, der weiterhelfen kann! Mein letzter script-Vorschlag war wohl doch nicht so das Richtige ! Habe mir heute (mit ein wenig mehr Zeit) nochmals jede gepostete Zeile vorgenommen und versucht einen in sich vollständigen Schnipsel zustande zu bringen: Code:
//+--- BarrierenFilter „Barr_Top100" (DAX): --------------------+ extern int BarrLimit_Min = 7; extern int BarrLimit_Max = 5; extern int Limit = 15000; //+-----------------------------------------+ double int BL_Min = BarrLimit_Min *10 *Point; double int BL_Max = BarrLimit_Max *10 *Point; double int limit = Limit *10 *Point; //+--- and then: double aMin = i - BL_Min; double aMax = i + BL_Max; for (int i = 10000 *10 *Point; i <= limit; i = i + 100 *10 *Point) bool PriceBarr; { if (Bid >= aMin && Bid <= aMax) return (PriceBarr=0); } //+--- finish with Order_ENTRY: ------------+ if (... && PriceBarr != 0) Bitte denkt daran, - Ihr habt auch einmal angefangen! LG. Euer piptrade |
Lesezeichen |
Stichworte |
marken, mql4, orderopen, programmierung, programmierung metatrader, psychologische marken |
Themen-Optionen | Thema durchsuchen |
Ansicht | |
|
|