Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Flytox: Ich kann diesen Code in meiner Kopie von TrendStrength nicht finden.
Es ist TrendStrength v2.2
Benutzerdefinierter Preismodus
Weiß jemand, wie man einen benutzerdefinierten Preismodus erstellt? Ich verwende den folgenden Alarm, um zu signalisieren, wenn der Preis (extern int PriceMode = 6; //(high+low+close+close)/4) einen MA überschreitet. Ich möchte diesen Modus anpassen, indem ich einen Offset, z. B. 1 oder 2 %, hinzufüge. Ist dies möglich? Etwa so:
extern int PriceMode = ((high+low+close+close)/4) * 1.01
----------------------------------------------------
#property indicator_chart_window
extern int MA1.period =5; //Periode 5
extern int MA1.shift=0;
extern int MA1.methode=2; //SMMA
extern int lMA1.price=2; //MA auf Kerzenhoch gesetzt
extern int sMA1.price=3; //MA auf Kerzentiefpunkt gesetzt
extern int PriceMode = 6; //(Hoch+Tief+Schluss+Schluss)/4
int cBar,pBarLong,pBarShort;
int start()
{
cBar = Time[0];
if(CheckMACross(1)== 1 && cBar!=pBarLong ) {EmailAlert(1); pBarLong=cBar;}
sonst
if(CheckMACross(2)==-1 && cBar!=pBarShort) {EmailAlert(2); pBarShort=cBar;}
return(0);
}
int CheckMACross(int mode)
{
if(mode==1) int price = lMA1.price;
sonst
if(mode==2) price = sMA1.price;
double price1 = iMA(Symbol(),0,1,0,1,PriceMode,1);
double ma1 = iMA(Symbol(),0,MA1.period,MA1.shift,MA1.method, price,1);
double price0 = iMA(Symbol(),0,1,0,1,PriceMode,0);
double ma0 = iMA(Symbol(),0,MA1.period,MA1.shift,MA1.method, price,0);
if(ma1 > price1 && ma0 <= price0) return( 1);
sonst
if(ma1 = price0) return(-1);
sonst
return(0);
}
{
if(mode == 1) SendMail("Signal für LONG",Symbol()+" Go Long"); //SendMail
sonst
if(Modus == 2) SendMail("Signal für SHORT",Symbol()+" Gehe Short");//SendMail
}
int lastBAlert = 0;
int lastSAlert = 0;
void EmailAlert(int mode)
{
if(mode == 2 && lastSAlert < Time[0] )
{
SendMail("Gehe kurz 1",Symbol()+" Gehe kurz 1"); //SendMail
lastSAlert = Time[0];
}
}
Ich appelliere an die Experten da draußen, um bitte zu meiner Hilfe kommen ich brauche einige, um mir zu helfen buld ein EXPERT ADVISER META 4 TRADER für mich wäre ich greatfull, wenn meine Anfrage gewährt wird.
Es gibt Millionen von Möglichkeiten, einen Experten zu bauen, an welchen Weg haben Sie gedacht?
Quellcode Hilfe!
Hallo an alle
ich habe einen EA und möchte ihm eine Eingabe hinzufügen
Wenn Take Profit >= :xx , kaufe :xx Lot
extern int Deltaopen1 =100;
Ich habe geschrieben;
if (type == OP_BUY)
{
if (M2.BuyCnt == 0 && OrderTakeProfit() > OrderOpenPrice() + Deltaopen1*point)
{
Buy(Symbol(), GetLots2(), Ask, 0, 0, Magic2);
zurückgeben;
}
}
if (type == OP_SELL)
{
if (M2.SellCnt == 0 && OrderTakeProfit() <= OrderOpenPrice() - Deltaopen1*point)
{
Sell(Symbol(), GetLots2(), Bid, 0, 0, Magic2);
zurück;
}
}
}
Aber es funktioniert nicht,
Ich bin für jede Hilfe dankbar.
Dankeschön
Brauche ein wenig Hilfe bei der Verfeinerung dieses EA
Ich habe diesen EA, der eine modifizierte Version des "GAPS EA" ist, den ich an anderer Stelle in diesem Forum gefunden habe.
Wie auch immer, beigefügt ist eine Kopie des Codes.
#property link ""
//---- input parameters
extern int min_gapsize = 1;
extern double lotsize_gap = 5;
extern int MagicNumber = 10;
//----
datetime order_time = 0;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
/*
Thing to be done in future in this program to make it more efficient
and more powerful:
1. Make the dicission of the quantity of lots used according to
the scillators;
2. This program will catch the gaps.
Things to ware of:
1. the spread;
2. excuting the order not on the gap ends a little bit less.
*/
// Defining the variables to decide.
Print("order time", order_time);
double current_openprice = iOpen(Symbol(), 0, 0);
double previous_highprice = iHigh(Symbol(), 0, 1);
double previous_lowprice = iLow(Symbol(), 0, 1);
double point_gap = MarketInfo(Symbol(), MODE_POINT);
int spread_gap = MarketInfo(Symbol(), MODE_SPREAD)+1;
datetime current_time = iTime(Symbol(), 0, 0);
// catching the gap on sell upper gap
if(current_openprice > previous_highprice + (min_gapsize + spread_gap)*point_gap &&
current_time != order_time)
{
int ticket = OrderSend(Symbol(), OP_SELL, lotsize_gap, Bid, 0, 0,
previous_highprice + spread_gap,
"Gapped Up Sell " + Symbol()+ " " +Period()+ "", MagicNumber, 0, Red);
order_time = iTime(Symbol(), 0, 0);
Print("I am inside (sell) :-)", order_time);
//----
if(ticket < 0)
{
Print("OrderSend failed with error #", GetLastError());
}
}
//catching the gap on buy down gap
if(current_openprice < previous_lowprice - (min_gapsize + spread_gap)*point_gap &&
current_time != order_time)
{
ticket = OrderSend(Symbol(), OP_BUY, lotsize_gap, Ask, 0, 0,
previous_lowprice - spread_gap,
"Gapped Down Buy " + Symbol()+ " " +Period()+ "", MagicNumber, 0, Green);
order_time = iTime(Symbol(), 0, 0);
Print("I am inside (buy) :-)", order_time);
if(ticket < 0)
{
Print("OrderSend failed with error #", GetLastError());
}
}
//----
return(0);
}
//+------------------------------------------------------------------+Immer wenn ich diesen Code in den Strategietester einfüge, werden keine Trades eröffnet. Ein kurzer Blick in das Journal zeigt mir, dass viele Orders getätigt wurden. Was habe ich falsch gemacht?
Hilfe: Grundlegende Frage zum Histogramm
Wahrscheinlich ist dies wirklich einfach und ich suche an etwas vorbei, aber ich habe keine Ressourcen mehr und kann keine Antwort finden.
Alles, was ich versuche, ist, den Wert des zuvor gezeichneten Histogrammbalkens abzurufen.
Hat jemand eine Idee?
D.h. Close[1] zeigt den letzten geschlossenen Balken im Chart an.....
Was würde also den zuletzt gezeichneten Histogrammbalken in diesem separaten Fensterindikator anzeigen?
Vielen Dank für jeden Ratschlag im Voraus.
-dharsant
Wahrscheinlich ist es wirklich einfach und ich habe etwas übersehen, aber ich habe keine Ressourcen mehr und kann keine Antwort finden.
Ich versuche lediglich, den Wert des zuvor gezeichneten Histogrammbalkens abzurufen.
Hat jemand eine Idee?
D.h. Close[1] zeigt den letzten geschlossenen Balken im Chart an.....
Was würde also den zuletzt gezeichneten Histogrammbalken in diesem separaten Fensterindikator anzeigen?
Vielen Dank für jeden Hinweis im Voraus.
-dharsantWelchen Indikator rufen Sie auf? Stellen Sie einfach den Shift so ein, dass der vorherige Balken aufgerufen wird.
Beispiel, für einen gleitenden Durchschnitt des aktuellen Balkens:
iMA(NULL,0,13,8,MODE_SMMA,PRICE_MEDIAN,0);
Für einen gleitenden Durchschnitt des vorherigen Balkens:
iMA(NULL,0,13,8,MODE_SMMA,PRICE_MEDIAN,1);
Der letzte Parameter beim Aufruf eines Indikators gibt an, wie viele Balken ab dem aktuellen gelesen werden sollen.
Ich hoffe, das ist, wonach Sie gesucht haben.
Coding Hilfe benötigt bitte
Ich versuche, ein paar verschiedene Indikatoren in einem ea zu verwenden, kann aber nicht herausfinden, wie man sie in das System implementiert. Welchen Teil des Indikators verwende ich, um zu sagen, kaufen oder verkaufen. Wie bekomme ich Slope Direction Line in einen Teil eines EAs.
Vielen Dank
Beno
Ich habe mich wahrscheinlich nicht ganz richtig erklärt.
Ich versuche herauszufinden, was ich in iCustom eingeben muss und habe folgendes getan.
double SDL=iCustom(NULL,0, "Slope Direction Line",period,method,price)
Und was ich tun muss, um Kauf- und Verkaufssignale vom Slope Direction Line Indicator für meinen EA zu generieren. Unten ist, was ich bisher getan habe, es kompiliert, aber keine Positionen werden generiert.
bool Long = TML && SDL && HeikenAshiOpen < HeikenAshiClose && hasOpen < hasClose;
bool Short = TMS && SDL && HeikenAshiOpen > HeikenAshiClose && hasOpen > hasClose;
Jede Hilfe wäre großartig
Vielen Dank
Beno
Erstens benötigt der iCustom-Aufruf am Ende zwei zusätzliche Argumente, nämlich aus welchem der Indikatorpuffer gelesen werden soll und bei welchem Index gelesen werden soll.
Zweitens ist "SDL" eine doppelte Zahl, so dass die Angabe von "SDL" als Bedingung etwas verwirrend ist; möglicherweise wird es als "SDL != 0" kompiliert, und möglicherweise ist das auch so gemeint.