Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 6. - página 1105
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
Uau!!! Obrigado! Isto requer alguma reflexão.
Talvez haja um "auto-estudo" sobre as novas regras em algum lugar? O número de página de 4 dígitos é um pouco estressante.
Quem é fácil agora... Há mais 5 tópicos deste tipo sobre novatos no arquivo ))))
Para ser honesto, exemplos de ajuda e codobase são suficientes se você já tem experiência em programação, de preferência em C++. Se você não tem nenhuma experiência, você pode estudar primeiro um tutorial C++, MQL é muito semelhante em sintaxe.
Quem tem agora facilidade... Há mais 5 tópicos deste tipo sobre novatos no arquivo ))))
Para ser honesto, exemplos de ajuda e codobase são suficientes se você já tem experiência em programação, de preferência em C++. Se você não tem nenhuma experiência, você pode estudar primeiro um tutorial C++, MQL é muito semelhante em sintaxe.
Nenhuma experiência = tutorial C++; )))
Obrigado por sua ajuda!
Boa tarde, Prezados Senhores!
Ajude-me a adicionar um alerta ao indicador quando aparecer uma setaindicando um par de moedas.
Eu mesmo tentei, mas como se costuma dizer, é difícil não saber e esquecer. Obrigado de antemão.
#janela_do_cartão_indicador de propriedade
#property indicator_buffers 4
#Indicador de propriedade_color1 Branco
#indicador de propriedade_color2 Branco
#Indicador de propriedade_color3 LightGreen
#indicador de propriedade_cores4 Vermelho
Exterior int CountBars = 300;
String externo FS = " ** Sensibilidade do filtro: Alto <-[1..3]-> Baixo ** ";
Intensibilidade externa Sensibilidade = 2;
duplo g_ibuf_92[];
duplo g_ibuf_96[];
duplo g_ibuf_100[];
duplo g_ibuf_104[];
int gi_unused_108 = -1;
int init() {
IndicatorBuffers(4);
SetIndexStyle(2, DRAW_ARROW);
SetIndexArrow(2, 233);
SetIndexBuffer(2, g_ibuf_92);
SetIndexStyle(3, DRAW_ARROW);
SetIndexArrow(3, 234);
SetIndexBuffer(3, g_ibuf_96);
SetIndexStyle(0, DRAW_HISTOGRAM, STYLE_SOLID, 3, White);
SetIndexBuffer(0, g_ibuf_100);
SetIndexStyle(1, DRAW_HISTOGRAM, STYLE_SOLID, 3, White);
SetIndexBuffer(1, g_ibuf_104);
SetIndexEmptyValue(0, 0);
SetIndexEmptyValue(1, 0);
SetIndexEmptyValue(2, 0);
SetIndexEmptyValue(3, 0);
SetIndexLabel(2, "Buy Signal");
SetIndexLabel(3, "Sell Signal");
SetIndexLabel(0, "Alto");
SetIndexLabel(1, "Baixo");
SetIndexEmptyValue(0, EMPTY_VALUE);
SetIndexEmptyValue(1, EMPTY_VALUE);
SetIndexEmptyValue(2, EMPTY_VALUE);
SetIndexEmptyValue(3, EMPTY_VALUE);
string ls_0 = "Scalper Signal" (Sinal de Escalpador);
IndicatorShortName(ls_0);
se (Sensibilidade < 1) Sensibilidade = 1;
se (Sensibilidade > 3) Sensibilidade = 3;
retorno (0);
}
int deinit() {
retorno (0);
}
double sellSignal(int ai_0) {
bool li_4 = VERDADEIRO;
se (Sensibilidade > 2)
if (iHigh(Symbol(), Period(), ai_0 + 6) >= iHigh(Symbol(), Period(), ai_0 + 5))) li_4 = FALSO;
se (Sensibilidade > 1)
if (iHigh(Symbol(), Period(), ai_0 + 5) >= iHigh(Symbol(), Period(), ai_0 + 4))) li_4 = FALSO;
se (Sensibilidade > 0)
if (iHigh(Symbol(), Period(), ai_0 + 4) >= iHigh(Symbol(), Period(), ai_0 + 3))) li_4 = FALSO;
se (li_4) {
if (iClose(Símbolo(), Period(), ai_0 + 2) < iHigh(Símbolo(), Period(), ai_0 + 3))
if (iClose(Símbolo(), Period(), ai_0 + 1) < iLow(Símbolo(), Period(), ai_0 + 3))) return (iHigh(Símbolo(), Period(), ai_0 + 3) + 10.0 * Ponto)
}
retorno (0);
}
double buySignal(int ai_0) {
bool li_4 = VERDADEIRO;
se (Sensibilidade > 2)
if (iLow(Symbol(), Period(), ai_0 + 6) <= iLow(Symbol(), Period(), ai_0 + 5))) li_4 = FALSE;
se (Sensibilidade > 1)
if (iLow(Symbol(), Period(), ai_0 + 5) <= iLow(Symbol(), Period(), ai_0 + 4))) li_4 = FALSE;
se (Sensibilidade > 0)
if (iLow(Symbol(), Period(), ai_0 + 4) <= iLow(Symbol(), Period(), ai_0 + 3))) li_4 = FALSE;
se (li_4) {
if (iClose(Símbolo(), Period(), ai_0 + 2) > iLow(Símbolo(), Period(), ai_0 + 3))
if (iClose(Símbolo(), Period(), ai_0 + 1) > iHigh(Símbolo(), Period(), ai_0 + 3))) return (iLow(Símbolo(), Period(), ai_0 + 3) - 10.0 * Ponto)
}
retorno (0);
}
int start() {
int li_0 = IndicatorCounted();
se (li_0 < 0) retornar (-1);
se (li_0 > 0) li_0--;
int li_4 = Barras - li_0;
para (int l_count_8 = 0; l_count_8 < li_4; l_count_8++) {
g_ibuf_92[l_count_8 + 3] = buySignal(l_count_8);
g_ibuf_96[l_count_8 + 3] = sellSignal(l_count_8);
if (buySignal(l_count_8) > 0.0 || sellSignal(l_count_8) > 0.0) {
g_ibuf_100[l_count_8 + 3] = iHigh(Symbol(), Period(), l_count_8 + 3);
g_ibuf_104[l_count_8 + 3] = iLow(Symbol(), Period(), l_count_8 + 3);
}
}
retorno (0);
}
Olá escavadores.
Estou ficando um pouco desonesto com o resultado do histórico do pedido.
Estratégia:
1-Abrir 2 pedidos em diferentes direções (bloqueio na verdade) com uma parada curta e um lucro longo.
Se o preço se mover firmemente para fora da faixa de variação, ele derrubará a parada de uma das ordens, e irá para um lucro longo sobre a outra ordem.
3 - Quando a parada de uma das ordens é atingida, uma ordem pendente é colocada no nível de sua abertura, e se o preço voltar, a ordem é aberta novamente
e voltamos ao estado de posição até o próximo passo para o lucro através do knock-out da parada curta.
Objetivo:
Para rastrear 3 nocauteadas, pois na 4ª ordem, Martin é acionado. O problema é que algo dá errado. Eu determino a rentabilidade do pedido pelo histórico OrderProfit(),
Mas ainda não entendo como funciona a OrderHistoryTotal(). A função verifica o número do pedido ou a quantidade do pedido?
Da mesma forma, não entendo como interpretar a eliminação de uma posição (seja como uma perda ou como nada). Como posso rastrear 3 perdas consecutivas em uma situação como esta, quando a história mostra muitas outras coisas além das perdas?
Olá escavadores.
Estou ficando um pouco desonesto com o resultado do histórico do pedido.
Estratégia:
1-Abrir 2 pedidos em diferentes direções (bloqueio na verdade) com uma parada curta e um lucro longo.
Se o preço se mover firmemente para fora da faixa de variação, ele derrubará a parada de uma das ordens, e irá para um longo lucro sobre a outra ordem.
3 - Quando a parada de uma das ordens é atingida, uma ordem pendente é colocada no nível de sua abertura, e se o preço voltar, a ordem é aberta novamente
e voltamos ao estado de posição até o próximo passo para o lucro através do knock-out da parada curta.
Objetivo:
Para rastrear 3 nocauteadas, pois na 4ª ordem, Martin é acionado. O problema é que algo dá errado. Eu determino a rentabilidade do pedido pelo histórico OrderProfit(),
Mas ainda não entendo como funciona a OrderHistoryTotal(). A função verifica o número do pedido ou a quantidade do pedido?
Da mesma forma, não entendo como interpretar a eliminação de uma posição (seja como uma perda ou como nada). Como devo rastrear 3 perdas conseqüentes em uma situação como esta, quando o histórico mostra muitas outras informações além das perdas?
A primeira coisa a se lembrar é que uma ordem pendente não é uma ordem com prejuízo; ou foi acionada ou foi apagada.
A perda deve ser vista nas ordens de mercado (Comprar, Vender).
OrderHistoryTotal() retorna a quantidade de ordens no histórico de negociação disponível (incluindo depósito e retirada da conta, se a modalidade "histórico completo" for escolhida). O número 0 é geralmente o primeiro depósito, ou seja, a primeira ordem; o número OrderHistoryTotal()-1 é a última ordem na história.
Isto significa que temos que percorrer as ordens do último para o primeiro, contando as ordens pendentes e perdidas ao mesmo tempo.
Mas por que colocar ordens pendentes se podemos sempre esperar até o preço atingir o nível da ordem fechada na parada e abrir a ordem de uma vez, de acordo com o mercado? As ordens limitadas são um vínculo desnecessário neste caso, pois confundem a conta.
1-Abrir 2 pedidos em diferentes direções (fechadura real) com uma parada curta e um lucro longo.
2- Se o preço se mover firmemente para fora do intervalo, ele derrubará a parada de uma das ordens, e irá para um longo lucro na outra ordem.
Eu olhei sua estratégia através dos olhos do programador. Quando o preço sobe, ele chega ao Sell SL, então há um pedido de compra com seu SL e em algum lugar lá em cima TP. Neste caso, você conseguiu obter uma pequena perda na ordem fechada. Agora vamos considerar a variante com duas ordens pendentes. Em vez de abrir dois pedidos, vamos colocar dois pedidos pendentes nos próprios locais onde você tem SL. Quando o preço atinge o Buy Stopl, uma ordem de compra é aberta e nós temos a mesma posição, mas não há perda. E agora a coisa mais interessante. À medida que o preço sobe ...
...E à medida que o preço subiu em seu princípio, seu TP foi se afastando ainda mais. E você tem menos chances de ter lucro do que eu, se considerar nossas ações no momento.
E mesmo que eu não negocie em paralelo com você, então seu preço de referência está entre os pips, e o meu está de fato. E será sempre - você dá ao mercado uma parte do movimento direcional.
Se você não sabe, então você deve considerar que mesmo um infeliz 2 pontos de propagação transforma um sistema positivo em um sistema perdedor. A julgar pela primeira figura, você tem um spread de cerca de 20 pips em um spread de 5 dígitos,
porque a diferença entre os pedidos feitos simultaneamente "a olho nu" é de 40 pips de acordo com a figura.
Não é essa a questão... você precisa de um trecho de código, a detecção correta de uma série de 3 paradas eliminadas. Por que todos estão tentando corrigir o sistema? E a metodologia do referido camarada
também não vai funcionar. O mercado pode simplesmente não deixar você abrir, ou abrir onde você não deveria. Cara, eu entendo todos vocês, e seu desejo de compartilhar suas experiências. Mas eu só preciso rastrear três paradas.
Tudo está no lugar, só por acaso vi que perdi a ordem errada com um duplo. No final das contas, a Histototal deu o que achou melhor, e o laço de determinar uma ordem fechada por perda da história falhou a ordem.
Você precisa se afastar das qualificações do codificador e aprender as noções básicas de programação. Aqui estão mais detalhes... E aqui.
O problema é o seguinte. O que retorna, como diz o autor, Histototal neste roteiro sobre a mesma conta no domingo.
Por que diferente?
Se houver menos e mais pedidos em uma conta, então 0 228 228 216 98? E se houver menos pedidos, o processamento é mais rápido!
O cliente está suando - é impossível trabalhar, o terminal está com falhas, a Histototal deu o que queria, o loop pulou!
Boa tarde a todos. Ajude-me a levantar as setas no indicador, as inferiores estão ok, mas as superiores estão em cima dos castiçais.
Eu tentei ObjectSet(Arrow_name_jack1, OBJPROP_YDISTANCE,20); não funcionou. O ponto de ancoragem da flecha (objeto) está no topo, como eu o movo para cima?
Boa tarde a todos. Ajude-me a levantar as setas no indicador, as inferiores estão ok, mas as superiores estão em cima dos castiçais.
Eu tentei ObjectSet(Arrow_name_jack1, OBJPROP_YDISTANCE,20); não funcionou. O ponto de ancoragem da flecha (objeto) está no topo, como movê-la para cima?
ObjectSetInteger(0,Arrow_name_jack1,OBJPROP_ANCHOR,ANCHOR_BOTTOM);
Recomendo o uso de variáveis separadas para armazenar os nomes das setas superior e inferior, para evitar confusão.
E sim, desenhar setas no indicador com objetos é uma perversão. Há amortecedores indicadores:
SetIndexStyle(0,DRAW_ARROW,0,1,clrRed);
SetIndexArrow(0,242);