Hilfe bei der Codierung - Seite 13

 

schnelle EA-Änderung

Hallo!

Ich brauche etwas Hilfe, ich habe versucht, den Code unten zu ändern, aber der EA stürzte immer wieder MT4 ab.

Ich möchte, dass die Bestellung zu schließen, wenn der aktuelle bar (also die Bar, wo die Bestellung ausgeführt wurde) schließt. Grundsätzlich wird ein Balken gehandelt.

Dies ist der ursprüngliche Code, er handelt von Signal zu Signal.

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

//| Signal Begin(Exit Buy) |

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

if (signaldown!=EMPTY_VALUE&&signaldown!=0) Order = SIGNAL_CLOSEBUY;

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

//| Signal End(Exit Buy) |

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

if (Order == SIGNAL_CLOSEBUY && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))) {

OrderClose(OrderTicket(), OrderLots(), Bid, Slippage, MediumSeaGreen);

if (SignalMail) SendMail("[Signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Bid, Digits) + " Close Buy");

if (!EachTickMode) BarCount = Bars;

IsTrade = False;

continue;

}

//Trailing stop

if(UseTrailingStop && TrailingStop > 0) {

if(Bid - OrderOpenPrice() > Point * TrailingStop) {

if(OrderStopLoss() < Bid - Point * TrailingStop) {

OrderModify(OrderTicket(), OrderOpenPrice(), Bid - Point * TrailingStop, OrderTakeProfit(), 0, MediumSeaGreen);

if (!EachTickMode) BarCount = Bars;

continue;

}

}

}

} else {

//Close

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

//| Signal Begin(Exit Sell) |

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

if (signalup!=EMPTY_VALUE&&signalup!=0) Order = SIGNAL_CLOSESELL;

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

//| Signal End(Exit Sell) |

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

if (Order == SIGNAL_CLOSESELL && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))) {

OrderClose(OrderTicket(), OrderLots(), Ask, Slippage, DarkOrange);

if (SignalMail) SendMail("[Signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Ask, Digits) + " Close Sell");

if (!EachTickMode) BarCount = Bars;

IsTrade = False;

continue;

}

//Trailing stop

if(UseTrailingStop && TrailingStop > 0) {

if((OrderOpenPrice() - Ask) > (Point * TrailingStop)) {

if((OrderStopLoss() > (Ask + Point * TrailingStop)) || (OrderStopLoss() == 0)) {

OrderModify(OrderTicket(), OrderOpenPrice(), Ask + Point * TrailingStop, OrderTakeProfit(), 0, DarkOrange);

if (!EachTickMode) BarCount = Bars;

continue;

}

}

}

}

}

}

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

//| Signal Begin(Entry) |

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

//if (timeprev!=Time[0]){

// timeprev = Time[0];

if (signalup!=EMPTY_VALUE&&signalup!=0)

{

Order = SIGNAL_BUY;

}

if (signaldown!=EMPTY_VALUE&&signaldown!=0){

Order = SIGNAL_SELL;

}

// }

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

//| Signal End |

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

//Buy

if (Order == SIGNAL_BUY && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))) {

if(!IsTrade) {

//Check free margin

if (AccountFreeMargin() < (100 * Lots)) {

Print("We have no money. Free Margin = ", AccountFreeMargin());

return(0);

}

if (UseStopLoss) StopLossLevel = Ask - StopLoss * Point; else StopLossLevel = 0.0;

if (UseTakeProfit) TakeProfitLevel = Ask + TakeProfit * Point; else TakeProfitLevel = 0.0;

Ticket = OrderSend(Symbol(), OP_BUY, Lots, Ask, Slippage, StopLossLevel, TakeProfitLevel, "Buy(#" + MagicNumber + ")", MagicNumber, 0, DodgerBlue);

if(Ticket > 0) {

if (OrderSelect(Ticket, SELECT_BY_TICKET, MODE_TRADES)) {

Print("BUY order opened : ", OrderOpenPrice());

if (SignalMail) SendMail("[Signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Ask, Digits) + " Open Buy");

} else {

Print("Error opening BUY order : ", GetLastError());

}

}

if (EachTickMode) TickCheck = True;

if (!EachTickMode) BarCount = Bars;

return(0);

}

}

//Sell

if (Order == SIGNAL_SELL && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))) {

if(!IsTrade) {

//Check free margin

if (AccountFreeMargin() < (100 * Lots)) {

Print("We have no money. Free Margin = ", AccountFreeMargin());

return(0);

}

if (UseStopLoss) StopLossLevel = Bid + StopLoss * Point; else StopLossLevel = 0.0;

if (UseTakeProfit) TakeProfitLevel = Bid - TakeProfit * Point; else TakeProfitLevel = 0.0;

Ticket = OrderSend(Symbol(), OP_SELL, Lots, Bid, Slippage, StopLossLevel, TakeProfitLevel, "Sell(#" + MagicNumber + ")", MagicNumber, 0, DeepPink);

if(Ticket > 0) {

if (OrderSelect(Ticket, SELECT_BY_TICKET, MODE_TRADES)) {

Print("SELL order opened : ", OrderOpenPrice());

if (SignalMail) SendMail("[Signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Bid, Digits) + " Open Sell");

} else {

Print("Error opening SELL order : ", GetLastError());

}

}

if (EachTickMode) TickCheck = True;

if (!EachTickMode) BarCount = Bars;

return(0);

}

}

if (!EachTickMode) BarCount = Bars;

return(0);

}

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

