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

 

Guten Tag zusammen! Ich sitze hier und drehe den Indikator. Ich glaube, ich habe alles richtig gemacht. Aber die Sache ist die... Eröffnet Trades bei jeder Kerze


Code des Expertenberaters

// получение сигнала _________________________________________________________________________________________________________

int signal=-1;

if (time_bar!=Time[0]) {

time_bar=Time[0];

double stop_buy=iCustom(Symb,0, "cm-FiguresCandle",AlertON,colorBulls,colorBears,DrawCandle,0,1)

double stop_sell=iCustom(Symb,0, "cm-FiguresCandle",AlertON,colorBulls,colorBears,DrawCandle,1,1);

if(stop_buy!=EMPTY_VALUE || stop_sell!=EMPTY_VALUE) {

double super_buy=iCustom(Symb,0, "xSuperTrend Tape MTF NRP",",",SuperTrend_Period,SuperTrend_Multiplier,SuperTrend_TimeFrame,SuperTrend_AutoTF,0,1);

if(stop_buy!=EMPTY_VALUE && super_buy==1) signal=0;

if(stop_sell!=EMPTY_VALUE && super_buy==EMPTY_VALUE) signal=1;

}


Indikatorcode


zurück(0);

}

//+------------------------------------------------------------------+

int start()

{

string NameFigur;

int counted_bars=IndicatorCounted();

if(counted_bars<0) return(-1);

if(gezählte_Balken>0) gezählte_Balken--;

int limit=Bars-counted_bars;

if(counted_bars==0) limit-=1+2;


for(int i=1; i<limit; i++)

{

bool up=false,down=false;

double MA0 = iMA(NULL,0,5,0,MODE_EMA,PRICE_CLOSE,i);

double MA1 = iMA(NULL,0,5,0,MODE_EMA,PRICE_CLOSE,i);

double MA2 = iMA(NULL,0,5,0,MODE_EMA,PRICE_CLOSE,i+1);

double MA3 = iMA(NULL,0,5,0,MODE_EMA,PRICE_CLOSE,i+2);


if(MA0>MA1 && MA1>MA2 && MA2>MA3) up=true;

sonst up=false;

if(MA0<MA1 && MA1<MA2 && MA2<MA3) down=true;

sonst down=false;

//---

NameFigur=";

if(Close[i]>Close[i+1] && Close[i]>Open[i+1])

{

if(down && Open[i+1]>Close[i+1] && Open[i]>Close[i+1] && Close[i]<Open[i+1] && Close[i]>Open[i])

{

NameFigur="BullHarami";

Redraw(i,colorBulls,NameFigur); Redraw(i+1,colorBulls,NameFigur);

}

if(Open[i+1]>Close[i+1] && Open[i]>Close[i+1] && Open[i]<Open[i+1] && Close[i]>Open[i+1])

{

NameFigur="BullCross";

Redraw(i,colorBulls,NameFigur); Redraw(i+1,colorBulls,NameFigur);

}

if(Close[i+1]<Open[i+1] && Open[i]<Close[i+1] && Close[i]>Open[i+1])

{

NameFigur="Bullish Engulfing";

if(Close[i+1]<Open[i+1] && Close[i]>Open[i] && Open[i]<Close[i+1] && Close[i]>Close[i+1]+((Open[i+1]-Close[i+1])/2))

{

NameFigur="BullPierce";

}

Redraw(i,colorBulls,NameFigur); Redraw(i+1,colorBulls,NameFigur);

}

if(Close[i+2]<Open[i+2] && Open[i+1]<Close[i+2] && Close[i+1]<Close[i+2] && Open[i]>Close[i+1] && Open[i]>Open[i+1] && Close[i]>=Close[i+2])

{

NameFigur="Morgenstern";

Redraw(i,colorBulls,NameFigur); Redraw(i+1,colorBulls,NameFigur); Redraw(i+2,colorBulls,NameFigur);

}

}

if(Open[i]-Low[i]>MathMax(High[i]-Close[i],Close[i]-Open[i])*3 && Close[i]-Low[i]>MathMax(High[i]-Close[i],Close[i]-Open[i])*3)

{

NameFigur="Hammer";

if(up) {Redraw(i,colorBulls,NameFigur); Redraw(i+1,colorBulls,NameFigur);}

if(down) {Redraw(i,colorBears,NameFigur); Redraw(i+1,colorBears,NameFigur);}

}

///// Bären ///// Bären ///// Bären ///// Bären ///// Bären ///// Bären

if(Close[i]<Close[i+1] && Close[i]<Open[i+1])

{

if(up& Open[i+1]<Close[i+1] && Open[i]<Close[i+1] && Close[i]>Open[i+1] && Close[i]<Open[i])

{

NameFigur="BearHarami";

Redraw(i,colorBears,NameFigur); Redraw(i+1,colorBears,NameFigur);

}

if(Open[i+1]<Close[i+1] && Open[i]<Close[i+1] && Open[i]>Open[i+1] && Close[i]<Open[i+1])

{

NameFigur="Bärenkreuz";

Redraw(i,colorBears,NameFigur); Redraw(i+1,colorBears,NameFigur);

}

if(Close[i+1]>Open[i+1] && Close[i]<Open[i] && Open[i]>Close[i+1] && Close[i]<Open[i+1])

{

NameFigur="BearEngulf";

if(Close[i+1]>Open[i+1] && Open[i]>Close[i+1] && Close[i]<Close[i+1]-((Close[i+1]-Open[i+1])/2))

{

NameFigur="DarkCloud";

}

Redraw(i,colorBears,NameFigur); Redraw(i+1,colorBears,NameFigur);

}


if(Schließen[i+2]>Öffnen[i+2] && Öffnen[i+1]>Schließen[i+2] && Schließen[i+1]>Close[i+2] && Open[i]<Close[i+1] && Open[i]<Open[i+1] && Close[i]<Close[i+2])

{

NameFigur="EveningStar";

Redraw(i,colorBears,NameFigur); Redraw(i+1,colorBears,NameFigur); Redraw(i+2,colorBears,NameFigur);

}

if(up && High[i]-Open[i]>MathMax(Close[i]-Low[i],Open[i]-Close[i])*3 && High[i]-Close[i]>MathMax(Close[i]-Low[i],Open[i]-Close[i])*3)

{

NameFigur="Schütze";

Redraw(i,colorBears,NameFigur); Redraw(i+1,colorBears,NameFigur);

}

}

if(NameFigur!="")

{

double DELTA=(MathMax(High[i],High[i+1])-MathMin(Low[i],Low[i+1]))/2;

if(Color==colorBears) {BufferDN[i]=MathMax(High[i],High[i+1]);P=BufferDN[i]+DELTA;}

sonst {BufferUP[i]=MathMin(Low[i],Low[i+1]);P=BufferUP[i]-DELTA;}

DrawTEXT(StringConcatenate(NameFigur," ",TimeToStr(Time[i],TIME_DATE|TIME_MINUTES)),NameFigur,Farbe,Time[i+1],P);

}

}

if(Timei!=Time[0] && AlertON && i==0 && NameFigur!="") {Alert(Symbol()+" FiguresCandle ="+NameFigur);Timei=Time[0];}

zurück(0);

}

//-------------------------------------------------------------------

void Redraw(int i,Farbe col,string name)

{

Farbe=col;

if(!DrawCandle) return;

name=StringConcatenate(name,",TimeToStr(Time[i],TIME_DATE|TIME_SECONDS));

ObjectCreate(name,OBJ_TREND,0,Time[i],High[i],Time[i],Low[i]);

ObjectSet(name,OBJPROP_COLOR,col);

ObjectSet(Name,OBJPROP_STYLE,STYLE_SOLID);

ObjectSet(Name,OBJPROP_BACK,false);

ObjectSet(name,OBJPROP_RAY,false);

ObjectSet(name,OBJPROP_WIDTH,2);

name=StringConcatenate(name," o");

ObjectCreate(Name,OBJ_TREND,0,Time[i],Open[i],Time[i];

ObjectSet(name,OBJPROP_COLOR,col);

ObjectSet(Name,OBJPROP_STYLE,STYLE_SOLID);

ObjectSet(Name,OBJPROP_BACK,false);

ObjectSet(name,OBJPROP_RAY,false);

ObjectSet(name,OBJPROP_WIDTH,2);

name=StringConcatenate(name," c");

ObjectCreate(name,OBJ_TREND,0,Time[i],Close[i],Time[i]+Period()*60,Close[i]);

ObjectSet(name,OBJPROP_COLOR,col);

ObjectSet(Name,OBJPROP_STYLE,STYLE_SOLID);

ObjectSet(Name,OBJPROP_BACK,false);

ObjectSet(name,OBJPROP_RAY,false);

ObjectSet(name,OBJPROP_WIDTH,2);

}

//-------------------------------------------------------------------

void DrawTEXT(string NT,string Name,color col,datetime t1,double p1)

{

ObjectDelete(NT);

ObjectCreate(NT,OBJ_TEXT,0,t1,p1,0,0,0);

ObjectSet(NT,OBJPROP_COLOR,col);

ObjectSetText(NT,Name,10, "Arial");

}

//--------------------------------------------------------------------


 
Kos Mos:

Guten Tag zusammen! Ich sitze hier und drehe den Indikator. Ich glaube, ich habe alles richtig gemacht. Aber die Sache ist die... Ich habe bei jeder Kerze ein Geschäft eröffnet.



Das "Blatt" ist wirklich beeindruckend :-) Fügen Sie den Code sorgfältiger ein und kopieren Sie nicht offensichtlich unnötige Dinge heraus

zum Thema - drucken Sie sich die Werte von stop_buy und stop_sell aus. Denn die Bedingung wird explizit ausgelöst:

  if(stop_buy!=EMPTY_VALUE || stop_sell!=EMPTY_VALUE) {

vielleicht werden stop_buy und stop_sell mit 0 anstelle von EMPTY_VALUE initialisiert

 
Maxim Kuznetsov:

Das "Blatt" ist natürlich ganz gut :-) fügen Sie den Code sorgfältiger ein und kopieren Sie nichts offensichtlich Unnötiges

Zum Thema - drucken Sie sich stop_buy und stop_sell aus. Denn offensichtlich wird eine Bedingung ausgelöst:

  if(stop_buy!=EMPTY_VALUE || stop_sell!=EMPTY_VALUE) {

vielleicht sind stop_buy und stop_sell mit 0 und nicht mit EMPTY_VALUE initialisiert

Das tut mir leid )) - für eine ganze Seite, um Gottes willen)


