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

 
Hallo zusammen! Es gab einen Indikator im Forum
https://forum.mql4.com/ru/56236/page933,Подскажите bitte, wie man es im Terminal öffnet?

#property  indicator_separate_window
#property  indicator_buffers 3
#property   indicator_color1  Aqua
#property   indicator_width1  1
#property   indicator_color2  Red
#property   indicator_width2  1
#property   indicator_color3  Yellow
#property   indicator_width3  1

extern int       Fperiod=1;
extern int       Speriod=2;
extern int       Method=3;
extern int       PRICE_MODE=PRICE_WEIGHTED;

double   Buf0[];
double   Buf1[];                                
double   Buf2[];                                
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
   {
    SetIndexBuffer(0,Buf0);
    SetIndexBuffer(1,Buf1);
    SetIndexBuffer(2,Buf2);

    SetIndexStyle(0,DRAW_LINE);
    SetIndexStyle(1,DRAW_LINE);
    SetIndexStyle(2,DRAW_LINE);

    SetIndexEmptyValue(1,EMPTY_VALUE);   
    SetIndexEmptyValue(2,EMPTY_VALUE);   

    IndicatorShortName("Proba ");                
   
    SetIndexDrawBegin(0, 0);  
    SetIndexDrawBegin(1, 0);
    SetIndexDrawBegin(2, 0);

    return(0);
   }
//+------------------------------------------------------------------+
//| Moving Averages Convergence/Divergence                           |
//+------------------------------------------------------------------+
int start()
   {
    int i; 
    int limit;
    int counted_bars=IndicatorCounted();
    if(counted_bars<0) return(-1);
    if(counted_bars>0) counted_bars--;
    limit=Bars-counted_bars;
    for (i = limit;i>=0;i--)
        {  
         Buf0[i]=iMA(NULL,0,Fperiod,0,Method,PRICE_MODE,i)-iMA(NULL,0,Speriod,0,Method,PRICE_MODE,i);
         if(Buf0[i] > Buf0[i+1])
             {
              Buf1[i] = Buf0[i];
//              if(Buf0[i+1] > Buf0[i+2])
//                   Buf1[i+1] = Buf0[i+1];
//              else Buf2[i+1] = Buf0[i+1];
             }
         else
             {
              Buf2[i] = Buf0[i];
//              if(Buf0[i+1] < Buf0[i+2])
//                   Buf2[i+1] = Buf0[i+1];
//              else Buf1[i+1] = Buf0[i+1];
             }
        }              
    return(0);
   }

 

Hallo! In Expert Advisor, als eine der Handelsbedingungen, verwende ich CCI Pivot, aber aus irgendeinem Grund funktioniert es nicht. Könnten Sie bitte erklären, worin der Fehler besteht?

C_1=iCCI(NULL,0,C_Zeitraum,PRICE_TYPICAL,0);

C_2=iCCI(NULL,0,C_Zeitraum,PRICE_TYPICAL,1);

C_3=iCCI(NULL,0,C_Zeitraum,PRICE_TYPICAL,2);


if(C_1 > C_2 > C_3)Opn_B=true;

if(C_1 < C_2 < C_3)Cls_B=true;

 
Ratmirf:

Hallo! In Expert Advisor, als eine der Handelsbedingungen, verwende ich CCI Pivot, aber aus irgendeinem Grund funktioniert es nicht. Könnten Sie bitte erklären, worin der Fehler besteht?

C_1=iCCI(NULL,0,C_Zeitraum,PRICE_TYPICAL,0);

C_2=iCCI(NULL,0,C_Zeitraum,PRICE_TYPICAL,1);

C_3=iCCI(NULL,0,C_Zeitraum,PRICE_TYPICAL,2);


if(C_1 > C_2 > C_3)Opn_B=true;

if(C_1 < C_2 < C_3)Cls_B=true;

wenn (C_1 > C_2 && C_2 > C_3) Opn_B=true;

if(C_1 < C_2 && C_2 < C_3)Cls_B=true;

 
paladin80:
wenn (C_1 > C_2 && C_2 > C_3) Opn_B=true;

if (C_1 < C_2 && C_2 < C_3) Cls_B=true;

Herzlichen Dank!
 

Können Sie mir bitte sagen, was hier falsch ist? Ich möchte, dass die Geschäfte geschlossen werden, wenn sie 70 nach unten (Kauf) und 30 nach oben (Verkauf) überschreiten. Aus irgendeinem Grund wird der Handel deutlich unter 70 und deutlich über 30 geschlossen. Der RSI schafft es noch nicht einmal auf 70 und 30. Danke!

R_1=iRSI(NULL,0,RSI_Periode,PRICE_TYPICAL,0);

R_2=iRSI(NULL,0,RSI_Periode,PRICE_TYPICAL,1);

if((R_1 < 70 && R_2 > 70)) Cls_B=true;
if((R_1 > 30 && R_2 < 30)) Cls_S=true;
 
Ratmirf:

Können Sie mir bitte sagen, was hier falsch ist? Ich möchte, dass die Geschäfte geschlossen werden, wenn sie 70 nach unten (Kauf) und 30 nach oben (Verkauf) überschreiten. Aus irgendeinem Grund wird der Handel deutlich unter 70 und deutlich über 30 geschlossen. Der RSI schafft es noch nicht einmal auf 70 und 30. Danke!

