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
Cool, danke Jungs, beide Vorschläge sind wahrscheinlich besser als das, woran ich gearbeitet habe.
Kann mir bitte jemand helfen....
Hi...
Ich hoffe, dass mir jemand hier helfen kann, wie ich das programmieren kann.Dies ist martiangle EA und was ich tun möchte, ist:
1 . Wenn 2. Schicht Post offen, ich will Zielpunkt auf 1. Schicht bewegen, um Zielpunkt 2. layer.So, wenn Zielpunkt Hit auf 2. Schicht, dass 2 Post kann zur gleichen Zeit zu schließen.Wenn 3. Schicht offen ist, dass 1. und 2. Schicht Zielpunkt kann auf 3. bewegen Zielpunkt price.So können wir zur gleichen Zeit zu schließen.Same happend, wenn 4.
2.need pips lock.When 1st layer open, and got profit example 15 pip (TP 32), the ea make locking at sl price(example 5 pip)So when price reversel 10 pip that post can close automatically with profit 5 pips.Just for 1st layer post only.2nd layer do not need activated because this martiangle EA.
I m sehr leid für mein schlechtes english.Hope jemand kann mir helfen, mit einem Code auf dieser EA setzen. Dankeschön
martiangle_rsi_.mq4
Mit freundlichen Grüßen
Wirklich brauchen Hilfe Person
Hilfe bei Kommentaren
Ich versuche, einen Kommentar einzurichten, der auf dem Bildschirm angezeigt wird, aber ich habe nicht viel Glück
Ich habe es geschafft, die Pip-Anzahl für ein einzelnes Paar zu erhalten, aber ich kann nicht die Gesamtsumme für mehrere Paare anzeigen.
Jede Hilfe wäre großartig
Dies ist ein Beispiel für diesen Code
//========== FUNCTION getPipValue
double getPipValue(double ord,int dir)
{
double val;
RefreshRates();
if(dir == 1) val=(NormalizeDouble(ord,Digits) -
NormalizeDouble(Ask,Digits));
sonst val=(NormalizeDouble(Bid,Digits) - NormalizeDouble(ord,Digits));
val = val/Punkt*co;
return(val);
}
//== Funktion beenden
int getSpread()
{
int spread=MarketInfo(Symbol(),MODE_SPREAD);
return(spread);
}
//========== FUNCTION getOpenOrders
void getOpenOrders()
{
int nsl, nsd;
string mngMagic, trailon;
int totalorders = OrdersTotal();
for(int j=0; j<totalorders;j++)
{
OrderSelect(j, SELECT_BY_POS, MODE_TRADES);
if((OrderType() == OP_BUY || OrderType() == OP_SELL) &&
OrderSymbol() == Symbol()&&(MagicNumber==0 || MagicNumber ==
OrderMagicNumber()))
{
double val=getPipValue(OrderOpenPrice(),OrderType());
//int val = OrderProfit()/(OrderLots()*10);
}
if(MagicNumber == 0)
mngMagic = "Alle "+Symbol()+" Trades.";
sonst
mngMagic = "Geschäfte mit MagicNumber = "+MagicNumber;
//RefreshRates();
Comment("Saldo: ",AccountBalance(),", AccountEquity: ",AccountEquity(),", AccountProfit: ",AccountProfit(), "Order Open: ",OrderOpenPrice(),
"\nPip Count: ", val,
"\nMy Account Cutoff Limit: ",Open_Loss_To_CloseTrades,
"\nManaging: ", mngMagic);
Prost
Der Pips-Wert einer aktuellen Order kann wie folgt ermittelt werden:
Wenn Sie "bid" und "ask" verwenden möchten, müssen Sie auch die auf das Auftragssymbol bezogenen Werte verwenden, d.h. MarketInfo( OrderSymbol(), MODE_BID ) und MarketInfo( OrderSymbol(), MODE_ASK ).
ralph.ronnquist
Guten Tag
Danke für den Code, ich habe ihn verwendet, aber er zählt nur für das eine Paar und nicht für die Summe aller Paare.
Ich habe mit verschiedenen Szenarien experimentiert, aber immer noch nicht funktioniert
Ich habe eine Ea, die 3 Positionen öffnet, die ich auf 5 Paare laufen lasse. Ich kann die Pip-Anzahl für jedes Paar sehen, aber nicht das Kollektiv.
ralph.ronnquist
Guten Tag
Danke für den Code, ich habe ihn verwendet, aber er zählt nur für das eine Paar und nicht für die Summe aller Paare.
Ich habe mit verschiedenen Szenarien experimentiert, aber immer noch nicht funktionieren
Ich habe ein Ea, das 3 Positionen öffnet, die ich auf 5 Paaren laufen lasse. Ich kann die Pip-Anzahl für jedes Paar sehen, aber nicht das Kollektiv.Nun, wenn Sie mit globalen Variablen vertraut sind, können Sie sie verwenden, um die Pips-Informationen für jedes Paar zu speichern, das von jedem Symbol referenziert wird. Erstellen Sie eine weitere globale Variable, die den gesamten Pips-Wert referenziert und rufen Sie diese spezielle globale Variable auf, erhalten Sie sie aktualisiert, wenn die Pips steigen, speichern Sie sie. Globale Variablen können von jedem ea zugegriffen werden, da es im MT4-Speicher gespeichert ist.
Ich kann helfen, es für u Code, wenn Sie wollen.
Guten Tag ShahJB
Ich habe gesehen, globale Variablen in Code vor, aber haben Null Erfahrung mit ihnen so ja ich möchte Ihre Hilfe zu akzeptieren, um diese Code als seine treibende mich verrückt
Gidday ShahJB Ich habe globale Variablen in Code gesehen, aber ich habe keine Erfahrung mit ihnen, also ja, ich würde gerne Ihre Hilfe annehmen, um dies zu codieren, da es mich verrückt macht
Ich habe gerade das folgende prompt codiert. Warum fügst du nicht zuerst diesen Code ein. Probieren Sie es aus und schreiben Sie mir, wenn es nicht klappt. Ich muss etwas Schlaf nachholen.
string val_old_string = "val_old" + Symbol();
int val_old = GlobalVariableGet(val_old_string);
if(val != val_old)
{
int pips_increment_decrement;
int current_total_pips;
string counter = "Pips-Zähler";
double pips_counter = GlobalVariableGet(counter);
if (val>val_old)
{
pips_increment_decrement = val - val_old;
current_total_pips = pips_increment_decrement + pips_counter;
GlobalVariableSet(Zähler, aktuelle_gesamte_Kurse);
GlobalVariableSet(val_old_string, val);
}
sonst
{
pips_increment_decrement = val_old - val;
current_total_pips = pips_counter - pips_increment_decrement;
GlobalVariableSet(Zähler, aktuelle_gesamte_Kurse);
GlobalVariableSet(val_old_string, val);
}
}
Warum funktioniert das nicht???
Hallo,
Ich bin ein kompletter Neuling in der Programmierung. Dank der Beiträge und Lernressourcen auf dieser Website habe ich den Mut aufgebracht, um zu versuchen, einige EAs zu erstellen, von denen einer Lguerre als einer der Trigger verwenden wird (ich habe diese Website verwendet, um mir zu helfen; Expert Advisor Builder für MetaTrader 4 ). Das Problem mit meinem EA ist, dass er keine Kaufaufträge öffnet, wenn die Auslöser getroffen werden. Ich habe ein paar EAs mit der oben genannten Website erstellt und sie führen Aufträge für Long- und Short-Positionen problemlos aus (die EAs verwendeten RSI). Bitte werfen Sie einen Blick auf die beigefügte EA, 3-28, und lassen Sie mich wissen, was ich falsch mache.... bin ich mit dem falschen Format für die Ebenen getroffen werden, bevor ein Handel ausgeführt wird? Braucht der Laguerre zusätzliche Parameter?
Ich habe eine peinliche Menge an Zeit damit verbracht und bin kurz davor, aufzugeben.... jede Hilfe wird GROSSARTIG geschätzt!!!!!
Ich scheine die Antwort gefunden zu haben... warum muss ich den Laguerre in meinem EA multiplizieren, obwohl?????
Ich bin auf ein Problem beim Schließen von Positionen gestoßen. Bitte um Hilfe
Ich bin auf ein Problem gestoßen, von dem ich nicht weiß, wie ich es lösen kann. Mein Programm hat ein paar offene Aufträge und schließt sie alle zusammen, aber manchmal denke ich, dass einige der Aufträge nicht erfüllt sind, daher hält es zu warten, bis sie erfüllt sind und das blockiert mein Programm. Was ist Ihrer Meinung nach der beste Weg, um alle offenen Aufträge zu schließen? Vielen Dank für Ihre Hilfe.
Hier ist der Code:
int OrdersTotalLong()
{
int order_total = 0;
for (int i = 0; i < OrdersTotal(); i++)
{
OrderSelect(i,SELECT_BY_POS, MODE_TRADES);
if (OrderType() == OP_BUY)
order_total++;
}
return(order_total);
}
int MaxLongOrder()
{
int Bestellung = 0;
double lotsbuyed = 0;
for (int i = 0; i < OrdersTotal(); i++)
{
OrderSelect(i,SELECT_BY_POS, MODE_TRADES);
if ((OrderType() == OP_BUY) && (OrderLots() > lotsbuyed))
{
lotsbuyed = OrderLots();
Auftrag = i;
}
}
return(order);
}
int CloseLong()
{
while (OrdersTotalLong() > 0) //bis keine Orders mehr offen sind (alle schließen)
{
if (OrderSelect(MaxLongOrder(), SELECT_BY_POS, MODE_TRADES) == false) continue;
OrderClose(OrderTicket(),OrderLots(), Bid, 3, Green);
}
}
return(0);
}