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

 
Chiripaha:

Nein, es ist nicht einfacher. Denn wenn ein negatives Flag (oder eine globale Variable) vorhanden war, muss die Prüfung trotzdem durchgeführt werden. Sowohl das Flag als auch die globale Variable funktionieren nur im positiven Fall. Und einige Funktionen werden beim Start immer noch benötigt (obwohl das hier anders ist).

Wie auch immer man es betrachtet, der Startvorgang muss trotzdem durchgeführt werden: entweder durch erneutes Abspielen von "init", was genauso lästig ist, oder durch erneutes Abspielen der erforderlichen Funktionen.


Sie tun etwas so Kompliziertes, dass es fast unmöglich ist, es zu verstehen...

Was ist der Unterschied zwischen der Rückgabe eines Wertes durch eine Funktion und einer globalen Variablen, die sich in der Funktion ändert und deren Ergebnis zurückgegeben werden muss? In diesem Fall "inite".

 

Liebe Kollegen, wo liegt der Fehler?

//========================================================================================================//     
                                             //---- SELL ----//
//========================================================================================================//

if(OrdS<=OrederSell) 
  { //----- start

if(.........)
  
{ticketSell=OrderSend(Symbol(),OP_SELL,0.1,Bid,3,0,0,0,magick,0,Blue);OrdS++; Этот ордер открывается
Sleep(3000); RefreshRates();
 ticketSell2=OrderSend(Symbol(),OP_SELL,0.2,Bid-20*Point,3,0,0,0,magick,0,Blue);OrdS++; Ошибка 138 или OP_SELLLIMIT - 130
 Sleep(3000); RefreshRates();
 ticketSell3=OrderSend(Symbol(),OP_SELL,0.4,Bid-40*Point,3,0,0,0,magick,0,Blue);OrdS++; Ошибка 138 или OP_SELLLIMIT - 130
}
 
  } //-----end
          
//========================================================================================================//  
                                             //---- BUY ----//
//========================================================================================================//  

if(OrdB<=OrederBuy)
  { //-----start

if(.........)

{ticketBuy=OrderSend(Symbol(),OP_BUY,0.1,Ask,3,0,0,0,magick,0,Red);OrdB++; Этот ордер открывается
Sleep(3000); RefreshRates();
 ticketBuy2=OrderSend(Symbol(),OP_BUY,0.2,Ask+20*Point,3,0,0,0,magick,0,Red);OrdB++; Ошибка 138 или OP_BUYLIMIT - 130
 Sleep(3000); RefreshRates();
 ticketBuy3=OrderSend(Symbol(),OP_BUY,0.4,Ask+40*Point,3,0,0,0,magick,0,Red);OrdB++; Ошибка 138 или OP_BUYLIMIT - 130
}

Ich habe bereits im Forum nach dem Fehler 130/138 gesucht, aber ich verstehe immer noch nicht, warum sich die Zusatzaufträge 2 und 3 nicht öffnen. Nur die wichtigsten.

 
NORMALISIERUNG
 
Fox_RM:

Liebe Kollegen, wo liegt der Fehler?

Ich habe bereits im Forum nach dem Fehler 130/138 gesucht, aber ich verstehe immer noch nicht, warum sich die Zusatzaufträge 2 und 3 nicht öffnen. Nur die wichtigsten.

Herr Kollege, Sie wollen Marktaufträge nicht zum Marktpreis eröffnen... :)
Und es schadet auch nicht, den Unterschied zwischen Limit-Orders (SELLLIMIT und BUYLIMIT) und Stop-Orders (SELLSTOP und BUYSTOP) zu kennen.

 
TarasBY:
Herr Kollege, Sie wollen Marktaufträge nicht zum Marktpreis eröffnen... :)

Und tatsächlich
 
Guten Tag. Es gibt zwei Punkte mit den Koordinaten (x1,y1) und (x2,y2). Wie kann ich diese beiden Punkte verwenden, um eine logarithmische Funktion mit einer anderen Logarithmusbasis als der natürlichen zu erstellen? Es scheint, als müsste ich die Umkehrfunktion(MathPow) verwenden, aber ich kann nicht herausfinden, wie ich sie diagonal machen kann. Falls jemand Erfahrung damit hat, bitte ich um Rat. Vielen Dank im Voraus.
 
hoz:

Es gibt also kein Ende des Zyklus, deshalb stockt er.

Was ist der richtige Weg, es zu beenden?
 
Chiripaha:

Nein, es ist nicht einfacher. Denn wenn ein negatives Flag (oder eine globale Variable) vorhanden war, muss die Prüfung trotzdem durchgeführt werden.

Nicht alle sind gleich.

Chiripaha:

Sowohl das Kennzeichen als auch das Global werden nur im positiven Fall ausgelöst. Und einige Funktionen werden in Start immer noch benötigt (obwohl es hier anders ist).

Bei einer Unterbrechung der Verbindung oder ähnlichem bekommt das Kennzeichen eine andere Bedeutung. Sie müssen entscheiden, wie Sie die richtigen Bedingungen dafür schaffen.
 
Krokus:

Was ist der richtige Weg, es zu beenden?
Es geht ungefähr so:
int i, countedBars = IndicatorCounted();
        
    for(i = Bars - countedBars;i > 0;i--)
    {
      pointOfMaFirst = iMA(Symbol(),maTF,maPeriod,maShiftByPrice,maMethod,maPrice,shiftBarsBack1);
      pointOfMaLast = iMA(Symbol(),0,maPeriod,maShiftByPrice,maMethod,maPrice,shiftBarsBack2);    
    }
 
TarasBY:

Herr Kollege, Sie wollen Marktaufträge nicht zum Marktpreis eröffnen... :)
Es wäre auch hilfreich, den Unterschied zwischen Limit-Orders (SELLLIMIT und BUYLIMIT) und Stop-Orders (SELLSTOP und BUYSTOP) zu verstehen.


Darf ich Sie fragen, was Sie mit "nicht zum Marktpreis" meinen? Mit SELLLIMIT und BUYLIMIT ist alles richtig.
Grund der Beschwerde: