Hilfe bei der Codierung - Seite 15

 

Bitte, Hilfe über Trailing

Ich habe einen EA mit Forex EA Generator erstellt, alles scheint zu funktionieren, das Trailing funktioniert bei BUY wie gewünscht, aber bei SELL funktioniert es nicht,

Bitte helfen Sie mir zu verstehen, wo der Fehler liegt,

danke

..................................

IfOrderDoesNotExist8();

}

}

void IfOrderDoesNotExist8()

{

bool exists = false;

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

if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))

{

if (OrderType() == OP_BUY && OrderSymbol() == Symbol() && OrderMagicNumber() == 1)

{

existiert = true;

}

}

sonst

{

Print("OrderSelect() Fehler - ", ErrorDescription(GetLastError()));

}

if (exists == false)

{

BuyOrder24();

}

}

void KaufBestellung24()

{

double SL = Ask - BuyStoploss24*PipValue*Point;

wenn (BuyStoploss24 == 0) SL = 0;

double TP = Ask + BuyTakeprofit24*PipValue*Point;

wenn (BuyTakeprofit24 == 0) TP = 0;

int ticket = -1;

wenn (true)

ticket = OrderSend(Symbol(), OP_BUY, BuyLots24, Ask, 3, 0, 0, "36912direct5M@", 1, 0, Blue);

sonst

ticket = OrderSend(Symbol(), OP_BUY, BuyLots24, Ask, 3, SL, TP, "36912direct5M@", 1, 0, Blau);

wenn (Ticket > -1)

{

if (true)

{

OrderSelect(ticket, SELECT_BY_TICKET);

bool ret = OrderModify(OrderTicket(), OrderOpenPrice(), SL, TP, 0, Blue);

if (ret == false)

Print("OrderModify() Fehler - ", ErrorDescription(GetLastError()));

}

}

sonst

{

Print("Fehler bei OrderSend() - ", ErrorDescription(GetLastError()));

}

}

void CloseOrder21()

{

int orderstotal = OrdersTotal();

int orders = 0;

int ordticket[30][2];

for (int i = 0; i < orderstotal; i++)

{

OrderSelect(i, SELECT_BY_POS, MODE_TRADES);

if (OrderType() != OP_SELL || OrderSymbol() != Symbol() || OrderMagicNumber() != 1)

{

fortfahren;

}

ordticket[orders][0] = OrderOpenTime();

ordticket[orders][1] = OrderTicket();

orders++;

}

if (Bestellungen > 1)

{

ArrayResize(ordticket,orders);

ArraySort(ordticket);

}

for (i = 0; i < Bestellungen; i++)

{

if (OrderSelect(ordticket[1], SELECT_BY_TICKET) == true)

{

bool ret = OrderClose(OrderTicket(), OrderLots(), OrderClosePrice(), 3, Red);

if (ret == false)

Print("OrderClose() Fehler - ", ErrorDescription(GetLastError()));

}

}

}

void TrailingStop10()

{

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

if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))

{

if (OrderSymbol() == Symbol() && OrderMagicNumber() == 1)

{

double takeprofit = OrderTakeProfit();

if (OrderType() == OP_BUY && Ask - OrderOpenPrice() > TrailingStop10*PipValue*Point)

{

if (OrderStopLoss() < Ask-(TrailingStop10+TrailingGap10)*PipValue*Point)

{

if (NewTakeProfit10 != 0) takeprofit = Ask+(NewTakeProfit10 + TrailingStop10)*PipValue*Point;

bool ret1 = OrderModify(OrderTicket(), OrderOpenPrice(), Ask-TrailingStop10*PipValue*Point, takeprofit, OrderExpiration(), White);

if (ret1 == false)

Print("OrderModify() Fehler - ", ErrorDescription(GetLastError()));

}

}

if (OrderType() == OP_SELL && OrderOpenPrice() - Bid > TrailingStop10*PipValue*Point)

{

if (OrderStopLoss() > Bid+(TrailingStop10+TrailingGap10)*PipValue*Point)

{

if (NewTakeProfit10 != 0) takeprofit = Bid-(NewTakeProfit10 + TrailingStop10)*PipValue*Point;

bool ret2 = OrderModify(OrderTicket(), OrderOpenPrice(), Bid+TrailingStop10*PipValue*Point, takeprofit, OrderExpiration(), White);

if (ret2 == false)

Print("OrderModify() error - ", ErrorDescription(GetLastError()));

}

}

}

}

sonst

Print("OrderSelect() Fehler - ", ErrorDescription(GetLastError()));

}

 

Variationsindikator benötigt Hilfe bei der Darstellung im Chartfenster

Dies ist der Indikator:

//+------------------------------------------------------------------+

//| variation.mq4 |

//| Urheberrecht © 2010, LeMan. |

//| b-market@mail.ru |

//+------------------------------------------------------------------+

#property copyright "Copyright © 2010, LeMan."

#property link "b-market@mail.ru"

