[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 35
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
double get_extrem(int n) {
for(int i=1;;i++) {
double ind=iCustom(Symbol(),0,"indicator_name",0,i);
if(n>1)
if(ind!=0) n--;
else
if(ind!=0) return(ind);
}
}
Se você precisar do número de barra do pico, mude o tipo de função para int e ao invés de return(ind); escreva return(i);
É nisto que estou pensando no momento. Todas as funções dos tipos duplo e int sempre retornam valores fixos concretos. Por exemplo, 1, 0, -1 e, neste caso, a condição deve ser tratada com esta função de uma maneira diferente da que eu fiz antes, por exemplo
Neste caso, temos que comparar, por exemplo, para 3 tribos:
É esta a forma lógica de escrevê-lo? Talvez seja mais razoável definir o tipo de bool para esta função? Como: se encontramos o terceiro joelho, então ao preço (abaixo ou acima do ind) compramos ou vendemos.
E neste caso, comparamos a função com seu parâmetro de n-limiar com o preço a este joelho, e depois?
Estou pensando sobre isso no momento. Todas as minhas funções do tipo duplo e int sempre retornam valores fixos específicos. Por exemplo, 1, 0, -1, mas neste caso a condição deve ser realizada com esta função de uma maneira diferente da que eu fazia antes, como por exemplo:
Neste caso, temos que comparar, por exemplo, para 3 tribos:
É esta a forma lógica de escrevê-lo? Talvez seja mais razoável definir o tipo de bool para esta função? Como: se encontramos o terceiro joelho, compramos ou vendemos a um preço (menor ou maior que o ind).
Neste caso, comparamos a função com seu parâmetro n joelho com o preço a este joelho, e depois?
Duplo ind pode retornar -2, -3 e assim por diante e até Pi 3.14159......
E neste caso, estamos comparando a função com seus parâmetros n-knee com o preço a este joelho, e depois? Não é bem claro....
Estou pensando sobre isso no momento. Todas as minhas funções do tipo duplo e int sempre retornam valores fixos específicos. Por exemplo, 1, 0, -1, mas neste caso a condição deve ser realizada com esta função de uma maneira diferente da que eu fazia antes, como por exemplo:
Neste caso, temos que comparar, por exemplo, para 3 tribos:
É esta a forma lógica de escrevê-lo? Talvez seja mais razoável definir o tipo de bool para esta função? Como: se encontramos o terceiro joelho, compramos ou vendemos a um preço (menor ou maior que o ind).
E neste caso, comparamos a função com seu parâmetro n-knee com o preço a este joelho, e depois?
Bem, não, tente fazer experiências...... é tudo besteira......
Duplo ind pode retornar -2, -3 e assim por diante e até Pi 3.14159......
E neste caso, comparamos a função com seus parâmetros n-knee com o preço a este joelho, e depois?
Por que devemos fazer isso de repente? O ind duplo devolverá um número fracionário... e -2, -3 ... são números inteiros. E, pelo que entendi, oind duplo é o preço no joelho no parâmetroget_extrem(int n)
Este site não é para negociação... É dedicado principalmente à programação MQL. Se você prestasse atenção em muitos códigos, eles até advertiam "Não para comércio real".
E onde está o prof. que negocia como um prof. E se os administradores descobrissem desta forma, acho que não se dariam ao trabalho de manter o site ...)
Como ervilhas em uma parede ).
O que precisamos é de um exemplo de compra adequada, em qualquer período de tempo escolhido aleatoriamente.
Sim, eles não escrevem para o comércio real... E daí, e por quê?
Por que não mostrar um exemplo para um comércio real, sem anunciar a estratégia?
Ou, em princípio, não há um exemplo adequado.
Boa tarde. Você pode me dizer como obter o parâmetro Heiken Ashi(HA) Hi-Lo (amplitude) do indicador correspondente . Eu tentei lidar com as variáveis globais, mas não é tão fácil. No código HA eu tenho embutido o seguinte modo
int start()
{
duplo haOpen, haHigh, haLow, haClose
...
GlobalVariableGet(pip);
...(este é o código padrão com cálculo de HA)
em seguida, obtemos os parâmetros dos castiçais Hi-Lo HA
resultado2=MathMin(ExtMapBuffer3[pos+1],ExtMapBuffer4[pos+1])
resultado22=MathMax(ExtMapBuffer3[pos+1],ExtMapBuffer4[pos+1])
resultado3=MathMin(Baixo[pos+1],resultado2);
resultado33=MathMax(Alta[pos+1],resultado22);
resultado0=resultado33-resultado3; / cálculo da amplitude HA
GlobalVariableSet(pip,resultado0);/assignar valor de amplitude a GlobalVariableSet (pip,resultado0)
pos--;
}
//----
retorno(0);
}
Então eu apenas inseriGlobalVariableGet(pip) na fórmula em EA,mas algo está totalmente errado, ou seja, o valor do pip não é o que deveria ser. Por favor, diga-me o que está errado. Ou talvez seja mais fácil obter a amplitude HA para a operação da EA.
É necessário que vários EAs na mesma conta, abram um número limitado de pedidos.
Por exemplo: 10 EAs mas só pode abrir 5 pedidos, mas não mais de um por par de moedas.
Isto é implementado da seguinte forma, mas não funciona dessa forma.
extern int МаксКолОрдеров = 5;
//+------------------------------------------------------------------+
int ПодсчетОткрОрдеров() {
int k=OrdersTotal();
if (Символ=="0") Символ=Symbol();
for (int i=МаксКолОрдеров; i<k; i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
if (OrderSymbol()==Символ || Символ=="") {
if (МагикНомер<0 || OrderMagicNumber()==МагикНомер) {
if (OrderMagicNumber()<1) return(True);
}
}
}
}
return;
}
//+------------------------------------------------------------------+
int start()
{
if(ПодсчетОткрОрдеров()==0)ПровТоргУсловий();
}
1. Fui questionado acima sobre variáveis globais, obrigado. Estou lendo a documentação. Em sua versão, como é feito ?
2. Quero que o Expert Advisor não volte a entrar no mercado depois de atingir um lucro, até a confirmação manual da autorização de comercialização.
1. O nível de lucro em cada barra é monitorado. Se exceder a porcentagem especificada do depósito, todos os negócios são fechados.
2. Veja e edite este Expert Advisor, adicione filtro no magik e tudo o que você precisar...
Ajude-me a completar o código. Tentei escrever um código que dizia:
-se MA50 cruzar MA200 de baixo para cima e depois
-se o preço descer para МА50
-dois linhas são desenhadas no gráfico, suporte e resistência (desenhadas para as últimas 15 barras);
É como se tudo funcionasse, mas não posso garantir que estas linhas tenham aparecido da primeira vez, depois permanecido no lugar, precisa do algoritmo comercial(e elas continuam a ser desenhadas).
Posso amarrá-los ao tempo ou à barra?
Aqui está o código. O que eu preciso acrescentar?
#property copyright "Copyright © 2012, MetaQuotes Software Corp."
#property link "http://www.metaquotes.net"
bool Fact_1 = false; // Глобальная перемен для бай.
bool Fact_2 = false; // Глобальная перемен для бай
bool Fact_3 = false; // Глобальная перемен для бай
double support;
double resist;
int timeFrame = 5;
int numBars = 15;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
ObjectsDeleteAll();
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
//----
//---------------------------------------------------------------------------
if (Fact_3==true) //Если событие уже..
//..было, то выходим
return(0);
//----
//---- БЛОК ОТКРЫТИЯ BUY--------------------------------------------------------------
if (iMA(NULL,PERIOD_M5,50,0,MODE_EMA,PRICE_CLOSE,2)<iMA(NULL,PERIOD_M5,200,0,MODE_EMA,PRICE_CLOSE,0)&&
iMA(NULL,PERIOD_M5,50,0,MODE_EMA,PRICE_CLOSE,1)>=iMA(NULL,PERIOD_M5,200,0,MODE_EMA,PRICE_CLOSE,0))//если МА50 пересекает МА200 снизу вверх по M5
Fact_1 = true; // Произошло событие 1
//-
if (Fact_1 == true && Low[0]<= iMA(NULL,PERIOD_M5,50,0,MODE_EMA,PRICE_CLOSE,0))//если цена опустилась до МА50
Fact_2 = true; // Произошло событие 2
if (Fact_2 == true)
{
// Определяем линии поддержки\сопротивления
support = 10000;
resist = 0;
for(int u = 1;u<=numBars;u++)
{
if(support>iLow(Symbol(),timeFrame,u))
support = iLow(Symbol(),timeFrame,u);
if(resist<iHigh(Symbol(),timeFrame,u))
resist = iHigh(Symbol(),timeFrame,u);
}
ObjectSet("lineSupport",OBJPROP_PRICE1,support);
ObjectSet("lineResist",OBJPROP_PRICE1,resist);
}
//----
{
ObjectCreate("lineSupport",OBJ_HLINE,0,0,0);
ObjectSet("lineSupport",OBJPROP_COLOR,Blue);
ObjectCreate("lineResist",OBJ_HLINE,0,0,0);
ObjectSet("lineResist",OBJPROP_COLOR,Red);
}
//----
//что сюда добавить что бы линии появившись, оставались на месте?
//----
return(0);
}
O que vai acontecer, o que pode acontecer se
Normalmente são colocados +- 2 pontos.
A resposta é um requote.
E se não for definido um valor de deslizamento, é garantido comprar?