Detalhes de Stop Loss and Take Profit escritos antes das condições de Compra e Venda
double Ask = SymbolInfoDouble(_Symbol,SYMBOL_ASK); // лучшее предложение на покупкуdouble Bid = SymbolInfoDouble(_Symbol,SYMBOL_BID); // лучшее предложение на продажуdouble SL = NormalizeDouble(StopLoss,_Digits);
double TP = NormalizeDouble(TakeProfit,_Digits);
bool Buy_Condition_1=...;
bool Buy_Condition_2=...;
bool Buy_Condition_3=...;
а сам
bool PositionModify(conststring_Symbol,constdouble SL,constdouble TP)
{
if(PositionSelect(_Symbol)==true) // есть открытая позиция
{
if(PositionGetInteger(POSITION_TYPE)==POSITION_TYPE_BUY)
{
Alert("SL!!!");
return; // закрыл
}
MqlTradeRequest request={0};
MqlTradeResult result ={0};
mrequest.action=TRADE_ACTION_SLTP;
mrequest.symbol=_Symbol;
mrequest.magic =EA_Magic;
mrequest.sl =StopLoss;
mrequest.tp =TakeProfit;
OrderSend(mrequest,mresult);
if(mresult.retcode==10009 || mresult.retcode==10008) //запрос выполнен или ордер успешно помещен
{
Alert("Стопка прошла#:",mresult.order,"!!");
}
else
{
Alert("Стопка не прошла - код ошибки:",GetLastError());
return(false);
}
return(true);
}
//----------------------------------------------------------------- if(Buy_Close_1 || Buy_Close_2)
после отсылки ордера на покупку.
Пока при компиляции борюсь с "лишними" скобками фигурными.
Вопрос дубль 2 - правильно ли я расположил модификацию позиции?
И вообще, "классический" ли он имеет код (при условии, что он верный)?
A questão é que, se eu colocar parênteses curvos em lugares, na compilação que gera - 'PositionModify' - afunção só pode ser declarada no âmbito global
e desta vez acredito que, isto é, o próprio "modificador de posição" deve ser colocado antes do OnInit() e condições (se) após a secção de compra ?
Corrigido. Compila sem erros. Não o testou no testador. O seu código não era legível. Habitue-se à disposição dos códigos como na minha versão corrigida.
Obrigado (embora não compreenda bem o que mudou para além do layout).
O que significa "SMB" na linha 2 e onde é definido pelos valores? não se pode escrever _Symbol ?
Pode aconselhar a melhor forma de implementar o seguinte: Lançamentos de peritos, quando iniciado, desenha (na área do gráfico? noutro lugar?), digamos, TextBox e Button. Se um utilizador entrar algum valor na TextBox e premir Button, o manipulador de carraças vê estes novos dados.
Por outras palavras - qual é a forma correcta (mais simples, melhor) de organizar o intercâmbio interactivo de dados dos utilizadores com o Expert Advisor através dos elementos do GUI do Windows? CChartObjectEdit e CChartObjectButton é, com licença, algum tipo de "pornografia".
Obrigado. Desculpe se a pergunta é simples e, por favor, pergunte onde está a resposta!
Se não o quiser fazer, terá de ler correctamente as variáveis.
Стоплос и тейкпрофит в пункти.*Понт = 0.002-ето тейк,ну надо и к добавит.
PositionModify(Symbol(),NormalizeDouble(Bid - SL*_Point,4),TP*_Point);
PositionModify(Symbol(),NormalizeDouble((Bid - SL*_Point),4),NormalizeDouble((Bid + TP*_Point),4));
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.
Onde está escrita a modificação de posição?
Detalhes de Stop Loss and Take Profit escritos antes das condições de Compra e Venda
Há um erro no código:
Obrigado. Desapareceu.
E quanto ao posicionamento?
A questão é que, se eu colocar parênteses curvos em lugares, na compilação que gera - 'PositionModify' - a função só pode ser declarada no âmbito global
e desta vez acredito que, isto é, o próprio "modificador de posição" deve ser colocado antes do OnInit() e condições (se) após a secção de compra ?
Dá-me o código, não percebo o que queres dizer.
PS: Deve descrever a função PositionModify() a um nível global, ou seja, ao nível onde as funções se encontram: OnInit(), OnTick(), OnDeinit().
Corrigido. Compila sem erros. Não o testou no testador. O seu código não era legível. Habitue-se à disposição dos códigos como na minha versão corrigida.
Obrigado (embora não compreenda bem o que mudou para além do layout).
O que significa "SMB" na linha 2 e onde é definido pelos valores? não se pode escrever _Symbol ?
mrequest.action = TRADE_ACTION_SLTP; mrequest.symbol = smb; mrequest.magic = EA_Magic; mrequest.sl = SL; mrequest.tp = TP;Olá, pode dizer-me se as ordens nos sinais serão executadas se eu tiver o meu computador terminal desligado?
Boa tarde,
Pode aconselhar a melhor forma de implementar o seguinte: Lançamentos de peritos, quando iniciado, desenha (na área do gráfico? noutro lugar?), digamos, TextBox e Button. Se um utilizador entrar algum valor na TextBox e premir Button, o manipulador de carraças vê estes novos dados.
Por outras palavras - qual é a forma correcta (mais simples, melhor) de organizar o intercâmbio interactivo de dados dos utilizadores com o Expert Advisor através dos elementos do GUI do Windows? CChartObjectEdit e CChartObjectButton é, com licença, algum tipo de "pornografia".
Obrigado. Desculpe se a pergunta é simples e, por favor, pergunte onde está a resposta!
Fixe.
1. o código agora compila. Primeira mudança.
Pena que a compilação e a operabilidade não sejam a mesma coisa)
Porque é que no testador o código define as perdas e lucros mas não no gráfico?!
Estou a começar a assustar-me à medida que vou avançando))))
Porque é que no testador o código define as perdas e lucros mas não no gráfico?!
Estou a começar a ficar zangado))))).
Lester:Zdes colocou um modelo, no interior há uma modificação, e mostrou como polzuvatsya.
https://www.mql5.com/ru/forum/6343/page73
Se não o quiser fazer, terá de ler correctamente as variáveis.
Olá, pode dizer-me se as ordens de sinal serão executadas se eu tiver o meu computador terminal desligado?