#property indicator_chart_window

#property indicator_buffers 1

#property indicator_color1 Rot

//---- Eingabeparameter

extern int N=20;

//---- Puffer

double ExtMapBuffer1[];

double ExtMapBuffer2[];

//+------------------------------------------------------------------+

//| Benutzerdefinierte Indikator-Initialisierungsfunktion

//+------------------------------------------------------------------+

int init()

{

string short_name;

IndicatorDigits(Digits+2);

IndicatorBuffers(2);

//---- Indikatoren

SetIndexStyle(0,DRAW_LINE);

SetIndexPuffer(0,ExtMapPuffer1);

SetIndexPuffer(1,ExtMapPuffer2);

//----

if (N <= 0) N = 20;

//----

SetIndexDrawBegin(0, N*2);

//----

short_name = "Variation (" + N + ")";

IndicatorShortName(short_name);

SetIndexLabel(0, kurz_name);

//----

return(0);

}

//+------------------------------------------------------------------+

//| Benutzerdefinierte Funktion zur Deinitialisierung des Indikators |

//+------------------------------------------------------------------+

int deinit()

{

//----

//----

return(0);

}

//+------------------------------------------------------------------+

//| Benutzerdefinierte Indikator-Iterationsfunktion |

//+------------------------------------------------------------------+

int start()

{

//----

int limit = Balken-N-1;

for (int i = limit; i >= 0; i--) {

double ma = iMA(NULL,0,N,0,MODE_SMA,PRICE_CLOSE,i);

ExtMapBuffer2 = Close-ma;

}

//----

i = Balken-N*2-1;

while (i >= 0) {

double vr = iMAOnArray(ExtMapBuffer2,Bars,N,0,MODE_SMA,i);

double mov = iMA(NULL,0,N,0,MODE_SMA,PRICE_CLOSE,i);

ExtMapBuffer1 = Close - (mov + vr);

i--;

}

//----

return(0);

}

//+------------------------------------------------------------------+

 

EA Coder benötigt

Forex Trader mit 10 Jahren Erfahrung benötigt EA Coder

mit Handelserfahrung.

Das TradeWynds System:

Höhere Zeitrahmen Filter

H1 oder D1

Alle Einstiege erfolgen innerhalb eines Einstiegsfensters von 3 Pips mit einem SL von 10 Pips.

Einstiege können in beide Richtungen erfolgen.

2 - 3 Indikatoren werden verwendet.

Ausgänge auf H1 oder D1.

Bitte PM bei Interesse...

 

Wenn Sie einen profitablen EA haben, werde ich ihn für Sie programmieren oder Sie wissen lassen, ob es meine Fähigkeiten übersteigt.

 

Skript erstellen

Coder's Guru

Ich habe versucht, die verschiedenen Foren des Netzes ein Experte oder ein Skript, um ausstehende Aufträge mit einer bestimmten Zeit, um in "News" zu betreiben. Haben einige, aber nicht zufriedenstellend gewesen. Ich habe versucht, einen EA zu machen, der nicht funktioniert hat und kann den Fehler nicht identifizieren. Ich habe versucht, ein Skript zu machen, um den Chart hinzuzufügen, konnte aber nicht gelingen. Ich habe versucht, ein Skript der Standard-MT4 auch ohne Erfolg zu ändern. Ich frage mich, ob Sie mir helfen können, ein Skript für diesen Zweck zu bauen ... Ausgabe von Kauf- und Verkaufsaufträgen zu einer vorher festgelegten Zeit.

Vielen Dank!

Paulo.peba

 

iATR funktioniert nicht bei XAGUSD und XAUUSD

Frohe Weihnachten und ein gutes neues Jahr!

Ich möchte einen Indikator, der mehrere Symbole in verschiedenen Zeitrahmen scannt zu tun. Die Symbole XAGUSD und XAUUSD zeigen ATR nur 0.000.

Was ist falsch?

double atr=iATR(Symbol,Zeitrahmen[j],8,1)

12:28:48 Scan EURUSD,M1: EURJPY 5 ATR = 0.0325

12:28:48 Überprüfung EURUSD,M1: EURJPY 15 ATR = 0.055

12:28:48 Überprüfung EURUSD,M1: EURJPY 30 ATR = 0.0988

12:28:48 Scan EURUSD,M1: EURJPY 60 ATR = 0.1513

12:28:48 Überprüfung EURUSD,M1: EURJPY 240 ATR = 0,2475

12:28:48 Überprüfung EURUSD,M1: EURJPY 1440 ATR = 0.81

12:28:48 Überprüfung EURUSD,M1: XAGUSD 5 ATR = 0

12:28:48 Überprüfung EURUSD,M1: XAGUSD 15 ATR = 0

12:28:48 Durchsuchen EURUSD,M1: XAGUSD 30 ATR = 0

12:28:48 Überprüfung EURUSD,M1: XAGUSD 60 ATR = 0.1662

