Construí meu primeiro Expert Advisor a partir dos códigos gentilmente fornecidos (especial agradecimento àMakarFX_ pela motivação e código)
Tudo funciona como deveria, mas com um problema. Não sei onde procurá-lo.
O algoritmo é o seguinte:
há um sinal - a ordem abre
fechá-lo usando a parada ou tomar a ordem em pontos, ou após os limites de lucro e perda terem sido atingidos na moeda DepoLoss e CountProfit. (o que vier primeiro)
se uma parada - a próxima ordem com uma margem, se um take, CountProfit, CountLoss - o lote é reajustado para a ordem inicial
se o Stop Loss estiver definido para CountLoss , a próxima ordem é aberta com o lote mínimo, por exemplo, ao invés do lote inicial:
em variáveis externas o lote inicial 0,02 é definido, a próxima ordem no CountLoss será o lote 0,01.
Construí meu primeiro Expert Advisor a partir dos códigos gentilmente fornecidos (especial agradecimento àMakarFX_ pela motivação e código)
Tudo funciona como deveria, mas com um problema. Não sei onde procurá-lo.
O algoritmo é o seguinte:
há um sinal - a ordem abre
fechá-lo usando o stop ou tomar a ordem em pontos, ou após a realização dos limites de lucro e perda na moeda de depoimento CountLoss e CountProfit. (o que vier primeiro)
se uma parada - a próxima ordem com uma margem, se um take, CountProfit, CountLoss - o lote é reajustado para a ordem inicial
se o Stop Loss estiver definido para CountLoss , a próxima ordem é aberta com o lote mínimo, por exemplo, ao invés do lote inicial:
em variáveis externas o lote inicial 0,02 é definido, então no CountLoss a próxima ordem será o lote 0,01.
Vai imprimir uma vez quando houver um comércio com prejuízo
Obrigado pela reflexão. Comparei o horário de fechamento do pedido atual com o horário de fechamento do pedido anterior e tudo correu como deveria. Também fiz a função de abrir uma ordem na direção oposta com um stop loss, embora isso não tenha ajudado muito.
Petronet: Obrigado, eu tive a idéia. Comparei a hora de fechamento da ordem atual com a hora de fechamento da ordem anterior e tudo correu como deveria. Também fiz a função de abrir uma ordem na direção oposta com um stop loss, embora isso não tenha ajudado muito.
Boa tarde a todos. Tentando implementar o lucro e parar o cálculo usando o indicador atr. A parada funciona bem. Mas o lucro é sempre definido com o mesmo valor. Aqui está o código para o cálculo do lucro
if(Tip_tp == en_TP_po_atr)// ЕСЛИ ПРОФИТ ПО АТР//-------------------------------------------------------------------------------------------------+
{
tp =NormalizeDouble(iATR(NULL,PeriodForWork_sl,atr_sl_period,1),Digits);// ПРИСВАЕВАЕМ ЗНАЧЕНИЙ АТР ДЛЯ ВЫСТАВЛЕНИЯ СТОПЛОССАif(tp<stoplevel) // ЕСЛИ ПРОФИТ МЕНЬШЕ ЧЕМ МИНИМАЛЬНО ДОПУСТИМЫЙ УРОВЕНЬ ЕГО УСТАНОВКИ ТО
{
tp=NormalizeDouble(tp*1.5,Digits); // ПРОФИТУ ПРИСВАЕВАЕМ МИНИМАЛЬНО ДОПУСТИМУЮ ВЕЛИЧИНУ ЕГО УСТАНОВКИ
}
}
tp= NormalizeDouble(tp*Point, Digits());// НОРМАЛИЗУЕМ ПРОФИТ, ЧТОБЫ РАБОТАЛО НА ЛЮБЫХ КАТИРОВКАХ//+--КОНЕЦ РАСЧЁТА ПРОФИТА---------------------------------------------------------------------- Разделитель ---+
Qual é o erro que o lucro tem sempre o mesmo valor? O que é isso?
Boa tarde a todos. Tentando implementar o lucro e parar o cálculo usando o indicador atr. A parada funciona bem. Mas o lucro é sempre definido com o mesmo valor. Aqui está o código para o cálculo do lucro
Qual é o erro que o lucro tem sempre o mesmo valor? O que é isso?
// ЕСЛИ ПРОФИТ ПО АТР//-------------------------------------------------------------------------------------------------+if(Tip_tp == en_TP_po_atr)
{
tp =NormalizeDouble(iATR(NULL,PeriodForWork_sl,atr_sl_period,1),Digits);// ПРИСВАЕВАЕМ ЗНАЧЕНИЙ АТР ДЛЯ ВЫСТАВЛЕНИЯ СТОПЛОССАif(tp<stoplevel) // ЕСЛИ ПРОФИТ МЕНЬШЕ ЧЕМ МИНИМАЛЬНО ДОПУСТИМЫЙ УРОВЕНЬ ЕГО УСТАНОВКИ ТО
{
tp=NormalizeDouble(tp*1.5,Digits); // ПРОФИТУ ПРИСВАЕВАЕМ МИНИМАЛЬНО ДОПУСТИМУЮ ВЕЛИЧИНУ ЕГО УСТАНОВКИ
}
}
//+--КОНЕЦ РАСЧЁТА ПРОФИТА---------------------------------------------------------------------- Разделитель ---+
Obrigado por sua ajuda - mudei um pedaço de código e tudo funcionou. Mas você pode descrever em palavras qual foi o erro, pois não posso me antecipar a ele de olho?
DanilaMactep: Obrigado por sua ajuda - mudei um pedaço de código - tudo funcionou. Mas você pode descrever em palavras qual foi o erro, pois não posso me antecipar a ele de olho?
seu código foi dividido
В этой части кода ты задаешь tp значение АТРif(Tip_tp == en_TP_po_atr)// ЕСЛИ ПРОФИТ ПО АТР//-------------------------------------------------------------------------------------------------+
{
tp =NormalizeDouble(iATR(NULL,PeriodForWork_sl,atr_sl_period,1),Digits);// ПРИСВАЕВАЕМ ЗНАЧЕНИЙ АТР ДЛЯ ВЫСТАВЛЕНИЯ СТОПЛОССАif(tp<stoplevel) // ЕСЛИ ПРОФИТ МЕНЬШЕ ЧЕМ МИНИМАЛЬНО ДОПУСТИМЫЙ УРОВЕНЬ ЕГО УСТАНОВКИ ТО
{
tp=NormalizeDouble(tp*1.5,Digits); // ПРОФИТУ ПРИСВАЕВАЕМ МИНИМАЛЬНО ДОПУСТИМУЮ ВЕЛИЧИНУ ЕГО УСТАНОВКИ
}
}
А в этой части ты обнуляешь предыдущее действие и задаешь непонятно что...
tp= NormalizeDouble(tp*Point, Digits());// НОРМАЛИЗУЕМ ПРОФИТ, ЧТОБЫ РАБОТАЛО НА ЛЮБЫХ КАТИРОВКАХ
Boa tarde! Por favor, ajude-me a colocar meu terminal em funcionamento - o mercado não está funcionando. Eu quero baixar um indicador gratuito do mercado e não posso.
Eu mudei a senha, reinicializei, mas nada funciona.
O programa registra o seguinte
2021.08.23 11:54:18.236 MQL5 Mercado falhou no download do produto 'MACD Intraday Trend'(www.mql5.com:443 send failed [426: ])
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.
Construí meu primeiro Expert Advisor a partir dos códigos gentilmente fornecidos (especial agradecimento àMakarFX_ pela motivação e código)
Tudo funciona como deveria, mas com um problema. Não sei onde procurá-lo.
O algoritmo é o seguinte:
há um sinal - a ordem abre
fechá-lo usando a parada ou tomar a ordem em pontos, ou após os limites de lucro e perda terem sido atingidos na moeda DepoLoss e CountProfit. (o que vier primeiro)
se uma parada - a próxima ordem com uma margem, se um take, CountProfit, CountLoss - o lote é reajustado para a ordem inicial
se o Stop Loss estiver definido para CountLoss , a próxima ordem é aberta com o lote mínimo, por exemplo, ao invés do lote inicial:
em variáveis externas o lote inicial 0,02 é definido, a próxima ordem no CountLoss será o lote 0,01.
Alguém pode me dizer onde está o erro?
Construí meu primeiro Expert Advisor a partir dos códigos gentilmente fornecidos (especial agradecimento àMakarFX_ pela motivação e código)
Tudo funciona como deveria, mas com um problema. Não sei onde procurá-lo.
O algoritmo é o seguinte:
há um sinal - a ordem abre
fechá-lo usando o stop ou tomar a ordem em pontos, ou após a realização dos limites de lucro e perda na moeda de depoimento CountLoss e CountProfit. (o que vier primeiro)
se uma parada - a próxima ordem com uma margem, se um take, CountProfit, CountLoss - o lote é reajustado para a ordem inicial
se o Stop Loss estiver definido para CountLoss , a próxima ordem é aberta com o lote mínimo, por exemplo, ao invés do lote inicial:
em variáveis externas o lote inicial 0,02 é definido, então no CountLoss a próxima ordem será o lote 0,01.
Alguém pode me dizer onde está o erro?
Olha o que eu mudei na função duplo Lots()
Vai imprimir uma vez quando houver um comércio com prejuízo
Obrigado, eu tive a idéia. Comparei a hora de fechamento da ordem atual com a hora de fechamento da ordem anterior e tudo correu como deveria. Também fiz a função de abrir uma ordem na direção oposta com um stop loss, embora isso não tenha ajudado muito.
Mais especificamente...
Boa tarde a todos. Tentando implementar o lucro e parar o cálculo usando o indicador atr. A parada funciona bem. Mas o lucro é sempre definido com o mesmo valor. Aqui está o código para o cálculo do lucro
Qual é o erro que o lucro tem sempre o mesmo valor? O que é isso?
Boa tarde a todos. Tentando implementar o lucro e parar o cálculo usando o indicador atr. A parada funciona bem. Mas o lucro é sempre definido com o mesmo valor. Aqui está o código para o cálculo do lucro
Qual é o erro que o lucro tem sempre o mesmo valor? O que é isso?
Veja o que eu mudei na função double Lots()
super! muito obrigado!
Obrigado por sua ajuda - mudei um pedaço de código - tudo funcionou. Mas você pode descrever em palavras qual foi o erro, pois não posso me antecipar a ele de olho?
seu código foi dividido
Eu mudei a senha, reinicializei, mas nada funciona.
O programa registra o seguinte
2021.08.23 11:54:18.236 MQL5 Mercado falhou no download do produto 'MACD Intraday Trend'(www.mql5.com:443 send failed [426: ])
Cumprimentos, Olga