[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 508
Número de elementos das séries temporais (na direção da barra atual para o índice ascendente), entre os quais a busca deve ser realizada.
início
-
O índice (offset a partir da barra atual) da barra inicial a partir da qual se iniciará a busca do valor mais alto. Os valores negativos são ignorados e substituídos por um valor zero.
Exemplo:
Muito obrigado. Acho que não haverá mais perguntas.
O que pode não ser claro para uma pessoa - eu não sei. Também não sei o que causou a agressão e a grosseria (eles poderiam simplesmente ignorá-la), se outros teriam respondido ou se ele mesmo teria se recuperado - é tudo a mesma coisa para você?
Você não deve pensar em Alexei dessa maneira. Ele é uma das pessoas mais benevolentes aqui. Ele não quis ofendê-lo. Todos são enviados a um telepata se não entenderem o problema. É uma piada local com sentido.
Aqui estão eles (há muito mais erros em seu código, mas estes nem sequer passam pelo compilador): Além disso, mesmo que você mude o código para algo mais são do ponto de vista do compilador
ainda estará teoricamente errado sem antes normalizar os valores reais antes da comparação. Além disso, a normalização pode falhar se o preço mudar em mais de uma tubulação de uma só vez e sua condição não for atingida.
A maneira correta de pesquisar a condição de travessia é
P.S. É bastante fácil encontrar o lugar com o erro após a compilação no MetaTrader:
1. Na aba "Toolbox", na coluna "File", especifique o número da linha e o número do símbolo, no qual o compilador detectou um erro, separado por vírgulas.
2. Se você clicar duas vezes na mensagem de erro no campo "Descrição" da mesma aba, o cursor do editor saltará para o local onde o compilador detectou este mesmo erro.
Boa tarde! Respeito a todos os membros do fórum! Se você puder, por favor, avise - quando você desliga os dados da plataforma da revista é necessariamente apagado, certo? E como você escreve impressões ou quaisquer outros dados de saída do Expert Advisor, para que quando você desliga o computador, eles sejam salvos em um bloco de notas, ou em outro lugar? Não é muito complicado e é possível?
dkfl.zrjdktdbx: Boa tarde! Respeito a todos os membros do fórum! Se você puder, por favor, avise - quando você desliga os dados da plataforma da revista é necessariamente apagado, certo? E como você escreve impressões ou quaisquer outros dados de saída do Expert Advisor, para que quando você desliga o computador, eles sejam salvos em um bloco de notas, ou em outro lugar? Não é muito complicado e é possível?
Bem, se você olhar os logs na pasta do programa, você encontrará muitas coisas interessantes lá.
sss2019: Diga-me como calcular uma possível perda na moeda do depósito com o preço de abertura do pedido e o preço de stop loss.
//--------------------------------------------------------------------// Функция модификации StopLoss всех ордеров указанного типа// Глобальные переменные:// Mas_Ord_New Массив ордеров последний известный// int TralingStop Значение TralingStop(количество пунктов)//--------------------------------------------------------------------void SampleTrailing_texbook ( int Tip, double V_StopLossPips, double V_TakeProfitPips)
{
int Ticket; // Номер ордераdouble
Price, // Цена открытия рыночного ордера
TS, // TralingStop (относит.знач.цены)
SL, // Значение StopLoss ордера
TP; // Значение TakeProfit ордераdouble difference; //разность в пунктах double Profit;
bool Modify; // Признак необходимости модифи.//----------------------------------------------------------------------
PointValue=MarketInfo(Symbol(),MODE_TICKVALUE)*(MarketInfo(Symbol(),MODE_POINT)/MarketInfo(Symbol(),MODE_TICKSIZE));
Print("PointValue = ",PointValue, " Point = ", DoubleToStr(Point, Digits) );
Level_new=MarketInfo(Symbol(),MODE_STOPLEVEL ); // мин уровень трала
Modify=false; // Пока не назначен к модифи
Price = OrderOpenPrice(); // Цена открытия ордера
SL = V_StopLossPips; // Значение StopLoss ордера
TP = V_TakeProfitPips; // Значение TakeProft ордера
Ticket= OrderTicket(); // Номер ордераif (TralingStop<Level_new) // Если меньше допустимого..
TralingStop=Level_new; // .. то допустимый
TS=TralingStop*Point; // То же в относит.знач.цены//-----------------------------------------------------------------switch(Tip) // Переход на тип ордера
{
case0 : // Ордер Buy
difference = NormalizeDouble (Bid-TS - OrderOpenPrice(), Digits)/Point;
Profit = Lots_New * difference*PointValue; // Профит по УРОВНЮ ТРАЛА рыночного ордера на данном объеме (не путать c OrderProfit)if (trlinloss==false){ // тралим только профитif (Profit>MathAbs (Sum_Loss)) // если профит по уровню трала больше суммарного убытка предыдущих поз if (NormalizeDouble(SL,Digits)<// Если ниже желаемого..
NormalizeDouble(Bid-TS,Digits) && NormalizeDouble(Price,Digits)< NormalizeDouble(Bid-TS,Digits))
{ // ..то модифицируем его:
SL=Bid-TS; // Новый его StopLoss
Modify=true; // Назначен к модифи.
}
}
else { // тралим с зоны лоссовif (NormalizeDouble(SL,Digits)<// Если ниже желаемого..
NormalizeDouble(Bid-TS,Digits))
{ // ..то модифицируем его:
SL=Bid-TS; // Новый его StopLoss
Modify=true; // Назначен к модифи.
}
}
break; // Выход из switchcase1 : // Ордер Sell
difference = NormalizeDouble (OrderOpenPrice()-(Ask+TS),Digits)/Point;
Profit = Lots_New * difference*PointValue; // Профит по УРОВНЮ ТРАЛА рыночного ордера на данном объеме (не путать c OrderProfit) if (trlinloss==false) { // тралим с уровня профита по ордеруif (Profit>MathAbs (Sum_Loss)) // если профит по уровню трала больше суммарного убытка предыдущих поз if ((NormalizeDouble(SL,Digits)> // Если выше желаемого..
NormalizeDouble(Ask+TS,Digits)||
NormalizeDouble(SL,Digits)==0) && NormalizeDouble(Price,Digits)>NormalizeDouble(Ask+TS,Digits)) //.. или нулевой(!)
{ // ..то модифицируем его
SL=Ask+TS; // Новый его StopLoss
Modify=true; // Назначен к модифи.
}
}
else { // тралим с зоны лоссовif (NormalizeDouble(SL,Digits)>// Если выше желаемого..
NormalizeDouble(Ask+TS,Digits)||
NormalizeDouble(SL,Digits)==0)//.. или нулевой(!)
{ // ..то модифицируем его
SL=Ask+TS; // Новый его StopLoss
Modify=true; // Назначен к модифи.
}
}
} // Конец switchif (Modify==false) // Если его не надо модифи..return; // ..то идём по циклу дальшеbool Ans=OrderModify(Ticket,Price,SL,TP,0);//Модифицируем его!//----------------------------------------------------------------------if (Ans==false) // Не получилось :(
{ // Поинтересуемся ошибками:
Print("Не удалось модифицировать ордер №",OrderTicket(),". Ошибка: ",GetLastError());
return; // .. то уходим.
}
} // Выход из пользов. функции
O fi- fion deste comerciante do livro didático foi retrabalhado por mim para minhas próprias necessidades. Aqui, o cálculo do lucro sobre um determinado volume de lotes, no nível da rede de arrasto e o valor do lucro acima da perda total das posições de perda anteriores fechadas consecutivas - a rede de arrasto está habilitada - você terá tudo semelhante, apenas para aplicar não um lucro, como aqui, mas uma perda - como você precisa.
Preste atenção ao cálculo das variáveis de Compra e Venda:
double difference; //разность в пунктах double Profit;
PointValue=MarketInfo(Symbol(),MODE_TICKVALUE)*(MarketInfo(Symbol(),MODE_POINT)/MarketInfo(Symbol(),MODE_TICKSIZE));
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.
int iHighest( string symbol, int timeframe, int type, int count=WHOLE_ARRAY, int start=0)
Retorna o índice do valor mais alto encontrado (offset em relação à barra atual).O que pode não ser claro para uma pessoa - eu não sei. Também não sei o que causou a agressão e a grosseria (eles poderiam simplesmente ignorá-la), se outros teriam respondido ou se ele mesmo teria se recuperado - é tudo a mesma coisa para você?
Aqui estão eles (há muito mais erros em seu código, mas estes nem sequer passam pelo compilador): Além disso, mesmo que você mude o código para algo mais são do ponto de vista do compilador
ainda estará teoricamente errado sem antes normalizar os valores reais antes da comparação. Além disso, a normalização pode falhar se o preço mudar em mais de uma tubulação de uma só vez e sua condição não for atingida.
A maneira correta de pesquisar a condição de travessia é
P.S. É bastante fácil encontrar o lugar com o erro após a compilação no MetaTrader:
1. Na aba "Toolbox", na coluna "File", especifique o número da linha e o número do símbolo, no qual o compilador detectou um erro, separado por vírgulas.
2. Se você clicar duas vezes na mensagem de erro no campo "Descrição" da mesma aba, o cursor do editor saltará para o local onde o compilador detectou este mesmo erro.
Obrigado pelas dicas.
Boa tarde! Respeito a todos os membros do fórum! Se você puder, por favor, avise - quando você desliga os dados da plataforma da revista é necessariamente apagado, certo? E como você escreve impressões ou quaisquer outros dados de saída do Expert Advisor, para que quando você desliga o computador, eles sejam salvos em um bloco de notas, ou em outro lugar? Não é muito complicado e é possível?
Diga-me como calcular uma possível perda na moeda do depósito com o preço de abertura do pedido e o preço de stop loss.
O fi- fion deste comerciante do livro didático foi retrabalhado por mim para minhas próprias necessidades. Aqui, o cálculo do lucro sobre um determinado volume de lotes, no nível da rede de arrasto e o valor do lucro acima da perda total das posições de perda anteriores fechadas consecutivas - a rede de arrasto está habilitada - você terá tudo semelhante, apenas para aplicar não um lucro, como aqui, mas uma perda - como você precisa.
Preste atenção ao cálculo das variáveis de Compra e Venda:
Faça tudo da mesma maneira e pronto.Então eu ainda não entendo como descobrir o valor do ponto na moeda do depósito?
veja este cálculo - faça ANÁLOGO. Tudo.