Como codificar? - página 268

 

outro problema

então eu revisei essa função cruzada com uma MA_04_1H > MA_14_1H em vez da cruz == 1 , e assim por diante... e normalmente corrigiu o problema... Mas eu estava me perguntando como posso filtrar negócios como comprar, fechar, comprar, fechar, comprar, fechar, vender, fechar,... Está corroendo o saldo em centavos como -0,17,-0,18,-0,21,-0,15, e assim por diante....

agora estou realmente tentando implementar algo que se eu comprar um lote menor e ele lucrar, eu fecho esse pedido e abro um novo maior até a travessia acontecer... mas o problema acima parece que não consigo resolver...

alguém sabe como filtrar esses pequenos negócios inúteis?

 

necessidade de aflorar para este código

Hi ,

preciso do afl para este código

#janela_indicadora de propriedade_separarate_window

#property indicator_buffers 8

#Indicador de propriedade_color1 C'0x66,0xB3,0xFF'.

#indicador de propriedade_color2 DodgerBlue

#Indicador de propriedade_color3 C'0x00,0x67,0xCE'.

#Indicador de propriedade_color4 Branco

#Indicador de propriedade_color5 C'0xFF,0x33,0x33'

#indicador de propriedade_color6 C'0xC4,0x00,0x00'

#Indicador de propriedade_color7 C'0x8C,0x00,0x00'

#indicador de propriedade_color8 C'0x82,0x24,0x00'

Periodo interno externo = 30;

bool invert_forte externo = FALSO;

fio externo CurrencyPair = "";

string externa NOTA0 = "inserir par de moedas em maiúsculas";

string externa NOTA1 = "como EURUSD";

cadeia externa NOTA2 = "deixar vazio para o símbolo atual";

cadeia externa NOTA3 = "se você tem uma mini conta";

cadeia externa NOTA4 = "adicione um \"m\", por exemplo EURUSDm ";

duplo g_ibuf_132[];

duplo g_ibuf_136[];

duplo g_ibuf_140[];

duplo g_ibuf_144[];

duplo g_ibuf_148[];

duplo g_ibuf_152[];

duplo g_ibuf_156[];

duplo g_ibuf_160[];

duplo gda_unused_164[];

int init() {

SetIndexBuffer(0, g_ibuf_132);

SetIndexBuffer(1, g_ibuf_136);

SetIndexBuffer(2, g_ibuf_140);

SetIndexBuffer(3, g_ibuf_144); SetIndexBuffer(3, g_ibuf_144);

SetIndexBuffer(4, g_ibuf_148); SetIndexBuffer(4, g_ibuf_148);

SetIndexBuffer(5, g_ibuf_152); SetIndexBuffer(5, g_ibuf_152);

SetIndexBuffer(6, g_ibuf_156); SetIndexBuffer(6, g_ibuf_156);

SetIndexBuffer(7, g_ibuf_160); SetIndexBuffer(7, g_ibuf_160);

SetIndexStyle(0, DRAW_HISTOGRAM, EMPTY, 5, C'0x66,0xB3,0xFF');

SetIndexStyle(1, DRAW_HISTOGRAM, EMPTY, 5, DodgerBlue);

SetIndexStyle(2, DRAW_HISTOGRAM, EMPTY, 5, C'0x00,0x67,0xCE');

SetIndexStyle(3, DRAW_HISTOGRAM, VAZIO, 5, Branco);

SetIndexStyle(4, DRAW_HISTOGRAM, VAZIO, 5, C'0xFF,0x33,0x33');

SetIndexStyle(5, DRAW_HISTOGRAM, VAZIO, 5, C'0xC4,0x00,0x00');

SetIndexStyle(6, DRAW_HISTOGRAM, EMPTY, 5, C'0x8C,0x00,0x00');

SetIndexStyle(7, DRAW_HISTOGRAM, EMPTY, 5, C'0x82,0x24,0x00');

for (int li_0 = 0; li_0 < 8; li_0++) SetIndexLabel(li_0, NULL);

if (CurrencyPair == "") CurrencyPair = Symbol();

if(iClose(CurrencyPair, 0, 0) == 0.0) CurrencyPair = Símbolo();

IndicatorShortName(CurrencyPair + "(" + Periode + ")");

retorno (1);

}

