[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 233

 
Obrigado. Vou investigar isso.
 

Olá Prezado MT4 Gurus.

Você pode me dizer como contornar a situação quando a OrderSend retorna -1, mas a ordem abre?

 
ftrw:

Você pode me dizer como contornar a situação em que a OrderSend retorna -1, mas a ordem abre?

Tente usar esta função - função OpenPosition() para on-line.
 
artmedia70:
Para uma posição aberta em 1500, um take em 1570 estaria bem (se você não considerar StopLoss), mas para uma posição aberta em 1600, um take em 1570 causaria erro 130 - paradas erradas. Afinal de contas, um Take não pode ser inferior ao preço de abertura de uma compra. Isto já é um StopLoss.
Para duas posições, você definiu seu ponto de equilíbrio, mas para três-quatro-cinco?
Primeiro você deve definir a fórmula de breakeven para posições unidirecionais, e depois você pode criar uma lógica.

Concordo que devemos fazer um StopTLoss em um pedido com um preço de 1600

na abertura da ordem, a função começa:

ticketBuy = OpenPendingOrderBuy(0, iLots, Ask, slip, Bid, 0, 0, EAName + "-" + NumOfTradesBuy, MagicNumber, 0, Lime)
todos os outros pedidos terão a mesma abertura
 
Vinin:

Quando ajustamos ou mudamos o TakeProfit, tudo depende de quando o ajustamos ou mudamos. É calculado a partir do preço atual.

contar entre pedidos: ((Perguntar - OrderBuy2) - swop - ...) + ((Perguntar - OrderBuy1) - swop - ...) = Lucro, obtemos o número de pontos que podemos perder, já que eles estão no lado positivo

((Perguntar - OrderBuy3) -/+ swop -/+ ...) + ((Perguntar - OrderBuy2) - swop - ...) + ((Perguntar - OrderBuy1) - swop - ...) = Lucro

Ask = 1620; Ask = 1760; OrderBuy3 = 1700

((1620 - 1500) - 4 - 6) + ((1620 - 1600) - 4 - 6) = 120; para 3 e mais acrescentamos ((1760 - 1700) - 4 - 6) + ((1760 - 1500) - 4 - 6) + ((1760 - 1600) - 4 - 6) = 450

LotOrderBuy1 = 0,01; LotsS = 0,01

LotOrderBuy2 = 0,02; LotsS = 0,03

LotOrderBuy3 = 0,03; LotsS = 0,06

Total de lotesS = LotOrderBuy1 + LotOrderBuy2 = 0,03; para 3 ou mais adicionamos

E aqui precisamos entender quantos lotes precisamos passar, o que comeria 120 pontos ou a soma do lucro em dinheiro.

Para obter StopProfit

Ask - StopProfit * Point = LineTakeProfit para OrderBuy1 e LineStopLoss para OrderBuy2

LotesS = 0,06

É assim que eu vejo as coisas.

 
Roman.:
Tente usar esta função - função OpenPosition() para on-line.

Muito obrigado. A idéia é clara, vou experimentá-la.
 
trol222:

Qualquer pessoa pode esclarecer este ponto. Aqui está o link https://www.mql5.com/ru/code/8102. O roteiro (Expert Advisor em anexo) . Por que quando você calcula qualquer coisa no mesmo arquivo excel (CSV) quando você o fecha (claro que escreve onde salvar - eu clico no mesmo arquivo (ao invés dele)) e quando você reabre o terminal e o arquivo todos os cálculos desaparecem????

Bem, primeiro é CSV, não é o melhor formato para salvar cálculos e, em segundo lugar, o script sobrescreve este arquivo.
 
PapaYozh:



Está funcionando!!!! =))))) realmente não é como deveria ser, mas estou muito satisfeito =))) minha mais profunda gratidão =))))
 
belck:

contar entre pedidos: ((Perguntar - OrderBuy2) - swop - ...) + ((Perguntar - OrderBuy1) - swop - ...) = Lucro, obtemos o número de pontos que podemos perder, já que eles estão no lado positivo

((Perguntar - OrderBuy3) -/+ swop -/+ ...) + ((Perguntar - OrderBuy2) - swop - ...) + ((Perguntar - OrderBuy1) - swop - ...) = Lucro

Ask = 1620; Ask = 1760; OrderBuy3 = 1700

((1620 - 1500) - 4 - 6) + ((1620 - 1600) - 4 - 6) = 120; para 3 ou mais adicionamos ((1760 - 1700) - 4 - 6) + ((1760 - 1500) - 4 - 6) + ((1760 - 1600) - 4 - 6) = 450

LotOrderBuy1 = 0,01; LotsS = 0,01

LotOrderBuy2 = 0,02; LotsS = 0,03

LotOrderBuy3 = 0,03; LotsS = 0,06

Total de lotesS = LotOrderBuy1 + LotOrderBuy2 = 0,03; para 3 ou mais adicionamos

E aqui precisamos entender quantos lotes precisamos passar, o que comeria 120 pontos ou a soma do lucro em dinheiro.

Para obter StopProfit

Ask - StopProfit * Point = LineTakeProfit para OrderBuy1 e LineStopLoss para OrderBuy2

LotesS = 0,06

É assim que eu vejo as coisas

Já vi a resposta à sua pergunta uma vez. Vou até encontrá-lo agora. Aqui:


Como calcular quantos pontos (em pontos) o preço pode descer em condições de mercado negativas?


fórmula do link: Lot=Money/(Stoplos*Tick)
Dinheiro - ganho/perda
Stoplos - em pontos de corretagem
Tick - MarketInfo(Symbol(), MODE_TICKVALUE)
Daqui, gire como quiser:
Stoplos=Money / (Lot*Tick)
Dinheiro=Lot*Stoplos*Tick

Se você tiver algum código, você pode usar este também:

Cálculo do nível CUE para um conjunto de um instrumento:

lotes totais = posição total (SP)

valor do tick = ST

SP lucro = ST

A fórmula de cálculo é bastante simples:

KP = PSP / (ST * SP)

No qual descobrimos o número de pips(KP) ao nível CU em relação ao preço atual(TP) do símbolo.

E ao substituir KP na fórmula CU = TC - KP * Ponto, obtemos o nível de preço CU.

Dependendo da direção da JV, você escolhe se deseja adicionar ou subtrair do TC.
 

O terminal não vê a história



240
vitali_yv 04.10.2011 09:47
Bom dia. Eu tenho dois computadores com Win 7. Em um deles eu tenho o terminal com citações de 2007, tudo está funcionando bem, mas não tenho conexão com o servidor. Eu portei este terminal para outro computador completamente - não me conectei ao servidor, não fiz nenhuma manipulação - o que é mais, este terminal é iniciado com 2-3 minutos, e a história começa com 2011, os arquivos HST são apenas lidos. Por favor, informe onde cavar.