Kann mir jemand weiterhelfen?

 

Bitte helfen Sie!!!!!

Ich brauche ein ea macht das folgende

zu einer bestimmten Zeit 4pc Kauf- oder Verkaufsaufträge setzen

Funktionen:

Auftrag offen Zeit (Variable 00-24)

order1 verkaufen oder kaufen viel (0.01 .0,02... 1) TP (+ xx pips von oppen) SL (- xx pips von offen)

order2 sell or buy lot (0.01 .0,02... 1) TP (+ xx pips from oppen) SL (- xx pips from open)

order3 sell or buy lot (0.01 .0,02... 1) TP (+ xx pips from oppen) SL (- xx pips from open)

order4 sell or buy lot (0.01 .0,02... 1) TP (+ xx pips from oppen) SL (- xx pips from open)

DANKE

 

Ich muss meinem EA einen Code hinzufügen, um ihn bei einem bestimmten Preisniveau zu deaktivieren

Hallo,

Ich muss zu meinem EA einen Code hinzufügen, um ihn bei bestimmten Kursniveaus zu deaktivieren und zu aktivieren.

Ich habe gesucht und gefunden, dass ich es tun kann mit

# iclude<WinUser32mqh

extern bool Disable Ea = true // von X (examply1.4420) bis Y(examply1.4380) und von Z (examply1.4480) bis N(examply1.4520) //

extern bool Enable Ea = true // von R(examply -1.4420) nach T(examply -1.4480)

Wäre dankbar für Hilfe bei der Übersetzung dieser Bedingungen in einen Code, so dass ich im Dialogfeld des EA einfach das Preisniveau zum Deaktivieren / Aktivieren des EA eingeben könnte.

 

Nach einigem Suchen und Studieren fand ich heraus, dass das Schreiben eines Codes in die Startfunktion des EAs diesen unter bestimmten Bedingungen starten würde.

Also habe ich unter der Experten-Startfunktion folgendes geschrieben:

if(PRICE_MEDIAN (SellLevel-Point*BufferPips))

return (0)

------------------------------------------------------------------------------------------------------------------

BufferPips fügte ich im externen Double hinzu, so dass ich in der Dialogbox seinen Wert ändern konnte.

Ich bin mir nicht sicher, ob PRICE_MEDIAN eine gute Wahl ist.

Ich erhalte einen Kompilierungsfehler - unausgewogene linke Klammer.

Hilfe wird geschätzt

 

Hilf mir beim automatischen Handel

Hallo, Mr. Guru!

Ich habe Auto-Trading, aber es läuft nicht, bitte helfen Sie mir!

Dateien:
auto_me.mq4  4 kb
 

Hallo Mario,

Ich denke, diese Bedingung if(current_shortEma == current_longEma)

ist nie wahr. Um ein Cross zu erkennen, muss man normalerweise Folgendes tun

if(current_shortEma > current_longEma && last_shortEma < last_longEma){

//Kreuzung von unten

}

if(aktuelles_kurzesEma letztes_langesEma){

//Kreuzung von oben

}

Ausführlichere Informationen hier:

