[WARNUNG GESCHLOSSEN!] Alle Fragen von Neulingen, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Ohne dich kann ich nirgendwo hingehen. - Seite 28

 
der Gewinn hängt von der Größe des Loses ab... die Größe des Loses hängt von der Größe der Hebelwirkung ab...
 

Mit einem Problem konfrontiert:

Ich habe einen BBP MA Oscillator Indikator geschrieben

Auf der Karte funktioniert es gut,

Aber wenn ich es vom EA aus aufrufe, stimmen die Daten nicht überein.

Die eingestellten Parameter sind jeweils die gleichen.

BBP_0=iCustom("EURUSD",60, "BBP MA Oscillator",BBPPeriod9,MODE_SMA,SignalBBPPeriod9,MODE_SMMA,0,0);

Die Frage ist: Wie ist das möglich?

 
//+------------------------------------------------------------------+
//|                                            BBP MA Oscillator.mq4 |
//|                                                   vasbsm@mail.ru |
//|                                                                  |
//+------------------------------------------------------------------+
#property copyright "vasbsm@mail.ru"
#property link      ""

#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 Blue
#property  indicator_width1  2
//---- input parameters
extern int       BBPeriod=155;
extern int       TypeMA=MODE_SMA;
extern int       SignalMA=172;
extern int       Type_MA_Signal=MODE_SMMA;
//-----------------------------
double BBBuffer[];
double TempBuffer[];
double OsmaBuffer[];
double SignalBuffer[];

int init()
  {
   string short_name;
   IndicatorBuffers(4);
   IndicatorDigits(Digits);
   
   SetIndexStyle(0,DRAW_HISTOGRAM);
   SetIndexDrawBegin(0, SignalMA);
   IndicatorDigits(Digits+2);
   
   SetIndexBuffer(0, OsmaBuffer);
   SetIndexBuffer(1, SignalBuffer);  
   SetIndexBuffer(2, BBBuffer);
   SetIndexBuffer(3, TempBuffer); 
   
   short_name="Bulls Bears Power MA("+ BBPeriod+","+ SignalMA+")";     
   IndicatorShortName( short_name);
   SetIndexLabel(0, short_name);   
   return(0);
  }
int deinit()
  {

   return(0);
  }
int start()
  {
   int counted_bars=IndicatorCounted();
   if(Bars<= BBPeriod) return(0);
//----------------------------------------------------------------
   int limit=Bars- counted_bars;
   if( counted_bars>0) limit++;
   for(int i=0; i< limit; i++)
      TempBuffer[ i]=iMA(NULL,0, BBPeriod,0, TypeMA,PRICE_CLOSE, i);
//----------------------------------------------------------------
   i=Bars- counted_bars-1;
   while( i>=0)
     {
      BBBuffer[ i]=High[ i]+Low[ i]-2* TempBuffer[ i];
      i--;
     }
   i=Bars- counted_bars-1;
   while( i>=0)
     {
      SignalBuffer[ i]=iMAOnArray( BBBuffer,Bars, SignalMA,0, Type_MA_Signal, i);
      i--;
     }
   i=Bars- counted_bars-1;
   while( i>=0)
     {
      OsmaBuffer[ i]= BBBuffer[ i]- SignalBuffer[ i];
      i--;
     }         
   return(0);
  }
 

Ich habe jetzt eine interessante Funktion entdeckt...

(wahrscheinlich ist es schon irgendwo beschrieben, aber ich versuche, zuerst mein Gehirn zu benutzen und dann ein Lehrbuch ;)))

Dadurch konnte ich ein weiteres Auswahlkriterium vom Typ IF (Filter) verwenden

orders += OrderProfit()<1;

Neben einem üblichen, traditionellen IF-Filter, der die notwendigen Aufträge auswählt,

Die Einführung der Bedingung im obigen Code hat Aufträge mit einem Gewinn von weniger als 1 ausgewählt.

*

Ich weiß nicht einmal, ob es richtig ist oder nicht, aber es scheint zu funktionieren...

 
zfs >> :

Mit einem Problem konfrontiert:

Ich habe einen BBP MA Oscillator Indikator geschrieben

Auf der Karte funktioniert es gut,

Aber wenn ich es vom EA aus aufrufe, stimmen die Daten nicht überein.

Die eingestellten Parameter sind jeweils die gleichen.

BBP_0=iCustom("EURUSD",60, "BBP MA Oscillator",BBPPeriod9,MODE_SMA,SignalBBPPeriod9,MODE_SMMA,0,0);

Die Frage ist: Wie ist das möglich?

und wenn standardmäßig

BBP_0=iCustom(NULL,0, "BBP MA Oscillator",0,0);

und das ist offensichtlich falsch

if( counted_bars>0) limit++

sollte es sein

if( counted_bars>0) limit--;
 

JavaDev, Granit77 danke für die Antworten..... und obwohl ich immer noch nicht die Antwort auf meine Hauptfrage bekommen habe, habe ich beschlossen, das Tutorial weiter zu lesen. Vielleicht wird die Antwort auf meine Frage im Laufe des Prozesses klarer werden.

 
GGeoZ >> :

...und obwohl ich immer noch keine Antwort auf meine grundlegende Frage erhielt, beschloss ich, das Lehrbuch weiter zu lesen. Vielleicht wird die Antwort auf meine Frage im Laufe des Prozesses klarer werden.

Ich hoffe, SK. sieht diesen Thread nicht, also werde ich im Tutorial "mitteilen, was ich gelesen habe". Als normaler, dummer Benutzer überspringe ich die unverständlichen Teile einfach in der Hoffnung, dass "es sich von selbst regelt". Ihre Frage ist mir gar nicht in den Sinn gekommen (Alter, Sie wissen schon...). Für den internen Gebrauch wurde akzeptiert, dass int alles ist, was man an den Fingern abzählen kann, und double - alles andere. :))

 
Kann mir jemand meine Frage beantworten? Das Interessante ist, dass die Reihenfolge der Abweichung unbedeutend, aber entscheidend ist... Ich bin gerne bereit, eine gewinnbringende Strategie vorzustellen, die auf diesem und einem anderen Indikator basiert. Die Berechnungen können fehlerhaft sein...
 
granit77 писал(а) >>

Ich hoffe, SK. sieht diesen Thread nicht, also werde ich "mitteilen, was ich in einem Lehrbuch gelesen habe". Als normaler, dummer Benutzer überspringe ich einfach die obskuren Teile in der Hoffnung, dass "es sich von selbst regelt". Ihre Frage ist mir gar nicht in den Sinn gekommen (Alter, Sie wissen schon...). Für den internen Gebrauch wurde akzeptiert, dass int alles ist, was man an den Fingern abzählen kann, und double - alles andere. :))

Bravo!!!

Es war ein Vergnügen zu kichern. Ich verstehe die Fragen auch nicht.

Für den Fall der Fälle würde ich die Finger meines Nachbarn hinzufügen.

 
Meine Herren, ich bitte Sie um Rat, wie man die maximale Losgröße für die Eröffnung mit allen verfügbaren Mitteln berechnet.