Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 6. - Seite 554
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
splxgf: - Herzlichen Dank! Alles funktioniert wie am Schnürchen!
Hier ist der Breakeven-Code von Igor Kim, umgewandelt "splxgf:" anstelle von Punkten in Prozente:
//+----------------------------------------------------------------------------+
//| Autor : Kim Igor V. alias KimIV, http://www.kimiv.ru |
//+----------------------------------------------------------------------------+
//| Version : 23.04.2009 |
//| Beschreibung: Verschieben der Stoppstufe auf verlustfrei |
//+----------------------------------------------------------------------------+
//| Parameter: |
//| sy - Instrumentenname ( "" - beliebiges Symbol, |
//| NULL - aktuelles Symbol) |
//| op - Operation ( -1 - beliebige Position) |
//| mn - MagicNumber ( -1 - beliebiger Magier) |
//+----------------------------------------------------------------------------+
void MovingInWL(string sy=NULL, int op=-1, int mn=-1) {
double po, pp, PercentStep,MoveStoplossLevel,StoplossLevel;
int i, k=OrdersTotal();
if (sy=="0") sy=Symbol();
for (i=0; i<k; i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
if ((OrderSymbol()==sy || sy==") && (op<0 || OrderType()==op)) {
if (mn<0 || OrderMagicNumber()==mn) {
po=MarketInfo(OrderSymbol(), MODE_POINT);
if (Auftragsart()==OP_BUY) {
PercentStep=(OrderTakeProfit()-OrderOpenPrice())/po/(138-23);
MoveStoplossLevel = OrderOpenPrice() + PercentStep*(76-23);
StoplossLevel = OrderOpenPrice() + PercentStep*(51-23);
if (OrderStopLoss()-OrderOpenPrice()<StoplossLevel*po) {
pp=MarketInfo(OrderSymbol(), MODE_BID);
if (pp-OrderOpenPrice()>MoveStoplossLevel*po) {
ModifyOrder(-1, OrderOpenPrice()+StoplossLevel*po, -1);
}
}
}
if (OrderType()==OP_SELL) {
PercentStep=(OrderTakeProfit()-OrderOpenPrice())/po/(138-23);
MoveStoplossLevel = OrderOpenPrice() - PercentStep*(76-23);
StoplossLevel = OrderOpenPrice() - PercentStep*(51-23)
if (OrderStopLoss()==0 || OrderOpenPrice()-OrderStopLoss()<StoplossLevel*po) {
pp=MarketInfo(OrderSymbol(), MODE_ASK);
if (OrderOpenPrice()-pp>MoveStoplossLevel*po) {
ModifyOrder(-1, OrderOpenPrice()-StoplossLevel*po, -1);
}
}
}
}
}
}
}
}
//+----------------------------------------------------------------------------+
Zahlen:
138 ist der Take-Profit in % Fibonacci.
23 ist der offene Preis des Auftrags in % Fibonacci
76 ist % des Fibonacci-Rasters, wenn der Preis diesen Wert erreicht, wird der Stop-Loss auf 51% des Fibonacci-Rasters verschoben.
Funktion von e-MovingInWL2 Expert Advisor.
{
Trailing();
double Line11=iCustom(Symbol(), 0, "TDI Red Green", RSI_Period, RSI_Price, Volatility_Band, RSI_Price_Line, RSI_Price_Type, Trade_Signal_Line, Trade_Signal_Type, 4, 1);
double Line12=iCustom(Symbol(), 0, "TDI Red Green", RSI_Period, RSI_Price, Volatility_Band, RSI_Price_Line, RSI_Price_Type, Trade_Signal_Line, Trade_Signal_Type, 4, 2);
double Line21=iCustom(Symbol(), 0, "TDI Red Green", RSI_Period, RSI_Price, Volatility_Band, RSI_Price_Line, RSI_Price_Type, Trade_Signal_Line, Trade_Signal_Type, 5, 1);
if (timeprev == Time[0]) return(0);
timeprev = Time[0];
ma0=iMA(NULL,0,10,0,MODE_SMA,PRICE_CLOSE,1);
ma1=iMA(NULL,0,200,0,MODE_SMA,PRICE_CLOSE,1);
ma2=iMA(NULL,0,50,0,MODE_SMA,PRICE_CLOSE,1);
ma3=iMA(NULL,0,800,0,MODE_SMA,PRICE_CLOSE,1);
if (CountBuy()>5 && Volume[0]==1 && Ask > ma0 && Ask > ma1 && Ask > ma3)
{
if (Line11>Level1&&Line12<Level1&&Line11>Line12)
OrderSend(Symbol(), OP_BUY, Lots, Ask, Slippage, Ask-sl*Point, Ask+tp*Point, comment, Magic, 0, Blue);
}
if (CountSell()>5 && Volume[0]==1 && Bid < ma0 && Bid < ma1 && Ask < ma3)
{
if (Line11>Level2&&Line12>Level1&&Line11>Line12)
OrderSend(Symbol(), OP_SELL, Lots, Bid, Slippage, Ask+sl*Point,Ask-tp*Point, comment, Magic, 0, Red);
}
return(0);
}
Bitte helfen Sie mir, einen Fehler im Code mit dem Signal zum Öffnen von Aufträgen durch den TDI Red Green Indikator zu finden.
Der Prüfer öffnet keine oder nur ein Geschäft. Es werden keine Fehler gemeldet.
Ich habe die Puffer des Indikators korrekt angegeben.
Ich bin gerade lernen mql4 für ein paar Tage, ich bin ein Anfänger)))
Ich bin Ihnen im Voraus für Ihre Hilfe dankbar!Der darin enthaltene Parameter N ist variabel, was bedeutet, dass der Code jedes Mal, wenn er geändert wird, durch Hinzufügen (oder Entfernen) von "if"-Bedingungen (unter dem entsprechenden Array) überarbeitet werden muss.
Frage - ist es möglich, nur ein "if" zu verwenden, aber die Variable "to" in Array-Namen (oder etwas anderes) zu verwenden? D.h. etwas wie ARRAY_{k}. Ich weiß, dass wir Arrays durch Terminalvariablen ersetzen können, aber dies ist ein Extremfall. Gibt es eine solche Lösung für Arrays?
Ich stand vor diesem Dilemma: Angenommen, es gibt eine Schleife für:
Der darin enthaltene Parameter N ist variabel, was bedeutet, dass Sie jedes Mal, wenn Sie ihn ändern, den Code durch Hinzufügen (oder Löschen) von "if"-Bedingungen (unter dem entsprechenden Array) ändern müssen.
Frage - ist es möglich, nur ein "if" zu verwenden, aber die Variable "to" in Array-Namen (oder etwas anderes) zu verwenden? D.h. etwas wie ARRAY_{k}. Ich weiß, dass wir Arrays durch Terminalvariablen ersetzen können, aber dies ist ein Extremfall. Gibt es eine solche Lösung für Arrays?
Sie können, wenn es irgendwie ähnlich ist:
Sie können, wenn es irgendwie ähnlich ist:
Können Sie in Worten beschreiben, was gemeint war?
Können Sie in Worten beschreiben, was gemeint war?
Entschuldigung, ich war abgelenkt.
Der Array-Index wird zum Bestandteil des Bezeichners.
Hier ist ein einfacher Code.
Ich möchte, dass das Programm bei JEDER fünfzigsten Kerze eine vertikale Linie zeichnet.
wird das Programm eine vertikale Linie zeichnen.
DAS PROBLEM IST.
Das Programm zeigt eine vertikale Linie NUR AUF DER ERSTEN KRONE an (Vielfaches von 50).
Ich danke Ihnen.
Der Array-Index wird zum Bestandteil des Bezeichners.
Soweit ich weiß, wird Ihre Lösung in meinem Fall nicht funktionieren, aber sie hat mich auf eine Idee gebracht, die es wert ist, überprüft zu werden. Ich danke Ihnen!
Hier ist ein einfacher Code.
Ich will es bei JEDER fünfzigsten Kerze.
das Programm hat eine vertikale Linie angezeigt.
PROBLEM
Das Programm setzt eine vertikale Linie NUR in der ERSTEN ZEILE (Vielfaches von 50).
Ich möchte, dass es für jede fünfzigste Kerze derselbe Name ist.
Sie versuchen, mehrere Objekte mit demselben Namen zu erstellen, und das ist nicht möglich. Der Name muss einzigartig sein, wie die Zeit:
Das ist das Wichtigste. Zweitens: Wo ist der Kreislauf? Wie wird das Skript die Kerzen zählen?