https://www.mql5.com/en/forum/trading_systems

Danke

MIkhail

 

Ich habe auch eine Anfrage zur Codierung ---- brauche einen Codierer (sehr einfache Aufgabe)

Wir wissen, HA - henki ashi selten falsch sein

während der Konsolidierung, oder fast U-Turn, würde es kürzer und kürzer werden

während, wenn der Trend noch stark ist, HA für diese Bar wird LONG sein

DARUM

wäre es schön, wenn wir einen Indikator hätten, der uns die Trendstärke anzeigt

die Idee ist einfach

--- zuerst sollte es jeder HA sein (ich füge nur meinen ex4 bei, aber ich muss einen MQ4 finden -- für HA) und ihn modifizieren (einfache Aufgabe, nehme ich an)

es gibt nur 2 Farben für HA, eine blaue *oben ---- + ---- und eine rosa/violette *unten

-- zweitens, wenn die HA die HA-Sachen in das Diagramm zeichnen müssen, gibt es LENGTH -- Länge dieser HA

--- drittens, wenn sie sich der Wende nähert, wird der HA-Balken kürzer und kürzer

nehmen wir an, wenn die LÄNGE des HA-Balkens (durch Versuch und Irrtum) kürzer als 0,4 cm ist, dann zeichnen wir ihn SCHWARZ (d.h. nicht blau / rosa)

es wird uns warnen, NICHT EINZUGEHEN und bald zu verlassen

Auf diese Weise müssen wir nur einsteigen (ohne Angst), je nach der Stärke des HA-Trends --- genau wie meine andere Idee, sehr EINFACH, extrem hilfreich

Coder -- bitte verwenden Sie nicht die ex4, die ich beifüge, drücken Sie einfach [SUCHEN] im Forum und geben Sie henki ashi ein, suchen Sie nach einem MQ4 mit dem gesamten Code

------

wenn du fertig bist oder nachdem du es auf 3 bis 4 Farben geändert hast (könnte 3 Farben sein, anstatt 4 Farben)

Bitte schicke mir eine PM mit dem LINK, damit ich ihn hochladen kann. Wenn du willst, kann ich dir auch einen anderen Indikator geben, der dir sagt, wann der beste Zeitpunkt ist, die Farbe auf SCHWARZ zu ändern - Schwarz ist eine Art Warnfarbe

----- d.h. Sie können die ex4, die ich beigefügt habe, DOWNLOADEN, aber eine andere MQ4 pls verwenden ---

Danke, es wird ein guter Indikator für uns alle sein, und die Kodierung sollte ziemlich einfach sein, und geradeaus

der Code ist am Anfang, ähnlich dem obigen Diagramm

wenn meine Vermutung richtig ist, kontrolliert g_ibuf_## die Länge des HA-Balkens

wir müssen nur alle g_ibuf Werte mit der Funktion "comment" ausdrucken

dann lassen Sie das Diagramm für ein paar Tage laufen, und schauen Sie sich den g_ibuf Wert an, wenn er klein wird, und notieren Sie den WERT dieser Variablen

Wenn wir dann ein Zeitfenster zum Kodieren haben, kodieren wir einfach 1 bis 2 Farben - sagen wir mal, schwarz und dunkelgrau - in die Kodierung, wenn das Histogramm g_ibuf kleiner ist als ein bestimmter notierter Wert

Es sollte also einfach sein - andernfalls könnte man versuchen, durch Ausprobieren den besten Wert zu finden (der kleiner als der angegebene Wert sein sollte).

mit freundlichen Grüßen

xx3xxx -- Ich lade meine MQ4 für Version 4 dort, ich denke, Sie können diese ein, das scheinen länger und dicker als die anderen HA, die ich habe, zu verwenden

 
 
Dateien:
lsma_nrp.mq4  5 kb
 

Trix Indikator braucht Alarm

Coder Guru oder jemand anderes, können Sie einen Ton, Benachrichtigung und t3_trix_x2roc_clr_nrp_mtf.mq4t3_trix_x2roc_clr_nrp_mtf.mq4e Mail-Alarm in diesem Trix-Indikator programmieren, wenn entweder die langfristige oder kurzfristige Trix-Linie Farbe von rot auf grün oder umgekehrt ändert. Danke

Grund der Beschwerde: