Você é um programador?
Você está aprendendo a Programar?
Você está interessado em aprender a Programar suas idéias?
Se sua resposta for Não ao acima, por favor, tente Procurar na Base de Código o que você está procurando.
Eu preciso usar Trailing Stops e Trailing Profit.
Meu plano:
Para a Trailing Stop:
* Após atingir um certo limite de lucro, digamos 10 pips, o Stop Loss passará para 5 pips. Agora, se essa troca voltar para 5 pips, então 'Dois terços' da troca serão fechados.
*O 'Um terço' restante continuará funcionando e o 'Trailing Stop' não será aplicado a ele então.
Para o Trailing Profit:
*Se esse comércio movimentar mais 5 pips (ou seja, 10+5=15 pips), então 'Um terço' desse comércio será fechado e o restante 'Dois terços' continuará correndo.
*E então diga depois de 10 pips mais, (ou seja, 15+10=25 pips) 'Metade' do comércio restante será fechado e a 'Metade' restante continuará correndo sem qualquer limite de Take Profit.
Mas não tenho certeza se isso pode ser feito para um comércio 'Único'. É por isso que eu estava pensando um pouco diferente.
--->Três trocas diferentes serão abertas de 'Mesmo' lote na hora do 'Mesmo'.
--->Dois deles serão fechados se o preço voltar ao nível do Trailing Stop e o restante Um continuará correndo para a parte do Trailing Stop.
--->O primeiro comércio será fechado em 'TP-1', o segundo comércio será fechado em 'TP-2' e o último continuará correndo para a parte de Trailing Profit.
Mas como distinguir estas trocas? O 'Order Ticket' pode ser usado, mas não há garantia de que todas estas três negociações terão séries de Ticket consecutivas, pois haverá outras negociações de pares também.
Na verdade, é como se para um comércio o Stop Loss inicial não se movesse.Você é um programador?
Você está aprendendo a Programar?
Você está interessado em aprender a Programar suas idéias?
Se sua resposta for Não ao acima, por favor, tente Procurar na Base de Código o que você está procurando.
Eu procurei e depois postei isto.
Há posts sobre 'Trailing Stops' mas não consegui encontrar 'Exatamente' o que eu preciso. Pode ser que eu tenha perdido isso lá. Portanto, se você conhece o link, por favor, me dê.
Desculpe-me, mas também não consigo encontrar uma para você. Por favor, seja paciente, talvez alguém venha e o codifique para você.
Na verdade, eu não preciso do código completo. Só preciso saber qual 'lógica' pode ser implementada aqui com qual'função(ões)'?
Tenho alguma lógica em minha mente, mas preciso de uma maneira de 'distinguir' os ofícios por 1,2,3.
Na verdade, eu não preciso do código completo. Só preciso saber qual 'lógica' pode ser implementada aqui com qual 'função(ões)'?
Tenho alguma lógica em minha mente, mas preciso de uma maneira de 'distinguir' os ofícios por 1,2,3.
então tente fazer isso e mostre aqui suas tentativas quando não conseguir o que quer que tente....
implementada a maneira mais fácil de abrir 3 ofícios "a um novo sinal", então faça seu plano
Eu pensei em algo assim:
Haverá três ofícios.
for(cnt=3;cnt>0;cnt--) { if (cnt==1) { Disable Trailing Stop and Trailing Step } else { Enable Trailing Stop and Trailing Step } } //Trailing Profit: for(cnt=3;cnt>0;cnt--) { if (cnt==3) { Set take profit=TP1 } if (cnt==2) { Set take profit= TP2 } else { Disable Take Profit } }
Isto é apenas esquemático. Haverá Carne neste esqueleto se a "Lógica" funcionar.
Eu pensei em algo assim:
Haverá três ofícios.
Isto é apenas esquemático. Haverá Carne neste esqueleto se a "Lógica" funcionar.
não se recebe sinal para abrir vender ou comprar
agora você tem que fazer uma lógica para abrir 3 ofícios
com a mesma perda de carga
1 com takeprofit em seu primeiro nível
1 com takeprofit em seu segundo nível
1 sem nível de takeprofit
não se recebe sinal para abrir vender ou comprar
agora você tem que fazer uma lógica para abrir 3 negócios
com a mesma perda de carga
1 com takeprofit em seu primeiro nível
1 com takeprofit em seu segundo nível
1 sem nível de takeprofit
Então é para ser algo como isto?
double dTakeProfitPrice_1=10; double dTakeProfitPrice_2=20; double dTakeProfitPrice_3=0; if (Buy Condition Met) { if(iOpenOrders_Buy < iMaxOrders) { if(iOpenOrders_Buy ==0) // there is no 'Open' Buy orders { BuyOrder_1=OrderSend(Symbol(), iOrderType_Buy, LotSize,OpenPrice,Slippage,dStopLossPrice,dTakeProfitPrice_1, "Buy Order",MagicNumber, 0,Blue); BuyOrder_2=OrderSend(Symbol(), iOrderType_Buy, LotSize,OpenPrice,Slippage,dStopLossPrice,dTakeProfitPrice_2, "Buy Order",MagicNumber, 0,Blue); BuyOrder_3=OrderSend(Symbol(), iOrderType_Buy, LotSize,OpenPrice,Slippage,dStopLossPrice,dTakeProfitPrice_3, "Buy Order",MagicNumber, 0,Blue); }
E quanto ao Stop Loss?
Então é para ser algo assim?
E quanto ao Stop Loss?
stoploss você modifica para dois negócios quando o preço se moveu > 10 pips sobre o preço do pedido aberto
double dTakeProfitPrice_1=10; double dTakeProfitPrice_2=20; double dTakeProfitPrice_3=0; double BuyOrder_1,.......,.......; if (Buy Condition Met && iOpenOrders_Buy == 0)
{ iOpenOrders_Buy = 3; { if(iOpenOrders_Buy > 0) // we have to open new Buy orders { if(iOpenOrders_Buy == 3) { BuyOrder_1=OrderSend(Symbol(), iOrderType_Buy, LotSize,OpenPrice,Slippage,dStopLossPrice,dTakeProfitPrice_1, "Buy Order",MagicNumber, 0,Blue); if(BuyOrder_1 > 0)....... } if(iOpenOrders_Buy == 2) { BuyOrder_2=OrderSend(Symbol(), iOrderType_Buy, LotSize,OpenPrice,Slippage,dStopLossPrice,dTakeProfitPrice_2, "Buy Order",MagicNumber, 0,Blue); .... if(iOpenOrders_Buy == 1) { BuyOrder_3=OrderSend(Symbol(), iOrderType_Buy, LotSize,OpenPrice,Slippage,dStopLossPrice,dTakeProfitPrice_3, "Buy Order",MagicNumber, 0,Blue); .... }
stoploss você modifica para duas negociações quando o preço se moveu > 10 pips acima do preço de pedido aberto
Desculpe-me por ter ficado um pouco confuso.
if(iOpenOrders_Buy = 3)
Aqui se o pedido de Compra Total Aberta for igual a '3', então o código irá prosseguir para a próxima parte.
if(iOpenOrders_Buy > 0 )
Então, se a contagem do pedido de Compra Total Aberta for maior do que '0', então ele prosseguirá para o próximo.
if(iOpenOrders_Buy == 3)
Então, se a contagem da ordem de Compra Aberta for igual a 3, então abrirá BuyOrder_1, se for igual a '2', então abrirá BuyOrder_2 e então BuyOrder_3 é Contagem de ordem de Compra Aberta é igual a 1.
Eu estou certo?
![MQL5 - Linguagem para estratégias de negociação inseridas no terminal do cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Você concorda com a política do site e com os termos de uso
Eu preciso usar Trailing Stops e Trailing Profit.
Meu plano:
Para a Trailing Stop:
* Após atingir um certo limite de lucro, digamos 10 pips, o Stop Loss passará para 5 pips. Agora, se esse comércio voltar para 5 pips, então 'Dois terços' do comércio serão fechados.
*O 'Um terço' restante continuará funcionando e o 'Trailing Stop' não será aplicado a ele então.
Para o Trailing Profit:
*Se esse comércio movimentar mais 5 pips (ou seja, 10+5=15 pips), então 'Um terço' desse comércio será fechado e o restante 'Dois terços' continuará correndo.
*E então diga depois de 10 pips mais, (ou seja, 15+10=25 pips) 'Metade' do comércio restante será fechado e a 'Metade' restante continuará correndo sem qualquer limite de Take Profit.
Mas não tenho certeza se isso pode ser feito para um comércio 'Único'. É por isso que eu estava pensando um pouco diferente.
--->Três trocas diferentes serão abertas de 'Mesmo' lote na hora do 'Mesmo'.
--->Dois deles serão fechados se o preço voltar ao nível do Trailing Stop e o restante Um continuará correndo para a parte do Trailing Stop.
--->O primeiro comércio será fechado em 'TP-1', o segundo comércio será fechado em 'TP-2' e o último continuará correndo para a parte de Trailing Profit.
Mas como distinguir estas trocas? O 'Order Ticket' pode ser usado, mas não há garantia de que todas estas três negociações terão séries de Ticket consecutivas, pois também haverá outras negociações de pares.
Na verdade, é como se para um comércio o Stop Loss inicial não se movesse.