Como codificar? - página 230

 

estudar os gráficos de 2010

usando seu modelo para criar algo -- sobre o campeonato de Stochastic

como temos usado nossos gráficos estocásticos nos primeiros dias -- ainda se aplica aos gráficos de 2010 -- esses são verdadeiros comerciantes, amigo e você poderia ter suas tarefas -- estou na programação de matemática integral sem banda larga - lembre-se do filme She's Out of My League --- bom trabalho significa bom pagamento -----

ler os códigos -- um pouco menos sofisticado que o estilo de investimento atual em 2010

 
scottyb:
Eu tentei praticamente todas as combinações possíveis da maldita falha do maldito parêntese que estou tentando compilar. Estive olhando para ela por muitas horas, mas não tive sorte em consertá-la. Eu a preguei em uma seção de código o que está estragando o script. Qualquer um me aconselha sobre o que está errado (além de eu ser um idiota).

ScanForClosure nulo ()

{

int cash = OrderProfit() + OrderSwap() + OrderCommission()

int MacdCurrent, MacdPrevious, SignalCurrent;

int SignalPrevious, MaCurrent, MaPrevious;

int total2 = OrdensTotal();

int numords2 = 0;

tipo bool = falso;

int trd2 = 0;

MacdCurrent=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,0);

MacdPrevious=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,1);

SignalCurrent=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,0);

SignalPrevious=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,1);

MaCurrent=iMA(NULL,0,MATrendPeriod,0,MODE_EMA,PRICE_CLOSE,0);

MaPrevious=iMA(NULL,0,MATrendPeriod,0,MODE_EMA,PRICE_CLOSE,1); MaPrevious=iMA(NULL,0,MATrendPeriod,0,MODE_EMA,PRICE_CLOSE,1);

ArrayResize(lastOrders,5);

ArrayInitialize(lastOrders,0);

//

for(int cnt=0; cnt<total2; cnt++)

{

OrderSelect(cnt, SELECT_BY_POS);

if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic) ;

{

se ((OrderType()==OP_BUY)&&

(MacdCurrent>0)&&

(MacdCurrent<SignalCurrent)&&

(dinheiro > 0)&&

(MacdPrevious>SignalPrevious) && MacdCurrent>(MACDCloseLevel*Point))

{

CloseOrder(1);

}

se ((OrderType()==OP_SELLL)&&

(dinheiro > 0)&& (MacdCurrent<0 ) &&

(MacdCurrent>SignalCurrent)&&

(MacdPrevious<SignalPrevious)&&

(MathAbs(MacdCurrent))>(MACDCloseLevel*Point));

{

CloseOrder(2);

}

}

}

}

Oi Scotty,

Estou copiando da amostra MacD

if(OrderType()==OP_BUY)

{

if(MacdCurrent>0 && cash > 0 && MacdCurrentSignalPrevious &&

MacdCurrent>(MACDCloseLevel*Point))

{

OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet);

retorno(0);

}

senão

{

if(MacdCurrent 0 && MacdCurrent>SignalCurrent &&

MacdPrevious(MACDCloseLevel*Point))

{

OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet); // posição fechada

retorno(0);

}

Cumprimentos

ferramentas

 
forextrend:
por que este código está dando o erro de contagem de parâmetros errado:

for(int i = 0;i < 3;i++)

{

kline = iStochastic(NULL,TimeFrame1, Period(), 4, 3, 3, MODE_SMA, 1, MODE_MAIN, i);

dline = iStochastic(NULL,TimeFrame1, Period(), 4, 3, 3, MODE_SMA, 1, MODE_SIGNAL, i);

}

Deve ser

int counted_bars = IndicatorCounted();

limite int,i;

if(counted_bars<0) return(-1);

if(counted_bars>0) counted_bars--;

limite = Barras - Barras_contadas;

for(int i=limite; i>=0; i--)

