[ARCHIV] Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 3. - Seite 258

 
palesandr:

Es geht darum, den Durchschnitt der Offen-Schließung über n Kerzen zu ermitteln.

es wird einfach eine nach unten zeigende Linie gezeichnet

Was ist los?

1) die innere Schleife korrigieren

k nicht von 1, sondern von i

2) In den allerersten Schritten über die Geschichte hinausgehen

 
granit77:
Ich würde auch gerne ein Beispiel sehen, wie man es richtig macht.

Was könnte komplizierter sein als das?

#property copyright "Bicus"
#property link      "Bicus"


double aPrices [5];

void PutStack (double p_Price)
{
  int nCounter;
  
  for (nCounter = 4; nCounter > 0; nCounter--)
    aPrices [nCounter] = aPrices [nCounter - 1];
    
  aPrices [0] = p_Price;
}

int start()
{
  int nCounter;
  
  PutStack (Bid);
  
  for (nCounter = 0; nCounter < 5; nCounter++)
    Print (nCounter, "-й тик: ", DoubleToStr (aPrices [nCounter], Digits));
}

Das 0-te Element des Arrays enthält den Preis des letzten Ticks, das 1. Element den Preis von vor 1 Tick, das 2. Element den Preis von vor 2 Ticks usw.

Oder habe ich vielleicht etwas missverstanden und etwas anderes gemeint?

 
palesandr:

Es geht darum, den Durchschnitt der Offen-Schließung über n Kerzen zu ermitteln.

es wird einfach eine nach unten zeigende Linie gezeichnet

Was ist los?


#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 Red 

extern double n = 50;
double Buf_0[];

int init()
  {
 SetIndexBuffer(0,Buf_0);
 SetIndexStyle (0,DRAW_LINE,STYLE_SOLID,2);    
    
   return(0);
  }

int start()
  {
   int    Counted_bars=IndicatorCounted();
      
   double v;
  int i=Bars-Counted_bars-1;
 
  while(i>=0)  
  {  v=0; 
          for(int k=i;k<i+n;k++)
        {
      
        v=v+MathAbs(Open[k]-Close[k]);
       
        
      }
       Buf_0[i] = v/n;
       
       i--;
       }
 return;
 }
 
Bicus:

Was könnte komplizierter sein als das?

Das 0-te Element des Arrays enthält den Preis des letzten Ticks, das 1. Element den Preis von vor 1 Tick, das 2. Element den Preis von vor 2 Ticks usw.

Oder habe ich etwas missverstanden und etwas anderes gemeint?

Danke, das ist genau das, was ich brauche. Es scheint nicht kompliziert zu sein, aber Leute, die die Grundlagen des Programmierens nicht kennen, brauchen manchmal sehr lange, um einfache Dinge zu tun. Sie müssen sich alles von Grund auf neu ausdenken.
Für dich zum Beispiel ist "Bubble Sorting" ein Element des Alphabets, während ich nur davon gehört habe und ohne ein Beispiel vor mir zu haben, alles noch einmal schreiben würde :))
 
Hat jemand eine fertige "Skip Next Bar"-Funktion? :)
 
Hallo an alle und Gewinn. Ich wollte fragen, ob jemand einen Indikator wie den RSI hat, der aber nie abweicht. Ich danke Ihnen.
 
ikatsko:
Hat jemand eine fertige Funktion zum Überspringen des nächsten Taktes? :)

if(iTime(Symbol(),period_bar,number_of_ bars_to_skip)>OrderOpenTime()

Überspringen_der_Leiste

0 - überspringe den aktuellen, 1 - den aktuellen und den nächsten usw.

 

yosuf:
Kürzlich habe ich in diesem Forum gelesen, dass wir, wenn wir 2 unterschiedlich ausgerichtete Aufträge mit demselben SL zur gleichen Zeit eröffnen, versuchen können, nach Schließung eines dieser Aufträge einen Gewinn zu erzielen. Hat jemand diese Idee überprüft oder nicht? Vielleicht gibt es einen ähnlichen EA?
160777:

Expert Grid v.2.

"Copyright©2008 EAfactory.com und Expert-4x.com - "Revision: 264".

Öffnet Positionen in beide Richtungen und schließt beide, wenn die Differenz im Plus ist.

Klären Sie mich auf, wie es möglich ist, auf der Plusseite zu stehen, wenn die Aufträge in Bezug auf die Losgröße gleich sind? Die Gesamtposition wird immer abzüglich der doppelten Spanne sein.

Eine andere Sache ist, wenn die Aufträge unterschiedliche Lots haben: dann ist der Stop-Loss des kleineren nicht der gleiche, aber der Stop-Loss des größeren ist gleich dem Take-Profit. Deren gleichzeitiger Abschluss führt dann, wenn man zu rechnen weiß, zu einem Gewinn.

 

Hallo zusammen, wie speichere ich einen Statement.htm-Bericht mit MQL? Weiß das jemand?

 

Ich kann nicht herausfinden, wie ich die Zeilen anzeigen lassen kann, entweder durch dieses Skript oder durch Wegschieben von diesem Skript, oder vielleicht liege ich falsch:

   //---------------------------------
  
        double PriceBid = Bid;
        double PriceAsk = Ask;
        double be = GetWeightedBELevel();

        if(be != -1)
        {
                double BuyLots = GetBuyLotsSum();
                double SellLots = GetSellLotsSum();
                
                double Swap = GetSwap();
                //string str = be + " ";
                if(Swap < 0)
                {
                        double diff = BuyLots - SellLots;
                        //str = str + MarketInfo(Symbol(), MODE_TICKVALUE) * diff + " " + (-Swap / (MarketInfo(Symbol(), MODE_TICKVALUE) * diff) * Point) + " ";
                        be += ND(-Swap / (MarketInfo(Symbol(), MODE_TICKVALUE) * diff) * Point + diff / MathAbs(diff) * 1 * Point);
                }
                //str = str + Swap + " " + be;
                //Comment(str);
                        
                if((BuyLots > SellLots && ND(PrevPriceBid) < ND(be + TakeProfitBuy * Point) && ND(PriceBid) >= ND(be + TakeProfitBuy * Point)) ||
                        (BuyLots < SellLots && ND(PrevPriceAsk) > ND(be - TakeProfitSell * Point) && ND(PriceAsk) <= ND(be - TakeProfitSell * Point)))
                {
                        CloseAllBuy();
                        CloseAllSell();
                }               
                
        }
        //---------------------

Das heißt, wenn dieser Preis dieses Niveau erreicht, werden die Aufträge geschlossen, und ich möchte diesen Preis auf dem Diagramm als Linie oder einen kleinen Datensatz in einem Quadrat und mit einem Bindestrich sehen.

mich in die richtige Richtung führen
Grund der Beschwerde: