[AVISO FECHADO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Não posso ir a lugar algum sem você. - página 940
![MQL5 - Linguagem para estratégias de negociação inseridas no terminal do cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
extern double TP=20; // ТР для открываемого ордера
extern double Lot=0.01; // Жестко заданное колич. лотов
datetime time;
//--------------------------------------------------------------- 2 --
int start()
{
int Total;
double
M_0,
M_1;
bool
Ans =false, // Ответ сервера после закрытия
Cls_B=false, // Критерий для закрытия Buy
Cls_S=false, // Критерий для закрытия Sell
Opn_B=false, // Критерий для открытия Buy
Opn_S=false; // Критерий для открытия Sell
//--------------------------------------------------------------- 3 --
// Учёт ордеров
for(int i=OrdersTotal()-1;i>=0;i--)
if (OrderSelect(i,SELECT_BY_POS)&&OrderSymbol()==Symbol()&&OrderType()>1)Total++;
if(Total!=0 || time==Time[1])return;
// Торговые критерии
M_0=iOsMA(NULL,0,13,34,8,0,0); // 0 бар
M_1=iOsMA(NULL,0,13,34,8,0,1); // 1 бар
if (M_1<0 && M_0>0)
Opn_B=true;
if (M_1>0 && M_0<0)
Opn_S=true;
//--------------------------------------------------------------- 7 --
if (Opn_B)
{OrderSend(Symbol(),OP_BUY,Lot,Ask,0,Bid-SL*Point,Bid+TP*Point);time=Time[1];}
if (Opn_S)
{OrderSend(Symbol(),OP_SELL,Lot,Bid,0,Ask+SL*Point,Ask-TP*Point);time=Time[1];}
}
Você está testando em todos os carrapatos?
Obrigado pela resposta. Esboçou uma EA rudimentar. Ainda não funciona.
neste código, procure por erros, a função OrderSend pressione F1 vai trazer ajuda no editor padrão, veja a ordem dos parâmetros de entrada há um erro.
+ usar Impressão / Alerta para percorrer os valores das variáveis, inseri-lo na seção de código após ( atribuições / executar )
e lembre-se de normalizar a saída, DoubletoSt...NormalizeDupla...TimeToStr
Em anexo encontram-se 2 bibliotecas gratuitas com código kimIV.
O código é simples, com funções prontas, muito bom para iniciantes.
// Dificilmente um número definido de lotes :)
Sim
Então você tem um efeito de tagarelice sobre a barra zero.
Testes em todos os carrapatos?
Como "parar" o fluxo do descontentamento para os CD?
Abaixo está um extrato do tronco:
10:00:25 Carrapato antigo EURUSD30 1.38730/1.38740
10:00:25 Carrapato antigo EURUSD240 1.38730/1.38740
10:00:25 Carrapato antigo EURUSD1440 1.38730/1.38740
10:00:25 Carrapato antigo EURUSD15 1.38730/1.38740
10:00:25 Carrapato antigo EURUSD1 1.38730/1.38740
10:00:25 Carrapato antigo EURUSD60 1.38730/1.38740
10:00:25 Carrapato antigo EURUSD5 1.38730/1.38740
11:00:34 Carrapato antigo EURUSD30 1.38847/1.38863
11:00:34 Carrapato antigo EURUSD240 1.38847/1.38863
11:00:34 Carrapato antigo EURUSD1440 1.38847/1.38863
11:00:34 Carrapato antigo EURUSD15 1.38847/1.38863
11:00:34 Carrapato antigo EURUSD1 1.38847/1.38863
11:00:34 Carrapato antigo EURUSD60 1.38847/1.38863
11:00:34 Carrapato antigo EURUSD5 1.38847/1.38863
11:25:06 Old tick EURUSD30 1.38707/1.38722
11:25:06 Old tick EURUSD240 1.38707/1.38722
11:25:06 Old tick EURUSD1440 1.38707/1.38722
11:25:06 Old tick EURUSD15 1.38707/1.38722
11:25:06 Old tick EURUSD1 1.38707/1.38722
11:25:06 Old tick EURUSD60 1.38707/1.38722
Então você tem um efeito de tagarelice sobre a barra zero.
O teste lhe dá dor de cabeça?
// Critérios de comercialização
M_0 ={ iOsMA(0,0,13,34,8,0,1) }; //| 1bar
M_1 ={ iOsMA(0,0,13,34,8,0,2) }; //| 2bar
Opn_B ={ (((M_1<0)==1) &&((M_0>0)==1) ) };
Opn_S ={ (((M_1>0)==1) &&((M_0<0)==1) ) };
tente desta forma, mas sem o jarro:)