Hallo zusammen,
bin grade beim erstellen eines EA auf Basis von sich kreuzenden MA.
und zwar habe ich aktuell 2 Probleme, an denen ich grade verzweifel:
- ich finde keine Anleitung für einen Trailing SL. die, die ich gefunden habe, funktionieren weder isoliert in einem eigenen EA noch kopiert in meinen. hat da wer eine brauchbare Anleitung?
- soweit funktioniert der EA auf der Long Seite gut, nur sobald ich quasi verkehrt die Short Seite einbaue, geht der EA immer short, sobald es ihn ausstoppt und er eig keine neue Short order eingeben soll. und dazu dann noch long obwohl keine Überkreuzung vorliegt.
vielen Dank!
DAniel
der Code für Problem 2 sowie der Screenshot wäre hier:
beim Code posten bitte den Code button benutzen, sonst ist das unlesbar
ich nehme an, der EA ist so programmiert das er das tut
//+------------------------------------------------------------------+ //| TrailingStop für erste SellOrder | //+------------------------------------------------------------------+ double ask = SymbolInfoDouble(CurrentSymbol, SYMBOL_ASK); //ask preis if(ask <= triggerShort1) // { double slNew = ask + SL; //neuer SL triggerShort1 = iClose(CurrentSymbol, TriggerTf, 1) - Trigger; // sagt dir, ab wann der SL wieder nachgezogen werden soll if(slNew > 0) { slNew = NormalizeDouble(slNew, Digits()); //runden if(slNew < slOld) // wenn der neue sl kleiner als der alte ist { tradeObject.PositionModify(CurrentSymbol, slNew, 0); slOldSell = slNew; //aktualisiert den alten SL } } } } etwa so?
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Hallo zusammen,
bin grade beim erstellen eines EA auf Basis von sich kreuzenden MA.
und zwar habe ich aktuell 2 Probleme, an denen ich grade verzweifel:
- ich finde keine Anleitung für einen Trailing SL. die, die ich gefunden habe, funktionieren weder isoliert in einem eigenen EA noch kopiert in meinen. hat da wer eine brauchbare Anleitung?
- soweit funktioniert der EA auf der Long Seite gut, nur sobald ich quasi verkehrt die Short Seite einbaue, geht der EA immer short, sobald es ihn ausstoppt und er eig keine neue Short order eingeben soll. und dazu dann noch long obwohl keine Überkreuzung vorliegt.
vielen Dank!
DAniel
der Code für Problem 2 sowie der Screenshot wäre hier:
#include <Trade\Trade.mqh>
CTrade trade;
int OnInit() {
Print("OnInit");
return(INIT_SUCCEEDED);
}
void OnDeinit(const int reason)
{
Print("OnDeinit");
}
void OnTick() {
static datetime timestamp;
datetime time = iTime(_Symbol, PERIOD_CURRENT,0);
if(timestamp != time){
timestamp = time;
//int ma shift ist die MA periode, shift period auf 0 lassen, mode sma ist sma od ema bspw, price close ist schlusskurse f kalkulation
static int handleSlowMa = iMA(_Symbol,PERIOD_CURRENT,200,0,MODE_SMA,PRICE_CLOSE);
double slowMaArray[];
CopyBuffer(handleSlowMa,0,1,2,slowMaArray);
ArraySetAsSeries(slowMaArray,true);
static int handleFastMa = iMA(_Symbol,PERIOD_CURRENT,30,0,MODE_SMA,PRICE_CLOSE);
double FastMaArray[];
CopyBuffer(handleFastMa,0,1,2,FastMaArray);
ArraySetAsSeries(FastMaArray,true);
if(FastMaArray[0] > slowMaArray[0] && FastMaArray[1] < slowMaArray[1]){
Print("fast MA ist now > than slow ma");
double ask = SymbolInfoDouble(_Symbol,SYMBOL_ASK);
double sl = ask -100 * SymbolInfoDouble(_Symbol, SYMBOL_POINT);
double tp = ask +100 * SymbolInfoDouble(_Symbol, SYMBOL_POINT);
//lot grosse, symbol, double ask nimmt dann den ask preis, sL aktueller ask preis minus 100 pips bspw
trade.Buy(0.10,_Symbol,ask,sl,tp,"this is a buy");
}
// aktuell ausgeblendet, da der EA damit immer short geht
//if(FastMaArray[0] < slowMaArray[0] && FastMaArray[1] > slowMaArray[1]){
//Print("fast MA ist not < than slow ma"); }
//double bid = SymbolInfoDouble(_Symbol,SYMBOL_BID);
//double sl = bid +100 * SymbolInfoDouble(_Symbol, SYMBOL_POINT);
//double tp = bid -100 * SymbolInfoDouble(_Symbol, SYMBOL_POINT);
//lot grosse, symbol, double ask nimmt dann den ask preis, sL aktueller ask preis minus 100 pips bspw
//trade.Sell(0.10,_Symbol,bid,sl,tp,"this is a sell");
}