int deinit() {

retorno (0);

}

int start() {

duplo ld_8;

int li_0 = IndicatorCounted();

se (li_0 < 0) retornar (-1);

if (li_0 > 0) li_0--;

for (int li_4 = Barras - li_0; li_4 >= 0; li_4--) {

ld_8 = iRSI(CurrencyPair, 0, Periode, PRICE_CLOSE, li_4);

if (invert_strength == TRUE) ld_8 -= 2.0 * (ld_8 - 50.0);

if (ld_8 <= 45.0) {

se (ld_8 42.0) drawblock(0, 0, 0, 0, 0, 5, 0, 0, 0, 0, li_4);

senão {

se (ld_8 38.0) drawblock(0, 0, 0, 0, 0, 0, 5, 0, 0, 0, li_4)

senão {

se (ld_8 35.0) drawblock(0, 0, 0, 0, 0, 0, 0, 5, 0, li_4);

outro bloco de sorteio(0, 0, 0, 0, 0, 0, 0, 0, 5, li_4);

}

}

{} else {

se (ld_8 >= 55.0) {

if (ld_8 > 55,0 && ld_8 < 57,0) drawblock(5, 0, 0, 0, 0, 0, 0, 0, 0, li_4);

senão {

if (ld_8 >= 58,0 && ld_8 < 60,0) drawblock(0, 5, 0, 0, 0, 0, 0, 0, 0, li_4);

senão drawblock(0, 0, 5, 0, 0, 0, 0, 0, 0, 0, li_4);

}

} else drawblock(0, 0, 0, 0, 5, 0, 0, 0, 0, 0, li_4);

}

}

retorno (0);

}

drawblock void(int ai_0, int ai_4, int ai_8, int ai_12, int ai_16, int ai_20, int ai_24, int ai_28, int ai_32) {

g_ibuf_132[ai_32] = ai_0;

g_ibuf_136[ai_32] = ai_4;

g_ibuf_140[ai_32] = ai_8;

g_ibuf_144[ai_32] = ai_12;

g_ibuf_148[ai_32] = ai_16;

g_ibuf_152[ai_32] = ai_20;

g_ibuf_156[ai_32] = ai_24;

g_ibuf_160[ai_32] = ai_28;

}

ou por favor me explique a lógica por trás disso

obrigado

kr

 

como NÃO comprar, fechar, comprar, fechar ou vender, fechar, vender, fechar...

por favor... eu realmente tenho que saber como evitar esses negócios não rentáveis...

 

Ajuda urgente. Converter indicador para EA (Auto Trader)

Sou um programador, mas novato em programação mql4.

Estou tentando criar um EA (comerciante de automóveis) em relação a um indicador.

Eu anexei o indicador. Este indicador dá bons sinais de tendência.

Agora quero fazer um auto trader em relação aos sinais de tendência.

Algoritmo:

==================================================

Se SINALIZAR PARA BAIXO, abrir ordem de venda e fechar ordem de compra anterior

Se SINALIZAR PARA CIMA, abrir ordem de compra e fechar ordem de venda anterior

continuar ....

==================================================

Quero apenas a negociação manual para a negociação automática em relação a este indicador.

Alguém pode me ajudar? Eu tentei, mas não consegui o resultado

Eu acho que seria um bom comerciante de automóveis. Por favor, me ajude.

Arquivos anexados:
 

simples pergunta, não consigo encontrar a resposta...

Alguém pode me dizer por que isto funciona:

preço = MarketInfo("GBPJPY",MODE_ASK);

e isto não funciona (quando o símbolo é um conjunto de cordas e a 9ª entrada é "GBPJPY"):

preço = MarketInfo(símbolo[9],MODE_ASK);

??

 
TomthebombNL:
Alguém pode me dizer por que isto funciona:

preço = MarketInfo("GBPJPY",MODE_ASK);

e isto não acontece (quando o símbolo é um conjunto de cordas e a 9ª entrada é "GBPJPY"):

preço = MarketInfo(símbolo[9],MODE_ASK);

??

Pela informação que você apresentou, sou 100% positivo que isto deve funcionar, na verdade, acabei de fazer um teste rápido para provar isto. Deve haver algo mais que está errado com seu código.

 
codersguru:
jdun,

A maneira mais fácil de reverter o código (vender para comprar & comprar para vender) é mudar:

if(signal0 < signal1 ) GlobalVariableSet("TM0",1);

if(signal0 > signal1) GlobalVariableSet("TM0",0);[/CODE]

To:

[CODE]if(signal0 > signal1 ) GlobalVariableSet("TM0",1);

if(signal0 < signal1) GlobalVariableSet("TM0",0);

legal! Obrigado por esta informação.

 

Acho mais provável que você não tenha definido sua matriz como string.

 

Se "GBPJPY" é o 9º elemento de um array, seu índice em notação mql é 8 e não 9 (em notação mql o 1º elemento de um array tem índice 0), então nesse caso você deve usar este formulário :

price = MarketInfo(symbol[8],MODE_ASK);

Talvez seja esse o problema?

TomthebombNL:
Alguém pode me dizer por que isto funciona:

preço = MarketInfo("GBPJPY",MODE_ASK);

e isto não (quando o símbolo é um array de cordas e a 9ª entrada é "GBPJPY"):

preço = MarketInfo(símbolo[9],MODE_ASK);

??
 

Acertei o número, talvez tenha errado ao explicar, é a 10ª entrada e para obtê-lo usei o símbolo[9]. Estranhamente, isto funciona:

alto = iHigh(símbolo[9], ...)

que me dá o alto. Minha declaração é:

string symbol[] ou deveria ser como string[] symbol[] ?

se eu tentar imprimir com Alert(símbolo[9]) também dá um espaço vazio, um problema bastante estranho... mas de qualquer forma, obrigado por suas sugestões.

Este é meu código, eu uso o corretor de 5 dígitos alpari (o alerta me dá zero por algum motivo):

duplo alto, baixo, preço, distância, plaquetas;

int i,j,ticket, waarde;

símbolo de corda[];

símbolo de corda zoekplaatssymbol[];

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

//| função de iniciação de especialista |

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

int init()

{

//----

//----

retorno(0);

}

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

//| função de desinicialização especializada |

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

int deinit()

{

//----

//----

retorno(0);

}

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

//| função de início especializado |

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

int start()

{

//----

duplo usd=0,0;

duplo chf=0,0;

duplo eur=0,0;

duplo gbp=0,0;

duplo aud=0,0;

duplo cad=0,0;

double jpy=0,0;

duplo nzd=0,0;

símbolo[21] = {"USDCHF" , "EURUSD" , "GBPUSD" , "USDJPY" , "AUDUSD" , "USDCAD" , "EURGBP" , "EURCHF" , "EURJPY" , "GBPJPY" , "GBPCHF" , "EURAUD" , "NZDUSD" , "CHFJPY" ,

"EURCAD" , "AUDCAD" , "AUDJPY" , "CADJPY" , "EURNZD" , "AUDNZD" , "NZDJPY"};

int total=OrdensTotal();

//zoekplaatssymbol = símbolo[9];

// waarde = zoekplaatssymbol(zoekplaatssymbol);

preço = MarketInfo(símbolo[9],MODE_ASK);

Alerta(preço);

}

Razão: