[Arquivo!] Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por ela. Não poderia ir a lugar algum sem você - 2. - página 224
Quero que uma mensagem seja exibida após o fechamento de um stop loss, mas nada acontece no mt4.
int init() { //----
//---- return(0); } //+------------------------------------------------------------------+ //| expert deinitialization function | //+------------------------------------------------------------------+ int deinit() { //----
//---- return(0); } //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ string sy="NULL"; int op=-1; int mn=-1; bool isCloseLastPosByStop(string sy="", int op=-1, int mn=-1) { datetime t; double ocp, osl; int dg, i, j=-1, k=OrdersHistoryTotal();
if (sy=="0") sy=Symbol(); for (i=0; i<k; i++) { if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) { if (OrderSymbol()==sy || sy=="") { if (OrderType()==OP_BUY || OrderType()==OP_SELL) { if (op<0 || OrderType()==op) { if (mn<0 || OrderMagicNumber()==mn) { if (t<OrderCloseTime()) { t=OrderCloseTime(); j=i; } } } } } } } if (OrderSelect(j, SELECT_BY_POS, MODE_HISTORY)) { dg=MarketInfo(sy, MODE_DIGITS); if (dg==0) if (StringFind(OrderSymbol(), "JPY")<0) dg=4; else dg=2; ocp=NormalizeDouble(OrderClosePrice(), dg); osl=NormalizeDouble(OrderStopLoss(), dg); if (ocp==osl) return(True); } return(False); } int start() { //---- bool stopl; stopl = isCloseLastPosByStop(sy,op,mn); if (stopl == true) Alert ("последняя сделка закрылась по s/l"); //---- return(0); }
Prezados membros do fórum, estou colocando o indicador "Balance Chart" para revisão. Penso que seria útil em uma janela separada - um controle visual sobre as mudanças em seu próprio equilíbrio em tempo real, controle da rentabilidade do Expert Advisor no final... O problema é que não funciona... Eu mesmo o "consertei", não o entendo muito bem. Eu desenvolvi alguns indicadores, mas não fiz nada com ele... Eu ficaria grato por uma correção. Escrevi o que eu queria obter. Por favor, não hesite em mastigá-los, nem que seja apenas o resultado! Talvez outra pessoa venha a precisar, parece que a coisa não é supérflua...
Inseri # linha de indicador de propriedade_separarate_window no indicador padrão - depois disso o MT4 não quer anexá-lo a uma ferramenta financeira. Por quê?
Talvez os valores sejam muito pequenos e estejam em algum lugar no fundo (fora da janela)
Inseri # linha de indicador de propriedade_separarate_window no indicador padrão - depois disso o MT4 não quer anexá-lo a uma ferramenta financeira. Por quê?
Para login e uso do site MQL5.com, você deve ativar o uso de cookies.
Ative esta opção no seu navegador, caso contrário você não poderá fazer login.
Você entrou na conta. A autenticação de dois fatores foi desativada. Configure-a novamente e escaneie um novo código QR ou continue com a autenticação de dois fatores desativada.
Quero que uma mensagem seja exibida após o fechamento de um stop loss, mas nada acontece no mt4.
int init()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
string sy="NULL";
int op=-1;
int mn=-1;
bool isCloseLastPosByStop(string sy="", int op=-1, int mn=-1) {
datetime t;
double ocp, osl;
int dg, i, j=-1, k=OrdersHistoryTotal();
if (sy=="0") sy=Symbol();
for (i=0; i<k; i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) {
if (OrderSymbol()==sy || sy=="") {
if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
if (op<0 || OrderType()==op) {
if (mn<0 || OrderMagicNumber()==mn) {
if (t<OrderCloseTime()) {
t=OrderCloseTime();
j=i;
}
}
}
}
}
}
}
if (OrderSelect(j, SELECT_BY_POS, MODE_HISTORY)) {
dg=MarketInfo(sy, MODE_DIGITS);
if (dg==0) if (StringFind(OrderSymbol(), "JPY")<0) dg=4; else dg=2;
ocp=NormalizeDouble(OrderClosePrice(), dg);
osl=NormalizeDouble(OrderStopLoss(), dg);
if (ocp==osl) return(True);
}
return(False);
}
int start()
{
//----
bool stopl;
stopl = isCloseLastPosByStop(sy,op,mn);
if (stopl == true)
Alert ("последняя сделка закрылась по s/l");
//----
return(0);
}
Prezados membros do fórum, estou colocando o indicador "Balance Chart" para revisão. Penso que seria útil em uma janela separada - um controle visual sobre as mudanças em seu próprio equilíbrio em tempo real, controle da rentabilidade do Expert Advisor no final... O problema é que não funciona... Eu mesmo o "consertei", não o entendo muito bem. Eu desenvolvi alguns indicadores, mas não fiz nada com ele... Eu ficaria grato por uma correção. Escrevi o que eu queria obter. Por favor, não hesite em mastigá-los, nem que seja apenas o resultado! Talvez outra pessoa venha a precisar, parece que a coisa não é supérflua...
você tem 1 equilíbrio em todas as barras?
Talvez não tenha declarado o problema com precisão - talvez fosse mais preciso
inserir. Mas essa é a segunda. E, o mais importante, gostaria de observar estas mudanças após as posições de abertura/fecho.
Seria algo como uma linha de equilíbrio como no testador, mas no real?
Talvez eu não tenha declarado o problema com precisão - talvez seja mais preciso
Você precisa ler o histórico comercial e ler o saldo no momento em que a próxima posição foi fechada.
A equidade é um pouco mais complicada, mas pode ser feita exatamente da mesma forma.
Você pode converter todos os cálculos para um lote padrão ou contar em pips
Pergunta com janela...
Inseri # linha de indicador de propriedade_separarate_window no indicador padrão - depois disso o MT4 não quer anexá-lo a uma ferramenta financeira. Por quê?
Pergunta com janela...
Inseri # linha de indicador de propriedade_separarate_window no indicador padrão - depois disso o MT4 não quer anexá-lo a uma ferramenta financeira. Por quê?
Talvez os valores sejam muito pequenos e estejam em algum lugar no fundo (fora da janela)
Talvez os valores sejam apenas muito pequenos e estejam em algum lugar no fundo (fora da janela)
Mas em teoria deveria haver uma janela separada, embora vazia?
Também - nem o indicador nem o assessor.... anexam
Pergunta com janela...
Inseri # linha de indicador de propriedade_separarate_window no indicador padrão - depois disso o MT4 não quer anexá-lo a uma ferramenta financeira. Por quê?