Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 6. - Seite 380

 
Integer:


Nein.

Das ist der richtige Weg:


Genau richtig! Ich danke Ihnen! ;)
 
Integer:

Bewegen Sie den Cursor auf die erste öffnende Klammer nach OrderSend, löschen Sie diese Klammer und geben Sie sie erneut ein. Daraufhin wird ein Tooltip mit dem Typ der Parameter angezeigt, überprüfen Sie, ob alle Parameter vom gleichen Typ sind.

Vielen Dank, ich hatte kein Ablaufdatum für die Bestellung angegeben, jetzt funktioniert es!
 
Integer:
Gemessen wurde die Geschwindigkeit des Vorwärts- und Rückwärtslaufs. 100 Aufträgen ist der Rückwärtszyklus 5 Mal schneller. Aber es gibt nie so viele Aufträge, höchstens 10. Bei 10 Aufträgen ist die Geschwindigkeit 3-mal so hoch. Es liegt auf der Hand, den umgekehrten Weg zu wählen.

Wird die Schleife in einem Tick oder in mehreren Ticks ausgeführt?
 
Example2:

Wird die Schleife in einem einzigen Tick oder in mehreren Ticks ausgeführt?

Das verstehe ich nicht. Es wird einfach ausgeführt, und das war's, Ticks haben damit nichts zu tun.
 
