[ARQUIVO]Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por ela. Não posso ir a lugar nenhum sem você - 5. - página 308
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Pode ser útil. Isto funciona bem!
No meta-editor, pressione F5 para compilar.
Importante: O meta editor deve ser executado a partir da mesma pasta que o terminal.
Alex, você está aqui por mim? Eu sou novo no mql4. Estou tentando descobrir este código.
#janela_do_cartão_indicador de propriedade
#property indicator_buffers 2
TempoTempo interno externo=0;//Se=0, então o atual
distância-interior externa=0;//distância da linha do fractal em pontos
fio externo FrApNam="Ap";//nome da linha correspondente ao fractal para cima.
fio externo FrDnNam="Dn";//nome da linha de acordo com o fractal para baixo.
cor exterior ClAp=azul;//cor da linha corresponde a Fractal para cima.
cor externa ClDn=Red;//cor da linha de acordo com Fractal Down.
comentário externo bool=verdadeiro;//permission to comment
//-----------------------------------------------------------------------------+
duplo FrPrise,znach1,znach2;
duplo FrApPrise=0,FrDnPrise=0;
duplo ind_buffer1[];
duplo ind_buffer2[];
//+----------------------------------------------------------------------------+
init() vazio
{if(TimeFrame==0){TimeFrame=Periodo();}
SetIndexBuffer(0,ind_buffer1);//Buffer
SetIndexBuffer(1,ind_buffer2);
retornar;}
void deinit(){
retornar;}
//+----------------------------------------------------------------------------+
int start()
{
int counted_bars=IndicatorCounted();
limite int;
tmp duplo;
int i, j,k;
if(counted_bars<0) return(-1);
if(counted_bars>0) counted_bars--;
limite=barras_contadas_combarras;
//-----------------------------------------------------------------------------+
LineAp();
LineDn();
duplo FAP=NormalizarDuplo((FrApPrise-Distanse*Point),5);//Normalizar
duplo FDP=NormalizeDouble((FrDnPrise+Distanse*Point),5);
int diap=MathRound((FrApPrise-FrDnPrise)/Point);
ind_buffer1[0]=FAP;
ind_buffer2[1]=FDP;
Comentário("TimeFrame="+TimeFrame+
"\nApPrise =",FAP,
"\nDnPrise =",FDP,
"Canal nFractal ="
diap+"Ponto");
retorno(0);
}
//-----------------------------------------------------------------------------+
// procura por uma linha horizontal pelo nome, redraws se o preço mudar |
//-----------------------------------------------------------------------------+
LineDn(){
FrPrise=NormalizeDouble(FindNearFractal(0,TimeFrame,MODE_LOWER),MarketInfo(Symbol(),MODE_DIGITS));
FrPrise=NormalizeDouble(FrPrise-Distance*Point,MarketInfo(Symbol(),MODE_DIGITS));
//Comentário(FrPrise);
if(ObjectFind(FrDnNam)==0){
if(ObjectGet(FrDnNam,OBJPROP_PRICE1)==FrPrise){retorno;}}}}
FrDnPrise=FrPrise;
ObjectDelete(FrDnNam);
SetHLine(ClDn,FrDnNam,FrDnPrise,0,1);
WindowRedraw();
retornar;}
//-----------------------------------------------------------------------------+
// procura por uma linha horizontal pelo nome, redraws se o preço mudou |
//-----------------------------------------------------------------------------+
LineAp(){
FrPrise=NormalizeDouble(FindNearFractal(0,TimeFrame,MODE_UPPER),MarketInfo(Symbol(),MODE_DIGITS));
FrPrise=NormalizeDouble(FrPrise+Distanse*Point,MarketInfo(Symbol(),MODE_DIGITS));
if(ObjectFind(FrApNam)==0){
if(ObjectGet(FrApNam,OBJPROP_PRICE1)==FrPrise){retorno;}}}}
FrApPrise=FrPrise;
ObjectDelete(FrApNam);
SetHLine(ClAp,FrApNam,FrApPrise,0,1);
WindowRedraw();
retornar;}
//-----------------------------------------------------------------------------+
//| Descrição : Procure o fractal mais próximo. Devolve um nível de preço. |
//+----------------------------------------------------------------------------+
//| Parâmetros: |
//| sy - nome do instrumento ("" ou NULL - símbolo corrente) |
//| tf - cronograma ( 0 - TF atual) |
//| mode - fractal type (MODE_LOWER|MODE_UPPER) |
//+----------------------------------------------------------------------------+
double FindNearFractal(string sy="0", int tf=0, int mode=MODE_LOWER) {
if (sy===""" || sy=="0") sy=Symbol();
duplo f=0;
int d=MarketInfo(sy, MODE_DIGITS), s;
if (d==0) if (StringFind(sy, "JPY"<0) d=4; else d=2;
para (s=2; s<100; s++) {
f=iFractals(sy, tf, mode, s);
se (f!=0) retornar(NormalizeDuplo(f, d))
}
Imprimir("FindNearFractal(): Fractal não encontrado");
retorno(0);
}
//+----------------------------------------------------------------------------+
///| Descrição : Conjunto objeto OBJ_HLINE linha horizontal |
//+----------------------------------------------------------------------------+
//| Parâmetros: |
//| cl - cor da linha |
//| nm - nome ("" - tempo de abertura da barra atual) |
//| p1 - nível de preços (0 - Licitação) |
//| st - estilo linha (0 - linha simples) |
//| wd - largura de linha (0 - padrão) |
//+----------------------------------------------------------------------------+
void SetHLine(color cl, string nm="", double p1=0, int st=0, int wd=1) {
if (nm==""") nm=DoubleToStr(Time[0], 0);
se (p1<=0) p1=Licit;
if (ObjectFind(nm)<0) ObjectCreate(nm, OBJ_HLINE, 0, 0,0;)
ObjectSet(nm, OBJPROP_PRICE1, p1);
ObjectSet(nm, OBJPROP_COLOR , cl);
ObjectSet(nm, OBJPROP_STYLE , st);
ObjectSet(nm, OBJPROP_WIDTH , wd);
}
É necessário escrever um consultor especializado para este indicador que passaria o preço superior e o inferior em М1 e М5.
Alex, você está aqui por mim? Eu sou novo no mql4. Estou tentando descobrir este código.
Senhor, alguém entende como passar valores de um indicador para um EA? Preciso de ajuda, eu mesmo não a entendo, apenas um momento e depois acaba. https://forum.mql4.com/ru/52892/page308 palomnik 23.04.2013 09:56
1. Através de uma variável global.
2. Através de arquivo.
3. via iCustom().
4. Através das variáveis gráficas globais.
5. Mapeamento. Você pode transferir dados de um terminal para outro terminal. Ou em um terminal para transferir dados de uma janela para outra janela sem limitação de variáveis globais do MT4.