[ARQUIVO] Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 3. - página 152
Alguém pode postar o roteiro mais simples para calcular o lote para um martingale clássico: se o comércio anterior foi fechado com uma perda, o próximo se abre com um lote duplo. Eu mesmo o escrevi:
{ OrderSelect(OrderHistoryTotal(), SELECT_BY_POS, MODE_HISTORY); //verify the last order from the history if( OrderMagicNumber() == magic && ( (OrderType() == OP_BUY && (OrderOpenPrice()-OrderClosePrice())<0) // para comprar significa perda ||| (OrderType() == OP_SELLL && (OrderOpenPrice()-OrderClosePrice())>0) // para vender significa perda ) ) Lots=OrderLots()*MM_koef;Print(Lots); } se (Lotes<=0) Lotes=Lotes;
....OrderSend(Symbol(), OP_BUY, Lots, .......
O auto-cálculo do lote em um Martin não funciona, mas é aceito igual a 0,1 por alguma razão? Alguém pode me dizer, por favor
AdvoTM: Se o comércio anterior foi fechado com uma perda - o próximo é aberto com lote duplo.
aqui está algo semelhante para seus propósitos em mãos:
double history(){
int i;
//обьявляем необходимые нам переменные куда мы положим интересующие нас характеристики ордера double profit;
datetime time;
time = 0;
profit = 0;
for(i = OrdersHistoryTotal();i>=0;i--){// Перебираем все закрытые ордераif(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)){//если ордер с таким номером (i) в списке закрытых ордеров есть ( не путать с тикетом)if(OrderSymbol() == Symbol()){//если выбранный ордер был открыт по нашей валютной пареif(time<OrderCloseTime()){//(сравниваем его с хранящимся в переменной time)
time=OrderCloseTime();//если время закрытия ордера больше - ложим его в переменную
profit=OrderProfit();//и заодно запоминаем прибыль ордера
}
}
}
}
//по окончании этой процедуры в наших переменных будут сидет наибольшее время закрытия, и его профит. Или по нулям если история чистая.//теперь мы можем выставлять условия в зависимости от результата процедурыif(profit == 0 &&time == 0){//действия если история чистаяPrint("история чистая");
}
if(profit >= 0){//действия если последний ордер был прибыльным, или нулевымPrint("последний ордер был прибыльным, или нулевым");
}
if(profit < 0 ){//действия если последний ордер был убыточнымPrint("последний ордер был убыточным");
}
return(profit);// вернем в качестве результата функции значение прибыли последнего ордера из истории, так на всякий случай ;)
}
Você pode me dizer por que não é possível fazer o login aqui https://www.mql5.com/ru/auth_login? Não consigo inserir meu nome de usuário e senha (o cursor não está piscando ou não está presente).
yosuf: Você pode me dizer por que é impossível entrar aqui https://www.mql5.com/ru/auth_login? Não consigo inserir meu nome de usuário e senha (o cursor não pisca ou não há cursor algum).
Cavalheiros, por favor expliquem sobre o sorteio... Bem, o drawdown máximo é claro, mas o drawdown relativo é relativo a quê? e também o Absolute drawdown... não está sequer especificado em %, o que é?
Qual é a razão pela qual no EA para OrderModify às vezes a modificação é feita automaticamente e às vezes a janela é exibida e você tem que pressionar o botão para confirmar (a janela que abre com F9 em MT).
Há apenas uma linha OrderModify(......) no código e a lógica descrita acima não está exatamente implementada.
Tenho um pensamento que se a OrderModifu falhar, a corretora enviará um sinal para abrir esta janela. Isso é possível?
Vadim, você pode codificar em Java?
Alguém pode postar o roteiro mais simples para calcular o lote para um martingale clássico: se o comércio anterior foi fechado com uma perda, o próximo se abre com um lote duplo. Eu mesmo o escrevi:
duplo lote externo = 0,1; duplo MM_koef externo = 2; magia externa int = 56565;
double Lots=Lot;
{ OrderSelect(OrderHistoryTotal(), SELECT_BY_POS, MODE_HISTORY); //verify the last order from the history
if( OrderMagicNumber() == magic
&& ( (OrderType() == OP_BUY && (OrderOpenPrice()-OrderClosePrice())<0) // para comprar significa perda
||| (OrderType() == OP_SELLL && (OrderOpenPrice()-OrderClosePrice())>0) // para vender significa perda
)
)
Lots=OrderLots()*MM_koef;Print(Lots);
}
se (Lotes<=0) Lotes=Lotes;
....OrderSend(Symbol(), OP_BUY, Lots, .......
O auto-cálculo do lote em um Martin não funciona, mas é aceito igual a 0,1 por alguma razão? Alguém pode me dizer, por favor
aqui está algo semelhante para seus propósitos em mãos:
Você pode me dizer por que é impossível entrar aqui https://www.mql5.com/ru/auth_login? Não consigo inserir meu nome de usuário e senha (o cursor não pisca ou não há cursor algum).
Há algo de errado com você.
Eu tentei. Logado sem nenhum problema.
Há algo de errado com você.
Eu tentei. Entrou sem nenhum problema.
O que devo fazer? Registrar-me novamente? Ou aonde devo ir para pedir ajuda?
Eu tentaria reiniciar o computador primeiro...)
O reinício não ajudou
Qual é a razão pela qual no EA para OrderModify às vezes a modificação é feita automaticamente e às vezes a janela é exibida e você tem que pressionar o botão para confirmar (a janela que abre com F9 em MT).
Há apenas uma linha OrderModify(......) no código e a lógica descrita acima não está exatamente implementada.
Tenho um pensamento que se a OrderModifu falhar, a corretora enviará um sinal para abrir esta janela. Isso é possível?