//|+-------------------------------------------------------------------------------------------------------+
//|Inputs                                                                                                  |
//|+-------------------------------------------------------------------------------------------------------+
extern double Lots_Typ = 0.1;
extern double TP_Typ = 100;
extern double SL_Typ = 100;
extern double Timeframe = 0; 
//|+-------------------------------------------------------------------------------------------------------+
extern double _N_  = 1;
//|+-------------------------------------------------------------------------------------------------------+
extern double Line_6  = 2.5;
extern double Line_7  = 3;
extern double Line_8  = 3.5;
extern double Line_9  = 4;
extern double Line_10 = 4.5;
extern double Line_11 = 5;
//|+-------------------------------------------------------------------------------------------------------+
extern double RSI_Type_Line_1 = 0;
extern double RSI_Period_Line_1_1 = 5;
extern double ADX_Type_Price_1 = 0;
extern double ADX_Period_Line_1 = 5;
extern double RVI_Period_Line_1 = 5;
extern double Stohastic_MA_Metod_1 = 0;
extern double Stochastic_Period_Line_A_1 = 10;
extern double Stochastic_Period_Line_B_1 = 6;
//|+-------------------------------------------------------------------------------------------------------+
extern double RSI_Type_Line_2 = 0;
extern double RSI_Period_Line_1_2 = 10;
extern double ADX_Type_Price_2 = 0;
extern double ADX_Period_Line_2 = 10;
extern double RVI_Period_Line_2 = 10;
extern double Stohastic_MA_Metod_2 = 0;
extern double Stochastic_Period_Line_A_2 = 10;
extern double Stochastic_Period_Line_B_2 = 6;
//|+-------------------------------------------------------------------------------------------------------+
extern double RSI_Type_Line_3 = 0;
extern double RSI_Period_Line_1_3 = 20;
extern double ADX_Type_Price_3 = 0;
extern double ADX_Period_Line_3 = 20;
extern double RVI_Period_Line_3 = 20;
extern double Stohastic_MA_Metod_3 = 0;
extern double Stochastic_Period_Line_A_3 = 10;
extern double Stochastic_Period_Line_B_3 = 6;
//|+-------------------------------------------------------------------------------------------------------+
//|Declaration                                                                                             |
//|+-------------------------------------------------------------------------------------------------------+
double Line_1_A; double Line_2_A; double Line_3_A;
double Line_1_B; double Line_2_B; double Line_3_B;
double Line_1_C; double Line_2_C; double Line_3_C;
double Line_1_D; double Line_2_D; double Line_3_D;
double Line_1_I; double Line_2_I; double Line_3_I;
double Line_1_F; double Line_2_F; double Line_3_F;
double Line_1_K; double Line_2_K; double Line_3_K;
double Line_1_L; double Line_2_L; double Line_3_L;
double Line_1_M; double Line_2_M; double Line_3_M;
//|+-------------------------------------------------------------------------------------------------------+
double Lines_1; 
double Lines_2;
double Lines_3;
//|+-------------------------------------------------------------------------------------------------------+
double price;
//|+-------------------------------------------------------------------------------------------------------+
//|+-------------------------------------------------------------------------------------------------------+
//|Start                                                                                                   |
//|+-------------------------------------------------------------------------------------------------------+
//|+-------------------------------------------------------------------------------------------------------+
//|Level 1                                                                                                 |
//|+-------------------------------------------------------------------------------------------------------+
int start() 
{ 
    //|+---------------------------------------------------------------------------------------------------+
    //|Level 2                                                                                             |
    //|+---------------------------------------------------------------------------------------------------+
    price = Bid;
    //|+---------------------------------------------------------------------------------------------------+
    Line_1_A = iRSI(Symbol(),Timeframe,RSI_Period_Line_1_1,RSI_Type_Line_1,0);
    Line_1_M = iRSI(Symbol(),Timeframe,RSI_Period_Line_1_2,RSI_Type_Line_1,0);
    Line_1_L = iRSI(Symbol(),Timeframe,RSI_Period_Line_1_3,RSI_Type_Line_1,0);
    Line_1_B = iStochastic(Symbol(),Timeframe,Stochastic_Period_Line_A_1,Stochastic_Period_Line_B_1,Stochastic_Period_Line_B_1,Stohastic_MA_Metod_1,0,0,0);
    Line_1_K = iStochastic(Symbol(),Timeframe,Stochastic_Period_Line_A_1,Stochastic_Period_Line_B_1,Stochastic_Period_Line_B_1,Stohastic_MA_Metod_1,0,1,0);
    Line_1_C = iADX(Symbol(),Timeframe,ADX_Period_Line_1,ADX_Type_Price_1,0,0);
    Line_1_D = iADX(Symbol(),Timeframe,ADX_Period_Line_1,ADX_Type_Price_1,1,0);
    Line_1_I = iADX(Symbol(),Timeframe,ADX_Period_Line_1,ADX_Type_Price_1,2,0);
    Line_1_F = iRVI(Symbol(),Timeframe,RVI_Period_Line_1,ADX_Type_Price_1,0);
    //|+---------------------------------------------------------------------------------------------------+
    Line_2_A = iRSI(Symbol(),Timeframe,RSI_Period_Line_1_1,RSI_Type_Line_2,0);
    Line_2_M = iRSI(Symbol(),Timeframe,RSI_Period_Line_1_2,RSI_Type_Line_2,0);
    Line_2_L = iRSI(Symbol(),Timeframe,RSI_Period_Line_1_3,RSI_Type_Line_2,0);
    Line_2_B = iStochastic(Symbol(),Timeframe,Stochastic_Period_Line_A_2,Stochastic_Period_Line_B_2,Stochastic_Period_Line_B_2,Stohastic_MA_Metod_2,0,0,0);
    Line_2_K = iStochastic(Symbol(),Timeframe,Stochastic_Period_Line_A_2,Stochastic_Period_Line_B_2,Stochastic_Period_Line_B_2,Stohastic_MA_Metod_2,0,1,0);
    Line_2_C = iADX(Symbol(),Timeframe,ADX_Period_Line_2,ADX_Type_Price_2,0,0);
    Line_2_D = iADX(Symbol(),Timeframe,ADX_Period_Line_2,ADX_Type_Price_2,1,0);
    Line_2_I = iADX(Symbol(),Timeframe,ADX_Period_Line_2,ADX_Type_Price_2,2,0);
    Line_2_F = iRVI(Symbol(),Timeframe,RVI_Period_Line_2,ADX_Type_Price_2,0);
    //|+---------------------------------------------------------------------------------------------------+
    Line_3_A = iRSI(Symbol(),Timeframe,RSI_Period_Line_1_1,RSI_Type_Line_3,0);
    Line_3_M = iRSI(Symbol(),Timeframe,RSI_Period_Line_1_2,RSI_Type_Line_3,0);
    Line_3_L = iRSI(Symbol(),Timeframe,RSI_Period_Line_1_3,RSI_Type_Line_3,0);
    Line_3_B = iStochastic(Symbol(),Timeframe,Stochastic_Period_Line_A_3,Stochastic_Period_Line_B_3,Stochastic_Period_Line_B_3,Stohastic_MA_Metod_3,0,0,0);
    Line_3_K = iStochastic(Symbol(),Timeframe,Stochastic_Period_Line_A_3,Stochastic_Period_Line_B_3,Stochastic_Period_Line_B_3,Stohastic_MA_Metod_3,0,1,0);
    Line_3_C = iADX(Symbol(),Timeframe,ADX_Period_Line_3,ADX_Type_Price_3,0,0);
    Line_3_D = iADX(Symbol(),Timeframe,ADX_Period_Line_3,ADX_Type_Price_3,1,0);
    Line_3_I = iADX(Symbol(),Timeframe,ADX_Period_Line_3,ADX_Type_Price_3,2,0);
    Line_3_F = iRVI(Symbol(),Timeframe,RVI_Period_Line_3,ADX_Type_Price_3,0);
        //|+-----------------------------------------------------------------------------------------------+
        //|Level 3                                                                                         |
        //|+-----------------------------------------------------------------------------------------------+
        Lines_1 = price * (_N_ * (((Line_1_B + Line_1_F) / Line_1_K) - ((Line_1_D + Line_1_I) / Line_1_C) + ((Line_1_A + Line_1_M) / Line_1_L)));
        //|+-----------------------------------------------------------------------------------------------+
        Lines_2 = price * (_N_ * (((Line_2_B + Line_2_F) / Line_2_K) - ((Line_2_D + Line_2_I) / Line_2_C) + ((Line_2_A + Line_2_M) / Line_2_L)));
        //|+-----------------------------------------------------------------------------------------------+
        Lines_3 = price * (_N_ * (((Line_3_B + Line_3_F) / Line_3_K) - ((Line_3_D + Line_3_I) / Line_3_C) + ((Line_3_A + Line_3_M) / Line_3_L)));
            //|+-------------------------------------------------------------------------------------------+
            //|Level 4 Auto_Sistem_1                                                                       |
            //|+-------------------------------------------------------------------------------------------+  

            if(Line_7 > Lines_1 && Lines_1 > Line_6)
            {
            Alert("Сигнал на покупку (2.5 , 3)");
            OrderSend(Symbol(),OP_BUY,Lots_Typ,Ask,5,SL_Typ,TP_Typ);
            }
            return;}}
