Wie programmiert man? - Seite 68

 

Höhe des vorherigen Balkens

Hallo,

Können Sie bitte den Code für den vorherigen Balken angeben.

Dies kann in der EA verwendet werden, um die Platzierung der Aufträge zu begrenzen, wenn die vorherige Bar mehr als bestimmte Höhe ist.

Mit freundlichen Grüßen,

SIDDESH

 

Plz korrigieren meinen Code (grundlegende EMA, STOC etc.)

Hallo.. im neu hier n neu zu mql4 Codierung.. ich habe einige Codes basierend auf bestimmten Zustand konstruieren.. hoffen u Jungs können mir helfen, zu korrigieren, wenn theres jeden Fehler...

okay.. lasst uns beginnen

1) EMA CROSS

KAUFEN wenn:

- EMA 5 > EMA 18

- beide Linien sind aufwärts gerichtet

- Unterschied zwischen aktuellem und vorherigem Preis für EMA5 >= 10pips

Derzeit verwende ich dies:

double EMA5 = iMA(NULL, 0, 5, 0, MODE_EMA, PRICE_CLOSE, 0);

double EMA5_prev = iMA(NULL, 0, 5, 0, MODE_EMA, PRICE_CLOSE, 1);

double EMA18 = iMA(NULL, 0, 18, 0, MODE_EMA, PRICE_CLOSE, 0);

double EMA18_prev = iMA(NULL, 0, 18, 0, MODE_EMA, PRICE_CLOSE, 1);

if (EMA5 > EMA18) {

if ( EMA5 - EMA5_prev >= 10 && EMA18 > EMA_prev) {

Order = BUY;

}

}

[/CODE]

2) RSI

double RSI = iRSI(NULL, 0, 18, PRICE_CLOSE, Current + 0);

double RSI_prev = iRSI(NULL, 0, 18, PRICE_CLOSE, Current + 1);

if (RSI > 50 && RSI > RSI_prev) {

Order = BUY;

}

[/CODE]

3) STOCH

Buy when the Oscillator (either %K or %D) falls below a specific level (e.g., 20) and then rises above that level. Sell when the Oscillator rises above a specific level (e.g., 80) and then falls below that level

[code]

double STOCH_K = iStochastic(NULL, 0, 5, 3, 3, MODE_SMA, 0, MODE_MAIN, 0);

double STOCH_D = iStochastic(NULL, 0, 5, 3, 3, MODE_SMA, 0, MODE_SIGNAL, 0);

if (STOCH_K < 20 || STOCH_D < 20) {

Order = BUY;

}

* i think i've skipped the red one.. dont know how to do that part..

Buy when the %K line rises above the %D line and sell when the %K line falls below the %D line

[code]

double STOCH_K = iStochastic(NULL, 0, 5, 3, 3, MODE_SMA, 0, MODE_MAIN, 0);

double STOCH_D = iStochastic(NULL, 0, 5, 3, 3, MODE_SMA, 0, MODE_SIGNAL, 0);

if (STOCH_K > STOCH_D) {

Order BUY;

} else

if {STOCH_K < STOCH_D) {

Order SELL;

}

4) In Stoc coding, MODE_MAIN zeigt an, für was? MODE_SIGNAL zeigt an, für was?

5) Wie kann man einen Auto-Close- und Auto-On-Timer für EA einrichten?

z.B.: Öffnen um 8 Uhr und Schließen um 17 Uhr

6) Wie kann man einen EA auf einem anderen Chart deaktivieren, wenn ein Posten geöffnet wird?

z.B. einen EA auf 2 Paaren (GU und EJ) verwenden, wenn ein Post auf GU geöffnet wird, dann den EA auf EJ deaktivieren.

Sorry, wenn diese Frage ist ziemlich grundlegend.. hoffen u Jungs können mich lehren.. thx

 

Ein kniffliger Stoploss - können Sie hier helfen?

Ich habe einen Trend-Riding-EA erstellt. Wenn der Gewinn ein bestimmtes Niveau erreicht, möchte ich den Stoploss für einen Teil der offenen Lots auf dieses Gewinnniveau verschieben. Den Rest der Lots würde ich in Ruhe lassen (oder den Stoploss für den Rest bis zum Break Even verschieben).

