Como codificar? - página 268

[Excluído]  

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

[Excluído]  

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...

[Excluído]  

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

}