Ich werde es jetzt ausprobieren)

 
Maxim Kuznetsov:

Das "Blatt" ist natürlich ganz gut :-) fügen Sie den Code sorgfältiger ein und kopieren Sie nichts offensichtlich Unnötiges

Zum Thema: Drucken Sie sich die Werte von stop_buy und stop_sell aus. Denn die Bedingung wird eindeutig ausgelöst:

  if(stop_buy!=EMPTY_VALUE || stop_sell!=EMPTY_VALUE) {

vielleicht werden stop_buy und stop_sell mit 0 anstelle von EMPTY_VALUE initialisiert

es funktioniert immer noch nicht. By the way, habe ich bemerkt, dass verkaufen, um richtig öffnet, aber in den Kaufauftrag geht verrückt und öffnet eine Milliarde))

 
Kos Mos:

Es funktioniert immer noch nicht auf die gleiche Weise. Ich bemerkte, durch die Art und Weise, dass die Geschäfte in verkaufen korrekt öffnen, aber in kaufen es geht verrückt und öffnet eine Milliarde))

Wenigstens kann die Suche aktiviert werden? Code einfügen...

Was für ein Problem... Sie müssen nicht einmal die Suche einschalten, die Forumsmaschine stellt das Skillet selbst...
 
Alexey Viktorov:

Können Sie wenigstens die Suche aktivieren? Code einfügen...

Was für eine Schande... Sie müssen nicht einmal eine Suche durchführen, die Forumsmaschine stellt das Skillet selbst ein...

Ich entschuldige mich vielmals, ich habe nicht viel Erfahrung darin, mich im Forum zu benehmen)))



   // получение сигнала _________________________________________________________________________________________________________
   int signal=-1;
   if (time_bar!=Time[0]) {
      time_bar=Time[0];
      double stop_buy=iCustom(Symb,0,"cm-FiguresCandle",AlertON,colorBulls,colorBears,DrawCandle,0,1);
      double stop_sell=iCustom(Symb,0,"cm-FiguresCandle",AlertON,colorBulls,colorBears,DrawCandle,1,1);
      if(stop_buy!=EMPTY_VALUE || stop_sell!=EMPTY_VALUE) {
         double super_buy=iCustom(Symb,0,"xSuperTrend Tape MTF NRP","","",SuperTrend_Period,SuperTrend_Multiplier,SuperTrend_TimeFrame,SuperTrend_AutoTF,0,1);
        if(stop_buy!=EMPTY_VALUE && super_buy==1) signal=0;
         if(stop_sell!=EMPTY_VALUE && super_buy==EMPTY_VALUE) signal=1;
         }


 
Ich kriege die Skier nicht zum Laufen, können Sie mir bitte helfen?)
 
Hallo zusammen, wer kann mir helfen, zwei Indikatoren zu einem zu kombinieren, ich habe den Quellcode, ich brauche ihn wirklich
 
Олег:
Hallo an alle, wer kann mir helfen, zwei Indikatoren in einen zusammenzuführen, ich habe den Quellcode, ich brauche ihn wirklich

Entweder zeigen Sie mir, was Sie beim Zusammenführen nicht können, oder Sie wenden sich an mich, wenn Sie es nicht selbst gemacht haben oder nicht machen wollen:

Торговые приложения для MetaTrader 5 на заказ
Торговые приложения для MetaTrader 5 на заказ
  • www.mql5.com
Имеется готовый год с Амиброкера который можно использовать для "перевода" в МТ4 ( с дополнениями) Советник должен работать на всех тайм фреймах (внутри дня, дневной и выше) и обязательно на Ренко Советник должен торговать на корзине инструментов (портфель) У советника должна быть возможность менять параметры в окне (без необходимости открывать...
 
Artyom Trishkin:

Sie können mir entweder zeigen, was Sie beim Zusammenführen nicht tun können, oder Sie können sich an mich wenden, wenn Sie es nicht selbst getan haben oder es nicht tun wollen:

Ich versuche herauszufinden, was genau ich nicht tun kann, und mir ist klar, dass mir niemand etwas umsonst sagen wird - Kapitalismus, verdammt noch mal)). Ich habe nichts dagegen, ich muss nur verstehen, warum die Trades bei jeder Kerze in Kaufrichtung geöffnet werden.