Ich verwende keinen Take Profit.

Wie kodiere ich das?

Vielen Dank!

Großer Be

 
Big Be:
... Wenn der Gewinn ein bestimmtes Niveau erreicht, möchte ich den Stoploss für einen TEIL der offenen Lots auf dieses Gewinnniveau verschieben. ..

Wie kodiere ich das?

Danke!

Großes Be

Sie können das nicht tun, es sei denn, Sie haben mehrere Positionen: es kann nur einen SP/TP pro Position geben. Aber Sie können einen Teil einer Position schließen: Geben Sie einfach die Anzahl der Lots, die Sie schließen möchten, in die Funktion OrderClose(..) ein.

Was Sie auch tun können (es hängt von Ihrem Broker ab) ist, einen Pending Stop (Hedge) für den gewünschten Teil zu setzen: dann müssen Sie später einen "CloseBy" Befehl oder eine Funktion ausführen.

 

Frage zum #Import

Hallo zusammen

ich muss diese API-Funktion in MT4 aufrufen

int GetMouseMovePoints(

UINT cbSize // Größe der MOUSEMOVEPOINT-Struktur

LPMOUSEMOVEPOINT lppt, // Zeiger auf aktuellen Mausbewegungspunkt

LPMOUSEMOVEPOINT lpptBuf, // Puffer zum Speichern der Punkte

int nBufPoints, // wieviele Punkte der Puffer speichern kann

DWORD resolution // Auflösung der Punkte

);

bitte sagen Sie mir die #import Klausel

danke

 
DooMGuarD:
Hallo zusammen

Ich muss diese API-Funktion in MT4 aufrufen

int GetMouseMovePoints(

UINT cbSize // Größe der MOUSEMOVEPOINT-Struktur

LPMOUSEMOVEPOINT lppt, // Zeiger auf aktuellen Mausbewegungspunkt

LPMOUSEMOVEPOINT lpptBuf, // Puffer zum Speichern der Punkte

int nBufPoints, // wieviele Punkte der Puffer speichern kann

DWORD resolution // Auflösung der Punkte

);

Bitte nennen Sie mir die #import-Klausel

danke

Ich habe Ihre Frage in diesen Thread verschoben.

 

Ein Handel pro Bar?

Ich weiß, dass dieses Thema schon einmal behandelt wurde, aber kann mir jemand einen Code zeigen, der nur 1 Handel pro Bar erlaubt?

Danke!

 

Michel,

danke.

Das hatte ich schon befürchtet.

Jetzt muss ich "Spaß mit magischen Zahlen" lernen.

Groß sein

 

Frage!!!

Wie kann ich das codieren?

Wenn die letzten 6 Trades ein Verlust waren, habe ich dies versucht, und es funktioniert nicht!!!

int MTL;

extern MaxTradeLoss=6;

int start()

{

for(int b=0;b<MaxTradeLoss;b++)

{

if(OrderSelect(b,SELECT_BY_POS,MODE_HISTORY)==true)

{

if(OrderSymbol()==Symbol() && OrderProfit()<0)

{

MTL++;

}

}

}

MTL=0;

return(0);

}

 
Dan7974:
Wie muss ich das codieren?

Wenn die letzten 6 Trades ein Verlust waren, habe ich dies versucht, und es wird nicht funktionieren!!!

int MTL;

extern MaxTradeLoss=6;

int start()

{

for(int b=0;b<MaxTradeLoss;b++)

{

if(OrderSelect(b,SELECT_BY_POS,MODE_HISTORY)==true)

{

if(OrderSymbol()==Symbol() && OrderProfit()<0)

{

MTL++;

}

}

}

MTL=0;

return(0);

}

Ihre Anweisung MTL=0; setzt MTL ziemlich genau auf Null, unabhängig davon, was in der "for"-Schleife gezählt wurde. Diese Zeile sollte vor der "for"-Schleife stehen und nicht danach.