Pergunta 1. Tenho usado MyPips em vela, nesta função? bool BULL4()
Sim. No entanto, a afirmação está correta na função BULL4()? Quer dizer, você está procurando aquela vela que está calculando?
Wodzuuu:
E eu PROGRAMA DE GROTE para mim é bom :) e você?
É seu, portanto tem que ser bom para você, não me formar.
Alguns comentários:
bool CheckForCloseBULL4()
{
int i;
for(i=OrdersTotal()-1;i>=0;i--)
if( ! OrderSelect(i, SELECT_BY_POS, MODE_TRADES) ) continue;
if( OrderMagicNumber() == MAGICMA1 && OrderSymbol() == Symbol() && OrderType() == OP_BUY )
if(OrderOpenPrice()+8*MyPips < Ask) return(true);
elsereturn(false); // <-- the else here is wrong. Use {} if you are unsure what is processed where
}
int OpenOrders_BULL4(string symbol)
{
int buys=0;
for(int i=0;i<OrdersTotal();i++) // <-- do it like you do it in the other loops!
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break; // <-- break? Why not using always the same code for the same thing?
if(OrderSymbol()==Symbol() && OrderMagicNumber()==MAGICMA1) // Look at the for loop you used in CheckForCloseBULL4().
{
if(OrderType()==OP_BUY) buys++; // <-- why this additional if? Simplify it to:
} // if(OrderSymbol()==Symbol() && OrderMagicNumber()==MAGICMA1 && OrderType()==OP_BUY) buys++;
}
return(buys);
}
O código está funcionando, mas talvez eu tenha alguns erros
Eu não disse, o resto está errado na função CheckForCloseBULL41(), porque não foi bem formada. Você não mudou nada. Se mais de uma das ordens em aberto corresponder às ordens abaixo, você terá problemas, pois o loop não passa por todas as ordens.
Você não precisa das bandeiras de sinalização desde que você só abra novas ordens em um número específico de ordens já abertas. Isto também impede que o código abra mais pedidos.
void start()
{
bool SignalBULL41Executed; //<-- if defined inside the start function, the flags get reset with every tick.bool SignalBULL42Executed; // define it outside in global scope.if(Fun_New_Bar()==true)
{
SignalBULL41Executed=false;
SignalBULL42Executed=false;
}
if(BULL4() && BULL41send() && !SignalBULL41Executed && OpenOrders_BULL4(Symbol())==0)
{
OpenBULL41();//do open buy position //<-- As far as I remember, you defined this as bool. Do only set the flag, if the function returns true.
SignalBULL41Executed=true; // change to: if(OpenBULL41())SignalBULL41Executed=true;
}
As correções acima são para as bandeiras. Mas a questão em aberto é: você precisa delas? Se você só abre um novo pedido, se um número específico de pedidos já estiver aberto, você provavelmente não precisa dele. Isto é o que eu quis dizer com a expressão marcada em amarelo:
Acho quea bandeiranão é necessária,mas pode serútilum dia.
Comoter duas EAem umaEA? Eu fizcópias doBULL4 da EAe mudeioidexBULL6eos espaçadores . Cópia da EA BULL4+EABULL6 muito nova EA (tudo apósodígito()) Fazer mudançasdentro da funçãoiniciar () e magicma2...
Minha EA funciona muito bem, os cenáriosnão interferemunscom os outros.Eu estou feliz.
Queriaagradecer-lhepor sua ajuda,sem sua ajudae especialmenteseu apoioKronineunãoaescreveria.
Pergunta 1. Tenho usado MyPips em vela, nesta função? bool BULL4()
Sim. No entanto, a afirmação está correta na função BULL4()? Quer dizer, você está procurando aquela vela que está calculando?
E eu PROGRAMA DE GROTE para mim é bom :) e você?
É seu, portanto tem que ser bom para você, não me formar.
Alguns comentários:
Eu corrijo os últimos erros
Acrescento a segunda compra
condição para abrir :
Abrir e VerificarParaFechar e Fechar o mesmo código como para BULL41 (somente pips difrent)
A função de início tem esse aspecto:
E agora eu preciso de bandeira, resignações e mudar a função de início
Minha imaginação diz:
Novo bar:
e começar é como se fosse
O código está funcionando, mas talvez eu tenha alguns erros
Eu sinto falta de ResetSignals() para que não funcione bem
Eu corrijo os últimos erros
...
...
...
O código está funcionando, mas talvez eu tenha alguns erros
Eu não disse, o resto está errado na função CheckForCloseBULL41(), porque não foi bem formada. Você não mudou nada. Se mais de uma das ordens em aberto corresponder às ordens abaixo, você terá problemas, pois o loop não passa por todas as ordens.
Você não precisa das bandeiras de sinalização desde que você só abra novas ordens em um número específico de ordens já abertas. Isto também impede que o código abra mais pedidos.
Sua função Fun_New_Bar() não está correta.
1. outro problema
se isto não for correto, vou procurar novamente.
2. novo problema na barra
3. problema do sinal de reset
Se eu escrevi pontos 2 e 3 ruins , não terei idéias para consertá-los, pedirei maiores direções Se eu pudesse.
1. outro problema
Fixo
2. Novo problema na barra
Fixo
3. problema do sinal de reset
As correções acima são para as bandeiras. Mas a questão em aberto é: você precisa delas? Se você só abre um novo pedido, se um número específico de pedidos já estiver aberto, você provavelmente não precisa dele. Isto é o que eu quis dizer com a expressão marcada em amarelo:Mas não se preocupe, ele também funciona com as bandeiras e você pode eliminá-las mais tarde, quando se verificar que estão obsoletas.
Acho que a bandeira não é necessária, mas pode ser útil um dia.
Como ter duas EAem uma EA?
Eu fiz cópias do BULL4 da EA e mudei o idex BULL6 e os espaçadores .
Cópia da EA BULL4 + EA BULL6 muito nova EA (tudo após o dígito ()) Fazer mudanças dentro da função iniciar () e magicma2...
Minha EA funciona muito bem, os cenários não interferem uns com os outros. Eu estou feliz.
Queria agradecer-lhe por sua ajuda, sem sua ajuda e especialmente seu apoio Kronin eu não a escreveria.
Na minha opinião, o assunto está encerrado.
Cumprimentos
Minha EA funciona muito bem, os cenários não interferem uns com os outros. Estou feliz.
Queria agradecer-lhe por sua ajuda, sem sua ajuda e especialmente sem seu apoio Kronin eu não a escreveria.
Seja bem-vindo. Obrigado pelo agradável feedback.