Como sei que na história desta posição em particular, parte dela está fechada?
Abri uma posição com 1,0 lote, fechei com 0,5, e com 10$ de prejuízo. Mais tarde fechei outro 0,25 com 5$ de lucro. Fecharei tudo com 50$ de lucro. Na verdade, agora eu tenho um lucro de 50 dólares.
Como eu fecho -$10 e +$5 no cálculo do lucro atual? Para fechar com lucro de $55
Veja o comentário da posição (em mql4) - a parte fechada tem um ticket da parte restante (de#1234556789), a parte restante tem um ticket da parte fechada (de#123456788) - não me lembro onde há lacunas - você vai ver por si mesmo
Veja o comentário da posição (em mql4) - a parte fechada tem um ticket do restante (de#1234556789), a parte restante tem um ticket do fechado (de#123456788) - não me lembro onde estão os espaços - você verá por si mesmo
Comparo o comentário da posição fechada com o bilhete da posição aberta, ele retorna "0.0".
double prof_cl_pos(string sy="0", int op=-1, int mn=-1) {
datetime ta;
int i, k=OrdersHistoryTotal();
double profit_=0;
string comment="";
if (sy=="" || sy=="0") sy=Symbol();
for (i=0; i<k; i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) {
if (OrderSymbol()==sy) {
if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
if (op<0 || OrderType()==op) {
if (mn<0 || OrderMagicNumber()==mn) {
// comment=OrderComment();if (ticket_op_pos(Symbol(), -1,mn)==OrderComment())
profit_=OrderProfit();
}
}
}
}
}
}
return(profit_);
}
int ticket_op_pos(string sy="", int op=-1, int mn=-1) {
datetime o;
double l=-1;
string comment="";
int ticket, i, k=OrdersTotal();
if (sy=="0") sy=Symbol();
for (i=0; i<k; i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
if (OrderSymbol()==sy || sy=="") {
if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
if (op<0 || OrderType()==op) {
if (mn<0 || OrderMagicNumber()==mn) {
ticket=OrderTicket();
}
}
}
}
}
}
return(ticket);
}
[in] Длина извлекаемой подстроки. Если значение параметра равно -1 либо параметр не задан, то будет извлекаться подстрока, начиная с указанной позиции и до конца строки.
ps/ você também deve usar um único caso, seja em maiúsculas ou minúsculas. Infelizmente não há protocolo para marcação de comentários, então é possível que algum servidor diga "DE #" (em letras maiúsculas); em particular alguns colocam [sl] e outros (sl) no final do comentário em stop-loss. E a propósito, o tamanho do comentário é limitado. E assim por diante.
Como sei que na história desta posição em particular, parte dela está fechada?
Abri uma posição com 1,0 lote, fechei com 0,5, e com 10$ de prejuízo. Mais tarde fechei outro 0,25 com 5$ de lucro. Fecharei tudo com 50$ de lucro. Na verdade, agora eu tenho um lucro de 50 dólares.
Como eu fecho -$10 e +$5 no cálculo do lucro atual? Para fechar com lucro de $55
Veja o comentário da posição (em mql4) - a parte fechada tem um ticket da parte restante (de#1234556789), a parte restante tem um ticket da parte fechada (de#123456788) - não me lembro onde há lacunas - você vai ver por si mesmo
Veja o comentário da posição (em mql4) - a parte fechada tem um ticket do restante (de#1234556789), a parte restante tem um ticket do fechado (de#123456788) - não me lembro onde estão os espaços - você verá por si mesmo
Comparo o comentário da posição fechada com o bilhete da posição aberta, ele retorna "0.0".
Comparando um comentário de uma posição fechada com um ticket de uma posição aberta, retorna "0,0".
Do comentário o bilhete deve ser destacado, ou seja, caracteres extras como "de #" e "para #" devem ser removidos. Isso não é feito aqui.
Do comentário você precisa destacar o bilhete, ou seja, remover caracteres extras como "de #" e "para #". Isto não é feito aqui.
Exatamente! Como se corta "para #"?
pegar a parte restante e convertê-la em longa
in-5e, há uma rudimentar regexp - será mais fácil
encontrar ocorrência de caráter/substring #
Como posso encontrá-lo?
A busca no site não está funcionando? Você não tem a documentação no topo da página?
A busca no site não está funcionando? Você não tem a documentação no topo da página?
Obrigado, eu fiz isso.
mas a função de histórico de busca começou a retornar o lucro atual sobre a posição aberta
> Obrigado, foi assim que eu fiz.
Não faça isso novamente :-) você não pode confiar no comprimento ou no início de um fragmento quando lida com cordas indefinidas
Há uma bela função StringFind() - busca por "#" ou "de #".
ps/ você também deve usar um único caso, seja em maiúsculas ou minúsculas. Infelizmente não há protocolo para marcação de comentários, então é possível que algum servidor diga "DE #" (em letras maiúsculas);em particular alguns colocam [sl] e outros (sl) no final do comentário em stop-loss. E a propósito, o tamanho do comentário é limitado. E assim por diante.
Qual é o mal de uma construção desse tipo?
Ou é melhor tornar adata um tipo longo?