R_1=iRSI(NULL,0,RSI_Periode,PRICE_TYPICAL,0);

R_2=iRSI(NULL,0,RSI_Periode,PRICE_TYPICAL,1);

if((R_1 < 70 && R_2 > 70)) Cls_B=true;
if((R_1 > 30 && R_2 < 30)) Cls_S=true;

Im vorigen Beitrag hatten Sie: if(C_1 < C_2 && C_2 < C_3) Cls_B=true; Jetzt haben Sie die gleiche Variable, die sich unter einer anderen Bedingung ändert: if((R_1 < 70 && R_2 > 70)) Cls_B=true; Prüfen.

Probieren Sie diesen Code aus:

double C_1=iCCI(NULL,PERIOD_CURRENT,C_period,PRICE_TYPICAL,0);
double C_2=iCCI(NULL,PERIOD_CURRENT,C_period,PRICE_TYPICAL,1);
double C_3=iCCI(NULL,PERIOD_CURRENT,C_period,PRICE_TYPICAL,2);

bool Opn_B=false, Opn_S=false;

if(C_1>C_2 && C_2>C_3) Opn_B=true;
if(C_1<C_2 && C_2<C_3) Opn_S=true;

//---
double R_1=iRSI(NULL,PERIOD_CURRENT,RSI_Period,PRICE_TYPICAL,0);
double R_2=iRSI(NULL,PERIOD_CURRENT,RSI_Period,PRICE_TYPICAL,1);

bool Cls_B=false, Cls_S=false;

if(R_1>70.0 && R_2<70.0) Cls_B=true; 
if(R_1<30.0 && R_2>30.0) Cls_S=true;
 

Hallo zusammen!!!!

Ich bin mir sicher, dass dies bereits mehrfach geschehen ist, aber vielleicht kann jemand eine Formel für die Größe des Grundstücks vorschlagen, die von den Mitteln abhängt?

Wenn z. B. mehr als 2000, dann 0,02, wenn mehr als 3000, dann 0,03, usw.?

 
nikelodeon:

Hallo zusammen!!!!

Ich bin mir sicher, dass dies bereits mehrfach geschehen ist, aber vielleicht kann jemand eine Formel für die Größe des Grundstücks vorschlagen, die von den Mitteln abhängt?

Wenn z. B. mehr als 2000, dann 0,02, wenn mehr als 3000, dann 0,03, usw.?

Es gibt verschiedene Formeln für Berechnungen
 
paladin80:

Im vorigen Beitrag hatten Sie: if (C_1 < C_2 && C_2 < C_3) Cls_B=true; Jetzt haben Sie dieselbe Variable, die sich unter einer anderen Bedingung ändert: if((R_1 < 70 && R_2 > 70)) Cls_B=true; Überprüfen Sie es.

Probieren Sie diesen Code aus:


Herzlichen Dank für Ihre Hilfe! Ich finde gerade heraus, wie genau der RSI EA funktioniert. Interessant ist, dass im folgenden Diagramm die Geschäfte genau an der richtigen Stelle eröffnet, aber an der völlig falschen Stelle geschlossen werden (ich möchte, dass die Geschäfte bei 70 Kreuzungen von oben nach unten (Kauf) und 30 Kreuzungen von unten nach oben (Verkauf) geschlossen werden). Auch das von Ihnen empfohlene Schließungsschema funktioniert nicht. Ich habe die RSI-Periode auf 2 gesetzt und schaue auf M1. Wo ist die Ungenauigkeit, ich kann sie nicht herausfinden.

R_1=iRSI(NULL,PERIOD_CURRENT,RSI_Period,PRICE_TYPICAL,0);

R_2=iRSI(NULL,PERIOD_CURRENT,RSI_Period,PRICE_TYPICAL,1);


if(R_1>60 && R_2<60) Opn_B=true;

if(R_1<40 && R_2>40) Opn__S=true;


if(R_1<70.0 && R_2>70.0) Cls_B=true;

if(R_1<30.0 && R_2<30.0) Cls_S=true;

 
Ratmirf:

Herzlichen Dank für Ihre Hilfe! Ich bin gerade dabei, herauszufinden, wie der RSI EA funktioniert. Interessant ist, dass im unten stehenden Diagramm die Trades genau dort eröffnet werden, wo sie sollten, aber völlig falsch schließen (ich möchte, dass die Trades bei 70 Kreuzen von oben nach unten (Kaufen) und 30 Kreuzen von unten nach oben (Verkaufen) schließen). Auch das von Ihnen empfohlene Schließungsschema funktioniert nicht. Ich habe die RSI-Periode auf 2 gesetzt und schaue auf M1. Wo ist die Ungenauigkeit, ich kann sie nicht herausfinden.

R_1=iRSI(NULL,PERIOD_CURRENT,RSI_Period,PRICE_TYPICAL,0);

R_2=iRSI(NULL,PERIOD_CURRENT,RSI_Period,PRICE_TYPICAL,1);


if(R_1>60 && R_2<60) Opn_B=true;

if(R_1<40 && R_2>40) Opn__S=true;


if(R_1<70.0 && R_2>70.0) Cls_B=true;

if(R_1<30.0 && R_2<30.0) Cls_S=true;

Sind wir sicher, dass die letzte Bedingung richtig geschrieben ist?