Agora eu entendo, só tenho que entender que valor devo atribuir para comprar e vender preços.
OrderSend(Symbol(),OP_BUY,lot,Ask,slippages,Bid-sl,Bid+tp ,"ДИВЕРГЕНЦИЯ НА БАЙ АО"); // ОТКРЫВАЕМ БАЙ ОРДЕРOrderSend(Symbol(),OP_SELL,lot,Bid,slippages,Ask+sl,Ask-tp ,"ДИВЕРГЕНЦИЯ НА СЕЛ АО"); // ОТКРКЫВВАЕМ СЕЛ ОРДЕР
Em outras palavras, atribuo Ask ao preço aberto de compra, f ao preço aberto de venda que atribuo Bid?
Dividir o valor absoluto da diferença entre o preço aberto e o preço de parada pela etapa de preço.
e este valor de sl irá para a fórmula.
Considerando que você coloca uma parada calculada pelo indicador ATR, é suficiente para
E esse seria o tamanho de lote normalizado.
Eu o fiz por código, como você aconselhou. No início do código, tenho a condição de escolher o tipo de parada - atp ou fixa.
if(tip_sl==en_po_atr)
{ //ЕСЛИ ТИП СТОП ЛОССА СТОИТ ПО АТР ТО ВЫСЧИТЫВАЕМ ЕГО ИЗ АТР//Print("СТОП ПО АТР, ЕГО РАЗМЕР ");
sl= iATR( NULL,PeriodForWork_sl,atr_sl_period,1);// ПОЛУЧЕНИЕ ЗНАЧЕНИЙ АТР ДЛЯ ВЫСТАВЛЕНИЯ СТОПЛОССАPrint("СТОП ПО АТР, ЕГО РАЗМЕР "+sl);
}
else//ИНАЧЕ- ТО ЕСТЬ ЕСЛИ СТОП ЛОСС ФИКСИРОВАННЫЙ В ПУНКТАХ
{
Print("СТОП ЛОС ФИКСИРОВАННЫЙ В ПУНКТАХ");
sl= razmer_fikc_sl*Point; // ПЕЕРМЕННОЙ СТОП ЛОССА ПРИСВАЕВАЕМ ФИКСИРОВАНОНЕ ЗНАЧЕНИЕ ПУНКТОВ И ДОМНОЖАЕМ НА ПОИНТ
}
Então eu comentei minha normalização e a atribuí desta forma
sl = fabs(OrderOpenPrice()-OrderStopLoss())/_Point;// ПРИСВОИЛ ЗНАЧЕНИЕ КАК СОВЕТОВАЛИ//sl= NormalizeDouble(sl,Digits());// НОРМАЛИЗАЦИЯ ЗНАЧЕНИЯ СТОП ЛОССА ДЛЯ ОТКРЫТИЯ СДЕЛКИ ТО ЧТО БЫЛО ЗАКОМЕНТИРОВАЛ
O cálculo do lucro é o próximo no código. Sem problemas e depois de calcular o lucro adicionei a fórmula assustadora que fui aconselhado a usar.
double lot =MathFloor((Free*MaxRisk/100)/(sl/Point*LotVal)/Step)*Step; //СТРАШНАЯ ФОРМУЛА РАСЧЁТА ОБЪЁМА ЛОТА КОТОРУЮ МНЕ СОВЕТОВАЛИ
Tudo foi compilado sem erros. Mas quando eu executei o teste o erro aparece no registro, é dividido por zero até onde eu entendo e o teste é interrompido. Onde eu fiz asneira aqui ou o que não fiz direito?
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.
Desculpe, fui apanhado na conversa aqui, não notei...
Um tema comum e seus códigos são sempre interessantes...
tomou muito para mim)
A tarefa técnica é melhor compreendida em ucraniano
Eu ainda não estou nesse nível, minha língua materna é o russo :)
...mas eu entendo isso em um nível casualEu ainda não tenho esse nível, meu primeiro idioma é o russo :)
Eu sou da URSS...eu tenho duas línguas maternas)
Eu sou da URSS... Tenho duas línguas maternas)
e nós temos três, ainda surzhik.
Não sou muito bom em matemática - como posso calcular a distância do pedido aberto para parar no código, para que eu possa substituir sl por este?
Anormalizou o valor do lote desta formaEntão, resta entender como calcular a distância desde o preço aberto até a parada no código?
O valor absoluto da diferença entre o preço aberto e o preço de parada deve ser dividido pela etapa de preço.
E este valor vai para a fórmula.
Considerando que você coloca uma parada calculada pelo indicador ATR, é suficiente para
E este já será o tamanho de lote normalizado.preço de abertura da compra
comprar stop loss
divulgação
Agora eu entendo, só tenho que entender que valor devo atribuir para comprar e vender preços.
Em outras palavras, atribuo Ask ao preço aberto de compra, f ao preço aberto de venda que atribuo Bid?
No código, eu abro uma ordem da seguinte maneira.
Você quer dizer que eu atribuo Ask ao preço aberto de compra e Bid à variável de preço aberto de venda?
A julgar por esta função, você já sabe o fim da perda... Não entendo qual é a questão
Dividir o valor absoluto da diferença entre o preço aberto e o preço de parada pela etapa de preço.
e este valor de sl irá para a fórmula.
Considerando que você coloca uma parada calculada pelo indicador ATR, é suficiente para
E esse seria o tamanho de lote normalizado.Eu o fiz por código, como você aconselhou. No início do código, tenho a condição de escolher o tipo de parada - atp ou fixa.
Então eu comentei minha normalização e a atribuí desta forma
O cálculo do lucro é o próximo no código. Sem problemas e depois de calcular o lucro adicionei a fórmula assustadora que fui aconselhado a usar.
Tudo foi compilado sem erros. Mas quando eu executei o teste o erro aparece no registro, é dividido por zero até onde eu entendo e o teste é interrompido. Onde eu fiz asneira aqui ou o que não fiz direito?