Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 807

 

Bom dia a todos! Eu estou aqui sentado girando o indicador. Acho que fiz tudo certo. Mas a questão é que... Abre o comércio em todas as velas


Código de conselheiro especializado

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

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,colorBullls,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) sinal=0;

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

}


código indicador


retorno(0);

}

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

int start()

{

Nome da cordaFigur;

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<limit; i++)

{

bool up=false,down=false;

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

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

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

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


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

caso contrário up=false;

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

senão, down=false;

//---

NomeFigur=";

if(Fechar[i]>Fechar[i+1] && Fechar[i]>Abrir[i+1])

{

if(down && Abrir[i+1]>Fechar[i+1] && Abrir[i]>Fechar[i+1] && Fechar[i]<Abrir[i+1] && Fechar[i]>Abrir[i])

{

NameFigur="BullHarami";

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

}

if(Abrir[i+1]>Fechar[i+1] && Abrir[i]>Fechar[i+1] && Abrir[i]<Abrir[i+1] && Fechar[i]>Abrir[i+1])

{

NameFigur="BullCross";

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

}

if(Fechar[i+1]<Abrir[i+1] && Abrir[i]<Fechar[i+1] && Fechar[i]>Abrir[i+1])

{

NameFigur="Bullish Engulfing";

if(Fechar[i+1]<Abrir[i+1] && Fechar[i]>Abrir[i] && Abrir[i]<Fechar[i+1] && Fechar[i]>Fechar[i+1]+((Abrir[i+1]-Fechar[i+1])/2))

{

NameFigur="BullPierce";

}

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

}

if(Fechar[i+2]<Abrir[i+2] && Abrir[i+1]<Fechar[i+2] && Fechar[i+1]<Fechar[i+2] && Abrir[i]>Fechar[i+1] && Abrir[i]>Abrir[i+1] && Fechar[i]>=Fechar[i+2])

{

NameFigur="Estrela da Manhã";

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

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

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

}

///// ursos ///// ursos ///// ursos ///// ursos ///// ursos ///// ursos ///// ursos ///// ursos

if(Fechar[i]<Fechar[i+1] && Fechar[i]<Abrir[i+1])

{

if(up& Abrir[i+1]<Fechar[i+1] && Abrir[i]<Fechar[i+1] && Fechar[i]>Abrir[i+1] && Fechar[i]<Abrir[i]<Abrir[i])

{

NomeFigur="BearHarami";

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

}

if(Abrir[i+1]<Fechar[i+1] && Abrir[i]<Fechar[i+1] && Abrir[i]>Abrir[i+1] && Fechar[i]<Abrir[i+1])

{

NomeFigur="BearCross";

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

}

if(Fechar[i+1]>Abrir[i+1] && Fechar[i]<Abrir[i] && Abrir[i]>Fechar[i+1] && Fechar[i]<Abrir[i+1])

{

NameFigur="BearEngulf";

if(Fechar[i+1]>Abrir[i+1] && Abrir[i]>Fechar[i+1] && Fechar[i]<Fechar[i+1]-((Fechar[i+1]-Abrir[i+1])/2))

{

NameFigur="DarkCloud";

}

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

}


if(Fechar[i+2]>Abrir[i+2] && Abrir[i+1]>Fechar[i+2] && Fechar[i+1]>Fechar[i+2] && Abrir[i]<Fechar[i+1] && Abrir[i]<Abrir[i+1] && Fechar[i]<Fechar[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="Atirador";

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

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

retorno(0);

}

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

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

{

Cor=col;

se(!DrawCandle) retornar;

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

ObjectSet(nome,OBJPROP_RAY,falso);

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

ObjectSet(nome,OBJPROP_RAY,falso);

ObjectSet(nome,OBJPROP_WIDTH,2);

name=StringConcatenate(name," 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,falso);

ObjectSet(nome,OBJPROP_RAY,falso);

ObjectSet(nome,OBJPROP_WIDTH,2);

}

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

vazio 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,Nome,10, "Arial");

}

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


 
Kos Mos:

Bom dia a todos! Eu estou aqui sentado girando o indicador. Acho que fiz tudo certo. Mas a questão é que... Abri um acordo em todas as velas.



A "folha" é realmente impressionante :-) Insira o código com mais cuidado e não copie coisas obviamente desnecessárias

sobre o assunto - imprima você mesmo valores de stop_buy e stop_sell. Porque a condição é explicitamente acionada :

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

talvez stop_buy e stop_sell são inicializados com 0 em vez de EMPTY_VALUE

 
Maxim Kuznetsov:

A "folha" é, naturalmente, bastante boa :-) inserir o código com mais cuidado e não copiar nada obviamente desnecessário

Sobre o assunto - imprima-se stop_buy e stop_sell. Porque claramente uma condição é acionada :

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

talvez stop_buy e stop_sell são inicializados com 0 e não com EMPTY_VALUE

Desculpe por isso )) - por uma página inteira, pelo amor de Deus)


Vou tentar agora)

 
Maxim Kuznetsov:

A "folha" é, naturalmente, bastante boa :-) inserir o código com mais cuidado e não copiar nada obviamente desnecessário

Sobre o assunto - imprima você mesmo os valores de stop_buy e stop_sell. Porque claramente a condição é acionada :

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

talvez stop_buy e stop_sell são inicializados com 0 em vez de EMPTY_VALUE

ainda não funciona. A propósito, notei que a ordem de venda abre corretamente, mas na ordem de compra enlouquece e abre um bilhão))

 
Kos Mos:

Ainda não funciona da mesma maneira. Eu notei, a propósito, que os negócios em venda estão abrindo corretamente, mas na compra fica louco e abre um bilhão))

Bem, pelo menos a busca pode ser habilitada? Inserir código...

Que problema... Você nem precisa ligar a busca, o motor do fórum coloca a frigideira em si...
 
Alexey Viktorov:

Você pode ao menos permitir a busca? Inserir código...

Que pena... Você nem precisa ligar a busca, o próprio mecanismo do fórum coloca a frigideira...

Peço desculpas profusamente, não tenho muita experiência em me comportar no fórum))))



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


 
Eu não consigo fazer os esquis irem, você pode me ajudar, por favor?)
 
Olá a todos, que podem me ajudar a combinar dois indicadores em um só, eu tenho o código fonte, eu realmente preciso dele
 
Олег:
Olá a todos, que podem me ajudar a fundir dois indicadores em um só, eu tenho o código fonte, eu realmente preciso dele

Ou você me mostra o que não pode fazer ao se fundir, ou me contacta se você mesmo não o fez ou não quer fazê-lo:

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

Você pode me mostrar o que não pode fazer ao se fundir, ou pode me contatar se você mesmo não o tiver feito, ou se não quiser fazê-lo:

Estou tentando descobrir exatamente o que não posso fazer, entendo que é provável que ninguém me diga nada de graça - capitalismo, pelo amor de Deus)). Não tenho nada contra isso, só preciso entender por que os negócios se abrem em cada vela na direção da compra.