Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 1886

 
Владимир Казаков #:

Zerlegen Sie die Ausdrücke in Aktionen... und, oh mein Gott, die Ergebnisse sind die gleichen!!!?

Also alles das gleiche mit der Reduzierung der Arten etwas nicht funktioniert, wie ich möchte

von Experten und Versteher kann jemand erklären, was das Problem war?!
Nun, nicht zu wiederholen Fehler)))

PS: Hier ist der gleiche Ausdruck in diesem Format funktioniert auf die gleiche Weise

Die Ausschlussmethode war ein narrensicheres Doppel für die int.

Ich hoffe, ich habe es richtig verstanden.

double a = (double) ((d*pow(10,_Digits-2))*(180/M_PI)*(double) coefAngle);
double a = (double) ((d*pow(10,_Digits-2))*(180.0/M_PI)*(double) coefAngle);
 

Grüße, könnten Sie mich auf einen Roboter beraten, mt5.

Ich brauche die Indizes im Array, um mit dem Wert der Verschiebung relativ zum aktuellen Balken übereinzustimmen, wie in Indikatorpuffern.

Wie kann man das tun?

 
Andrey Sokolov #:

Grüße, könnten Sie mich auf einen Roboter beraten, mt5.

Ich brauche die Indizes im Array, um mit dem Wert der Verschiebung relativ zum aktuellen Balken übereinzustimmen, wie in Indikatorpuffern.

Wie kann man das tun?

ArraySetAsSeries

 
Vitaly Muzichenko #:

ArraySetAsSeries

Danke, funktioniert das nicht nur bei Indikatoren, sondern auch bei Robotern?

 
Andrey Sokolov #:

Vielen Dank, funktioniert das nicht nur bei Indikatoren, sondern auch bei Robotern?

Ich kenne Ihr Problem nicht, aber es vertauscht das Feld

 
Vitaly Muzichenko #:

Ich kenne Ihr Problem nicht, aber es vertauscht die Anordnung

Wir brauchen Indizes im Array, die mit dem Verschiebungswert relativ zum aktuellen Balken übereinstimmen, wie inIndikatorpuffern.

Sie benötigen die Indexwerte, um die Candlesticks nach dem Erscheinen neuer Candlesticks anzupassen, wie bei Indikatoren.

 
Andrey Sokolov #:

Wir brauchen Indizes im Array, die mit dem Verschiebungswert relativ zum aktuellen Balken übereinstimmen, wie inIndikatorpuffern.

Sie müssen die Indexwerte nach dem Erscheinen neuer Candlesticks an die Candlesticks anpassen, wie bei den Indikatoren.

Probieren Sie es aus, es sollte funktionieren

 
Vitaly Muzichenko #:

Probieren Sie es aus, es sollte funktionieren.

So funktioniert das nicht. Ich schreibe 300 in Index 0, wenn eine neue Kerze erscheint, sollte sie 300 in Index 1 sein, aber nein.

#property strict

int bars;
double arr[];

int OnInit()//////////////***OnInit()****///*************OnInit()*******/////////***/////////////////////OnInit()
{
   Comment("");
   
   bars = Bars(NULL, 0);
   bool series = ArraySetAsSeries(arr, true);
   int size = ArraySize(arr);
   int res = ArrayResize(arr, bars);
   arr[0] = 300;

   return(INIT_SUCCEEDED);
}//+------------------------------------------------------------------+
void OnDeinit(const int reason)//////////////**////////*OnDeinit()****////////////////////*************OnDeinit()
{       
        Comment("");  
}//+------------------------------------------------------------------+
void OnTick()//////////////***OnTick()****///*************OnTick()**********/////////////////////////////OnTick()
{
   if(bars!=Bars(NULL, 0))
   {
        bars=Bars(NULL, 0);
        int res = ArrayResize(arr, bars);
   }
   
   Comment(TimeCurrent(), "  ", bars, "  ", arr[0], "  ", arr[1], "  ", arr[2], "  " , arr[3]);
}//+------------------------------------------------------------------+

Ich kann mir eine "Verschiebung" des gesamten Arrays in der Schleife bei neuen Candlesticks schreiben, aber die Sprache für die Arbeit mit Charts, wahrscheinlich, gibt es etwas Standard.

 
Andrey Sokolov #:

So funktioniert es nicht. Ich schreibe 300 in den Index 0, wenn eine neue Kerze erscheint, sollte es 300 im Index 1 sein, ist es aber nicht.

Ich kann mich schreiben "Verschiebung" des gesamten Arrays in der Schleife auf neue Candlesticks, aber in der Sprache für die Arbeit mit Charts, wahrscheinlich, gibt es etwas Standard.

Es wird umgedreht, aber es hat keinen Sinn.

#property strict

int bars;
double arr[]={};

int OnInit()//////////////***OnInit()****///*************OnInit()*******/////////***/////////////////////OnInit()
{
   Comment("");
   
   bars = Bars(NULL, 0);
   int size = ArraySize(arr);
   int res = ArrayResize(arr, bars);
   arr[res-1] = 300;
   ArraySetAsSeries(arr, true);
   return(INIT_SUCCEEDED);
}//+------------------------------------------------------------------+
void OnDeinit(const int reason)//////////////**////////*OnDeinit()****////////////////////*************OnDeinit()
{       
        Comment("");  
}//+------------------------------------------------------------------+
void OnTick()//////////////***OnTick()****///*************OnTick()**********/////////////////////////////OnTick()
{
static int res;
   if(bars!=Bars(NULL, 0))
   {
        bars=Bars(NULL, 0);
        res = ArrayResize(arr, bars);
   }
   
   Print(res, "  ", arr[0], "  ", arr[1], "  ", arr[2]);
}//+------------------------------------------------------------------+

Sie muss auf andere Weise gefüllt werden

 
Andrey Sokolov #:

So funktioniert es nicht. Ich schreibe 300 in den Index 0, wenn eine neue Kerze erscheint, sollte es 300 im Index 1 sein, ist es aber nicht.

Ich kann mich schreiben "Verschiebung" des gesamten Arrays in der Schleife auf neue Candlesticks, aber in der Sprache für die Arbeit mit Charts, wahrscheinlich, gibt es etwas Standard.

Ja, es gibt einen Standard... Zum Array hinzufügen und aus dem Array entfernen. Das Array sollte dynamisch sein. Schauen Sie in der Dokumentation nach, ich weiß nicht mehr, wie sie geschrieben sind...

Grund der Beschwerde: