Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 6. - Seite 816
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
Ich habe gerade mit dem "Archiv von Zitaten" experimentiert . durch die Aktualisierung jedes Diagramm separat, begann die Geschichte für fast alle Charts richtig zu arbeiten, außer für ein paar exotische Paare, löschte ich und aktualisierte sie ein paar Mal - keine neuen Daten für das Diagramm. im Allgemeinen können wir sagen, dass das Problem gelöst ist
danke für die Effizienz))))
Liebe Programmierer....ich habe ein Problem... Ichhabe einen EA erstellt....er öffnet Trades normal (im Tester) .... schließt aber nur Kauftrades....er schließt nur Verkaufstrades nach Abschluss des Tests... hier ist ein Teil des Codes.... können Sie mir helfen...
//---------------------------------------------------------------------------------------------------------
void CloseSell()
{
for (int trade = OrdersTotal() - 1; trade >= 0; trade--)
{
if (OrderSelect(trade, SELECT_BY_POS, MODE_TRADES) == true)
{
if (OrderSymbol() == Symbol())
{
if (OrderMagicNumber() == Magic && OrderType() == OP_SELL)
OrderClose(OrderTicket(), OrderLots(), Ask, Slippage, Green);
}
}
}
}
//+------------------------------------------------------------------+
void CloseBuy()
{
for (int trade = OrdersTotal() - 1; trade >= 0; trade--)
{
if (OrderSelect(trade, SELECT_BY_POS, MODE_TRADES) == true)
{
if (OrderSymbol() == Symbol())
{
if (OrderMagicNumber() == Magic && OrderType() == OP_BUY)
OrderClose(OrderTicket(), OrderLots(), Bid, Slippage, Green);
}
}
}
}
//+------------------------------------------------------------------+
void OpenSellOrder()
{
mlots = GetLots();
if (AutoSL) sl = CalcSL(OP_SELL);
else sl = ND(Bid - StopLoss*Point);
tp = ND(Bid - TakeProfit*Point);
ticket = OrderSendReliable(Symbol(), OP_SELL, mlots, Bid, Slippage, 0, 0, comment, Magic, 0, Red);
if(ticket > 0)
OrderModifyReliable(OrderTicket(), OrderOpenPrice(), sl, tp, 0);
}
//+------------------------------------------------------------------+
int OpenBuyOrder()
{
mlots = GetLots();
if (AutoSL) sl = CalcSL(OP_BUY);
else sl = ND(Bid - StopLoss*Point);
tp = ND(Ask + TakeProfit*Point);
ticket = OrderSendReliable(Symbol(), OP_BUY, mlots, Ask, Slippage, 0, 0, comment, Magic, 0, Blue);
if(ticket > 0)
OrderModifyReliable(OrderTicket(), OrderOpenPrice(), sl, tp, 0);
}
//+------------------------------------------------------------------+
void ModifyLoss()
{
for (int trade = OrdersTotal() - 1; trade >= 0; trade--)
{
if (OrderSelect(trade, SELECT_BY_POS, MODE_TRADES) == true)
{
if (OrderSymbol() != Symbol() || OrderMagicNumber() != Magic) continue;
if (OrderType() == OP_BUY)
{
sl = ND(OrderOpenPrice() + LossPoints*Point);
if (OrderStopLoss() < sl && (Ask - OrderOpenPrice())/Point >= LossLimit)
{
if (sl != ND(OrderStopLoss()))
OrderModify(OrderTicket(), OrderOpenPrice(), sl, OrderTakeProfit(), 0);
}
}
else
if (OrderType() == OP_SELL)
{
sl = ND(OrderOpenPrice() - LossPoints*Point);
if (OrderStopLoss() > sl && (OrderOpenPrice()-Bid)/Point >= LossLimit)
{
if (sl != ND(OrderStopLoss()))
OrderModify(OrderTicket(), OrderOpenPrice(), sl, OrderTakeProfit(), 0);
}
}
}
}
}
//+------------------------------------------------------------------+
double CalcSL(int otype)
{
double sloss = 10000000;
if (otype == OP_BUY)
{
double min;
for (int i=1; i<=SLBars; i++)
{
min = iLow(NULL, 0, i);
if (min < sloss)
sloss = min;
}
sloss = ND(sloss - SLPips*Point);
if ((Ask-sloss)/Point < MinSL)
sloss = ND(Ask - MinSL*Point);
if ((Ask - sloss)/Point > MaxSL)
sloss = ND(Ask - MaxSL*Point);
else
sloss = ND(sloss - SLPips*Point);
return(sloss);
}
else
if (otype == OP_SELL)
{
double max;
sloss = 0;
for (i=1; i<=SLBars; i++)
{
max = iHigh(NULL, 0, i);
if (max > sloss)
sloss = max;
}
if ((sloss - Bid)/Point < MinSL)
sloss = ND(Bid + MinSL*Point);
if ((sloss - Bid)/Point > MaxSL)
sloss = ND(Bid + MaxSL*Point);
else
sloss = ND(sloss + SLPips*Point);
return(sloss);
}
return(0);
}
//+------------------------------------------------------------------+
double GetLots()
{
if (!UseMM) return(FixLot);
double clots;
clots = AccountBalance() / 10000.0 * LotsFor10000;
clots = MathMax(clots, MarketInfo(Symbol(), MODE_MINLOT));
clots = MathMin(clots, MarketInfo(Symbol(), MODE_MAXLOT));
clots = NormalizeDouble(clots, 2);
return (clots);
}
//+------------------------------------------------------------------+
int CountBuy()
{
int count = 0;
for (int trade = OrdersTotal() - 1; trade >= 0; trade--)
{
if (OrderSelect(trade, SELECT_BY_POS, MODE_TRADES))
{
if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic && OrderType() == OP_BUY)
count++;
}
}
return (count);
}
//+------------------------------------------------------------------+
int CountSell()
{
int count = 0;
for (int trade = OrdersTotal() - 1; trade >= 0; trade--)
{
if (OrderSelect(trade, SELECT_BY_POS, MODE_TRADES))
{
if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic && OrderType() == OP_SELL)
count++;
}
}
return (count);
}
//+------------------------------------------------------------------+
int CountTrades()
{
return(CountBuy() + CountSell());
}
//+------------------------------------------------------------------+
double ND(double value)
{
return (NormalizeDouble(value, Digits));
Vorauswahl der Bestellung OrderSelect (Ticket_first_order, SELECT_BY_TICKET);
if(OrderOpenPrice()+10*Point==Ask)
OrderSend(Symbol(),OP_BUY,Lot,Ask,10,Ask-SL*Point,Ask+TP*Point,NULL,Magic,0,Green);
Ich glaube, es ist ein funktionierender Zweig... ups, sorry.
Gute Nacht allerseits!!! Frohes neues Jahr!
Es wurde beschlossen, die Pufferdaten in einer Datei zu speichern. Es ist kein Problem, eine Datei zu erstellen und in sie zu schreiben, aber es ist schwierig, aus ihr zu lesen.
Hier ist ein Testprogramm. Bitte um Hilfe. Das Problem besteht darin, dass entweder zusätzliche Daten in die Datei geschrieben werden, oder dass sie nicht aus der Datei gelesen werden können. Ich möchte nur eine Liste aus einer Datei in z. B. Arrays lesen... Wenn ich zu faul bin zu schreiben, bitte Link zu ähnlichen Material, aber ich habe nur Tutorial gefunden ... ABER BESSER EINE FERTIGE VARIANTE AUF DER WEBSITE))):
TROTZDEM VIELEN DANK IM VORAUS!!!))
Leider ist es nicht so einfach mit RECORDING in der Datei!!!(((
Und es schien ... im Gegenteil.
Das Lesen ist dank der Tutorial-Beispiele kein Problem, aber das AUFZEICHNEN in eine Datei erfordert einen komplexeren Code. Kurz gesagt, ich bin bereits getäuscht worden... Ich kann nicht herausfinden, wie ich den Datensatz synchron mit der Datei Lesen aus verschieben kann.
Ich habe die Einstellung der Pegel für Tagesbalken und für die Historie (anfänglich gepufferte Daten) korrigiert.
DIE FRAGE IST DIESELBE. BITTE GEBEN SIE MIR EINEN TIPP, WIE ICH PUFFERDATEN IN EINE DATEI SCHREIBEN KANN, WENN ES ZU VIEL IST.
GEÄNDERTER CODE DES PROGRAMMS
GEFUNDEN, WO ICH ANTWORTEN AUF MEINE FRAGEN... ÜBER DATEIOPERATIONEN SUCHEN KANN))):
SKRIPTE ZUR AUSGABE VON INFORMATIONEN AUS EINER DATEI IN EIN DIAGRAMM.
HISTORY OF FREE MT4 CODES GIBT ES OPTIONEN FÜR DIE ÜBERTRAGUNG VON DATEN IN EINE DATEI, SOWIE DIE UMGEKEHRTE OPERATION.
ICH DANKE IHNEN ALLEN, CIAO)))):
Es gibt eine große Datei mit Daten in dieser Form "20141231". Um die Zeichenkette in dasDatumsformat umzuwandeln,benötigen Sie die Punkte"JJJJ.MM.TT" zwischen dem Jahr, dem Monat und der Zahl.
Wie lässt sich das bewerkstelligen?
Hallo an alle, ich möchte die EA zu finden, die höchste hoch oder niedrigste niedrig in 100 Bars, beraten, wo zu lesen?
Sie können die Hilfe lesen, dort steht alles drin, mit Beispielen.