{

kline = iStochastic(NULL,TimeFrame1, 4, 3, 3, MODE_SMA, 1, MODE_MAIN, i);

dline = iStochastic(NULL,TimeFrame1, 4, 4, 3, 3, MODE_SMA, 1, MODE_SIGNAL, i);

Cumprimentos

ferramentas

 

Obrigado Sr. Tools talvez eu estivesse tornando-o complexo, mas o que estava errado com ele? Será que esse exemplo afixado vai varrer todos os bilhetes abertos? Eu pensaria que só digitalizaria 2 (uma única compra e uma única venda), muito provavelmente a mesma toda vez :/ Eu sou muito novo nesta programação mt4, mas tenho certeza que é isso que aconteceria.

 

descobriu

é incrível que você olha para o mesmo problema por 10 horas seguidas e não consegue resolvê-lo. Eu dei outra olhada nele. Quando acordei e o consertei em 5. Parece que este código MT4 é muito apertado. Você parece precisar codificar exatamente o que está procurando (se você pode ou não fazer exatamente a mesma coisa em 10 outros idiomas e trabalhar).

Eu criei bots para o World of Warcraft para fazer um personagem correr por si só em um jogo de localização e matança, no entanto, quando eu tento fazer uma simples rotina de compra e venda no MT4 eu luto

De qualquer forma, a lição para mim foi limitar o que você coloca em uma linha com um "se". Espero poupar a alguns outros a dor que eu tinha.

OrderSelect(cnt, SELECT_BY_POS);

if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic)

{

se (OrderType()==OP_BUY)

se (lucro>0)

se (MacdCurrent<SignalCurrent)

se (MacdCurrent>0)

if (MacdPrevious>SignalPrevious)

if (MacdCurrent>(MACDCloseLevel*Point))

{

CloseOrder(1);

}

se (OrderType()==OP_SELL)

se ((MacdCurrent<0 ) )

se (lucro >0 )

if (MacdCurrent>SignalCurrent)

se (MacdPrevious<SignalPrevious)

if (MathAbs(MacdCurrent) >(MACDCloseLevel*Point))

 

Assistência de código - Fractals

Olá,

Estou procurando alguma ajuda sobre o código necessário para fazer o seguinte como parte de um sistema no qual estou trabalhando:

Válido Longo se:

(numerado do mais antigo ao mais recente 1-x)

-> Fractal Pointing Down 1 maior que Fractal Down 2

-> Fractal Up 1 é formado e cria a condição de ruptura possível, no entanto

-> Fractal Down 3 tem que ser maior que Fractal Down 2

-- Isto valida a mudança na tendência. Uma quebra no preço do fractal superior seria uma VERDADEIRA VERDADEIRA. Se for formado um novo fractal superior inferior, ou seja, o novo ponto de quebra UNLESS, há um fractal inferior ao fractal inferior do fractal inferior anterior. O fractal inferior deveria estar fazendo maiores elevações.

Inverso verdadeiro para uma curta validação.

Abraços

Aaron

 

Pode tentar explicar um pouco melhor

Portanto, há uma tendência de alta no preço, forma-se um fractal superior. O preço recua e um fractal inferior é formado. O preço continua a retrair e outro fractal inferior é formado.

Então o preço sobe para formar um novo fractal, inferior, superior.

O preço retrai e um outro fractal inferior é formado, mas este é mais alto que o fractal inferior anterior.

O preço quebra o fractal superior anterior, condição válida de quebra longa.

PS Se um novo fractal inferior superior for formado, mas os fractais inferiores continuarem a fazer maiores elevações, o novo ponto de quebra é o fractal superior mais recente.

PPS Se os fractais inferiores e inferiores começarem a se formar, as condições são reiniciadas e continuamos a procurar as condições acima ou as condições inversas para uma validação curta de uma quebra.

Saúde

Aaron

 

E o que exatamente ajuda na programação que você precisa? Necessidade de ter todo o sistema programado?

 

Apenas essa parte lógica.

Diga um bool que é ValidBuy = FALSO;

se a lógica da condição como acima ocorrer, ela a define como VERDADEIRA.

Tenho certeza que é um array, então comparando os valores do array, mas não sou tão bom quando se trata de codificar os arrays.

Saúde

Aaron

 

Você não precisa usar nenhum conjunto. Basta criar uma função, que encontrará o nível de determinado fractal, para que você possa ligar assim:

double fractal = FindFractal( 0, MODE_LOWER );[/CODE]

first parameter being number of fractal (0-last, 1-one before last, etc.) and second parameter telling if you want upper or lower fractal.

Then, you can code like this:

[CODE]double last_lower_fractal = FindFractal( 0, MODE_LOWER );

double previous_lower_fractal = FindFractal( 1, MODE_LOWER );

if( last_lower_fractal > previous_lower_fractal )

{

//we have found that most recent lower fractal is higher than its predecessor, do rest of your logic here.

}