Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 807

 

Buona giornata a tutti! Sono seduto qui a far girare l'indicatore. Penso di aver fatto tutto bene. Ma il fatto è che... Apre gli scambi su ogni candela


Codice di Expert Advisor

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

int signal=-1;

se (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;

}


codice indicatore


ritorno(0);

}

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

int start()

{

stringa NameFigur;

int counted_bars=IndicatorCounted();

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

if(counted_bars>0) counted_bars--;

int limit=Bars-counted_bars;

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


for(int i=1; i<limite; 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;

else up=false;

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

else 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="Stella del mattino";

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)

{

NomeFigur="Martello";

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

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

}

///// orsi ///// orsi ///// orsi ///// orsi ///// orsi ///// orsi ///// orsi ///// orsi

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="BearCross";

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);

}


se(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="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)

{

NomeFigur="Tiratore";

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

}

}

se(NomeFigura!="")

{

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;}

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

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

}

}

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

ritorno(0);

}

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

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

{

Colore=col;

if(!DrawCandle) ritorno;

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

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

ObjectSet(nome,OBJPROP_COLOR,col);

ObjectSet(nome,OBJPROP_STYLE,STYLE_SOLID);

ObjectSet(nome,OBJPROP_BACK,false);

ObjectSet(nome,OBJPROP_RAY,false);

ObjectSet(nome,OBJPROP_WIDTH,2);

name=StringConcatenate(name," o");

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

ObjectSet(nome,OBJPROP_COLOR,col);

ObjectSet(nome,OBJPROP_STYLE,STYLE_SOLID);

ObjectSet(nome,OBJPROP_BACK,false);

ObjectSet(nome,OBJPROP_RAY,false);

ObjectSet(nome,OBJPROP_WIDTH,2);

name=StringaConcatenata(nome," c");

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

ObjectSet(nome,OBJPROP_COLOR,col);

ObjectSet(nome,OBJPROP_STYLE,STYLE_SOLID);

ObjectSet(nome,OBJPROP_BACK,false);

ObjectSet(nome,OBJPROP_RAY,false);

ObjectSet(nome,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:

Buona giornata a tutti! Sono seduto qui a far girare l'indicatore. Penso di aver fatto tutto bene. Ma il fatto è che... Ho aperto un accordo su ogni candela.



Il "foglio" è davvero impressionante :-) Inserisci il codice con più attenzione e non copiare cose ovviamente non necessarie

sull'argomento - stampatevi i valori di stop_buy e stop_sell. Perché la condizione è esplicitamente innescata:

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

forse stop_buy e stop_sell sono inizializzati con 0 invece di EMPTY_VALUE

 
Maxim Kuznetsov:

Il "foglio" è ovviamente abbastanza buono :-) inserire il codice con più attenzione e non copiare nulla di evidentemente inutile

A proposito - stampatevi stop_buy e stop_sell. Perché chiaramente una condizione è innescata:

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

forse stop_buy e stop_sell sono inizializzati con 0 e non con EMPTY_VALUE

Scusa per questo )) - per una pagina intera, per l'amor di Dio)


Lo proverò ora)

 
Maxim Kuznetsov:

Il "foglio" è naturalmente abbastanza buono :-) inserire il codice con più attenzione e non copiare nulla di evidentemente inutile

A proposito - stampatevi i valori di stop_buy e stop_sell. Perché chiaramente la condizione è innescata:

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

forse stop_buy e stop_sell sono inizializzati con 0 invece di EMPTY_VALUE

ancora non funziona. A proposito, ho notato che l'ordine di vendita si apre correttamente, ma nell'ordine di acquisto impazzisce e apre un miliardo))

 
Kos Mos:

Ancora non funziona allo stesso modo. Ho notato, tra l'altro, che i trade in sell si aprono correttamente, ma in buy impazzisce e apre un miliardo))

Beh, almeno la ricerca può essere abilitata? Inserire il codice...

Che problema... Non c'è nemmeno bisogno di attivare la ricerca, il motore del forum mette l'abilità stessa...
 
Alexey Viktorov:

Puoi almeno abilitare la ricerca? Inserire il codice...

Che peccato... Non c'è nemmeno bisogno di fare una ricerca, il motore del forum stesso mette la...

Mi scuso profondamente, non ho molta esperienza nel comportarmi bene sul forum)))



   // получение сигнала _________________________________________________________________________________________________________
   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;
         }


 
Non riesco a far andare gli sci, potete aiutarmi per favore?)
 
Ciao a tutti, chi può aiutarmi a combinare due indicatori in uno, ho il codice sorgente, ne ho davvero bisogno
 
Олег:
Ciao a tutti, chi può aiutarmi a unire due indicatori in uno, ho il codice sorgente, ne ho davvero bisogno

O mi mostri cosa non si può fare quando si fonde, o mi contatti se non l'hai fatto tu o non vuoi farlo:

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

O mi mostri cosa non si può fare quando si fonde, o vieni qui se non l'hai fatto tu, o non vuoi farlo:

Sto cercando di scoprire esattamente cosa non posso fare, capisco che nessuno probabilmente mi dirà nulla gratuitamente - il capitalismo, per la miseria)). Non ho nulla contro di esso, ho solo bisogno di capire perché i trade si aprono su ogni candela nella direzione di acquisto.