Dies ist mein verkürzter Trauerexperte. :)
Er macht keine Geschäfte.
Ich kann den Grund dafür nicht herausfinden.
Hilfe, bitte.
 

Der Tester gibt beim Schließen mehrerer offener Positionen ständig die Fehlermeldung 138 (Requested price out of date) aus. Außerdem wird eine Position normal geschlossen, während die später geöffnete Position nicht mit dem Fehler 138 schließt. Vielleicht können die Entwickler beantworten, wie der Preis auf der Grundlage historischer Daten veraltet sein kann, oder gibt es andere Parameter, die im Algorithmus zur Erkennung dieses Fehlers verwendet werden? Wenn wir die OrderClose in die Endlosschleife mit konstantem Verweis auf RefreshRates darin platzieren, wird die Position nicht geschlossen und der Fehler 138 tritt weiterhin auf. Natürlich wird die Schleife nicht beendet, obwohl wir den Ausstieg beim Schließen der Position festgelegt haben.

Mein Demokonto wurde bei Alpari eröffnet. Ich habe die Historie nicht zusätzlich geladen, aber es gibt eine Menge Fehler, wie: 2013.12.29 16:27:09 TestGenerator: nicht übereinstimmende Datenfehler (Volumengrenze 10340 am 2013.08.23 12:00 überschritten), usw.

Kann mir jemand sagen, was ich in dieser Situation tun soll? Und was ist das für ein Tester, der Positionen nicht innerhalb weniger 4-Stunden-Kerzen schließen kann?

 
Link_x:
Dies ist mein verkürzter Trauerexperte. :)
Er macht keine Geschäfte.
Ich kann den Grund dafür nicht herausfinden.
Hilfe, bitte.
Test im visuellen Modus. Verwenden Sie Comment() zur Ausgabe von Line_7, Lines_1, Line_6. Sehen Sie, wie sie sich verändern, ob die Bedingungen überhaupt erfüllt werden können.
 
Example2:

for (int i = 0; i < OrdersTotal(); i++){
if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES) == true){
Gewinn = Gewinn + OrderProfit() + OrderCommission() + OrderSwap();
}

}

Nur "Profit" muss als gebrochene Variable deklariert werden. Wenn wir ein Häkchen für Kaufen und Verkaufen hinzufügen, können wir den Gewinn getrennt für Kauf- und Verkaufsaufträge berechnen.


Danke, ich habe es verstanden... aber wie kann man alle offenen Aufträge für alle Währungspaare auf einmal schließen? .... - auch mit Brute Force? .... - keine anderen Optionen?
 
Integer:
Test im visuellen Modus. Verwenden Sie Comment() zur Ausgabe von Line_7, Lines_1, Line_6. Sehen Sie, wie sie sich verändern und ob die Bedingungen überhaupt erfüllt werden können.


Die Transaktionsbedingungen sind erfüllt, aber die Transaktion ist nicht abgeschlossen.
 
i999i:

Danke, ich verstehe den Gewinn ... aber wie schließt man alle offenen Aufträge für alle Symbole gleichzeitig? .... Ist das die gleiche Suchmethode? .... keine anderen Optionen?


Sie sollten auch bedenken, dass bei mehreren Aufträgen möglicherweise nicht alle in einem Zyklus abgeschlossen werden. Sie sollten auch bedenken, dass bei mehreren Aufträgen diese möglicherweise nicht alle in einem Zyklus geschlossen werden und die Bedingungen beim nächsten Tick nicht mehr erfüllt sind und die übrigen Aufträge offen bleiben. Aus diesem Grund benötigen wir eine zusätzliche globale oder statische Variable. Wenn die Abschlussbedingungen erfüllt sind, setzen wir diese Variable auf true. Wenn die Variable true ist, schließen wir bei jedem Tick alle Aufträge in der Schleife; wenn wir es geschafft haben, alle Aufträge zu schließen, setzen wir die Variable false.