12:28:48 Durchsuchen EURUSD,M1: XAGUSD 240 ATR = 0

12:28:48 Scannen EURUSD,M1: XAGUSD 1440 ATR = 1.2625

12:28:48 Überprüfung EURUSD,M1: XAUUSD 5 ATR = 0

12:28:48 Durchsuchen EURUSD,M1: XAUUSD 15 ATR = 0

12:28:48 Scannen EURUSD,M1: XAUUSD 30 ATR = 0

12:28:48 Scannen EURUSD,M1: XAUUSD 60 ATR = 0

12:28:48 Scannen EURUSD,M1: XAUUSD 240 ATR = 0

12:28:48 Überprüfung EURUSD,M1: XAUUSD 1440 ATR = 38.8625

Mit freundlichen Grüßen

derumuro

 

Hilfe bei der Kodierung eines Trendline-Pullback/Retest-Indikators mit Warnung benötigt

Hallo Trader, gibt es hier jemanden, der mir helfen kann, einen Indikator zu programmieren, der in der Lage ist, eine richtige Trendlinie/einen richtigen Kanal zu markieren, gefolgt von einem Ausbruchsalarm (wenn es einen gibt) und uns zu alarmieren, wenn es einen Pullback auf dieser Linie gibt. Der Pullback kann auch ein Retracement zum 38,2%, 50% oder 61,8% Fib-Level sein. Ich brauche etwas, das eine richtige Trendlinie/einen richtigen Kanal anzeigen kann, weil ich das Gefühl habe, dass die meisten Auto-Trendlinien- oder Auto-Kanal-Indikatoren nicht die richtige Linie anzeigen. Ich habe in den meisten Foren lange gesucht, konnte aber keinen dieser sogenannten Trendlinien-Pullback-Indikatoren finden. Ich habe DeMark ausprobiert, aber ich fühle mich nicht wirklich wohl dabei, ihn zu benutzen. Ich bin mir nicht sicher, ob sich dieser Indikator programmieren lässt. Aber ich glaube, dass in dieser Welt nichts möglich ist. Cheers...

 

Hallo Blackwood

BlackWood:
Wenn Sie einen profitablen EA haben, werde ich ihn für Sie programmieren oder Sie wissen lassen, wenn es wirklich jenseits meiner Fähigkeiten liegt.

Bezug nehmend auf Beitrag #148, ist es möglich, einen EA zu programmieren? Wenn es möglich ist, kann der EA meiner Meinung nach für Scalping verwendet werden... Versuchen Sie, es herauszufinden, ja, vielen Dank im Voraus.

 

Brauche Hilfe bei der Umgestaltung von EA

Hallo ....

jemand bereit, mir zu helfen, fügen Sie die HH und LL in H1 zu zeigen, Trends in EA unten und ändern Sie die rote Linie und blau zu Supplay und Nachfrage in H1? Ich fand dies auf der EA-Foren und ich ändern, aber nicht perfekt. Ich möchte, dass diese EA arbeitet basierend Supplay und Nachfrage, um den Trend zu sehen, indem Sie die HH und LL. Ich hoffe, EA kann ein Eintrag von der M5 mit einem gelben Supplay Demand und Demand Supplay bezieht sich auf die roten und blauen in H1 (rot und blau sind jetzt falsch, nicht Supplay und Demand, Bitte in Supplay und Demand geändert werden). Trend und Umkehrung der Form nehmen wir die Form der HH und LL Serien in H1.

Ich danke Ihnen.

Dateien:
 

Bitte sagen Sie mir, wie man einen Eintrag nach Take Profit machen:)

Hallo, genialer Coder & nette Leute:D

Ich entwickle gerade einen einfachen EA, kann aber die folgenden Bedingungen nicht verstehen.

Wenn die vorherige Position durch Take Profit geschlossen wird, machen Sie einen neuen Eintrag, der 20 Pips durch s/l und t/p zum nächsten offenen Preis setzt (auf 5M Chart).

Ich habe versucht, eine zu schreiben.

if(OrderSelect(1,SELECT_BY_POS,MODE_HISTORY)) //Letzte Position war Sofortauftrag OP_BUY oder OP_SELL

{

if(OrderClosePrice() == OrderTakeProfit()) // WENN der Schlusskurs mit dem Take-Profit-Kurs übereinstimmt

{

if(OrderType() == OP_BUY) //Auftragstyp dieser Order ist Kaufen

{

OrderSend(OP_BUY,Lots,Ask,Slippage,SLpips,Ask+20*Point,"",MAGIC);// Lots und andere Variablen sind von mir selbst definiert

}

else if(OrderType() == OP_SELL)

{

OrderSend(OP_SELL,Lots,Bid,Slippage,SLpips,Bid-20*Point,"",MAGIC);

}

}

Ich habe versucht, viele Zeit laufen durch Strategy Tester, aber kann nicht Aktion, wie ich hoffe,.

Jemand kann mir bei dieser Frage helfen!!

Mit freundlichen Grüßen.