Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 6. - página 802
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
ChartFirst
Retorna o identificador do primeiro gráfico do terminal do cliente.
Eu entendo que este é o gráfico mais à esquerda.
Infelizmente não é, é fácil verificá-lo:
1. Abra 2-3 pares de moedas no terminal.
2. Execute o código para verificá-lo:
Eu suspeito vagamente que não. Escreverei de volta amanhã, estou de saída para trabalhar agora.
Quem sabe, é possível modificar o TakeProfit de uma ordem aberta para a zona menos, se o comércio estiver na zona menos?
Enquanto esperava por uma resposta, procurei e encontrei algo e fiz isto. Será que ele aparecerá corretamente? É domingo e não quero esperar até a meia-noite para descobrir se o escrevi corretamente.
symbol = Symbol();
double bid =MarketInfo(symbol,MODE_BID); // Запрос значения Bid
double ask =MarketInfo(symbol,MODE_ASK); // Запрос значения Ask
double point =MarketInfo(symbol,MODE_POINT);//Запрос Point
double value =MarketInfo(OrderSymbol(), MODE_TICKVALUE);// Размер минимального изменения цены инструмента в валюте депозита
double stoplevel = MarketInfo(symbol,MODE_STOPLEVEL);
double digits = MarketInfo(symbol,MODE_DIGITS);
if( bid<= stoploss1||step1 == 0)
{
step1++;
stoplevel= NormalizeDouble(stoplevel*point,digits);
stoploss1 = ask-stoplevel;
takeprofit1 = ask+stoplevel;
double profit =0.5;
double takeprofit2= profit * point * value * lot1 + bid;
takeprofit2 = NormalizeDouble(takeprofit2,digits);
if (takeprofit2 > takeprofit1)
takeprofit1 = takeprofit2;
Enquanto esperava por uma resposta, procurei e encontrei algo e fiz isto. Será que ele aparecerá corretamente? É domingo e não quero esperar até a meia-noite para descobrir se o escrevi corretamente.
symbol = Symbol();
double bid =MarketInfo(symbol,MODE_BID); // Запрос значения Bid
double ask =MarketInfo(symbol,MODE_ASK); // Запрос значения Ask
double point =MarketInfo(symbol,MODE_POINT);//Запрос Point
double value =MarketInfo(OrderSymbol(), MODE_TICKVALUE);// Размер минимального изменения цены инструмента в валюте депозита
double stoplevel = MarketInfo(symbol,MODE_STOPLEVEL);
double digits = MarketInfo(symbol,MODE_DIGITS);
if( bid<= stoploss1||step1 == 0)
{
step1++;
stoplevel= NormalizeDouble(stoplevel*point,digits);
stoploss1 = ask-stoplevel;
takeprofit1 = ask+stoplevel;
double profit =0.5;
double takeprofit2= profit * point * value * lot1 + bid;
takeprofit2 = NormalizeDouble(takeprofit2,digits);
if (takeprofit2 > takeprofit1)
takeprofit1 = takeprofit2;
Não é mais fácil?
.
Vou usar este programa não apenas para negociação, mas também para análise do histórico. precisarei calcular quantas ordens para os parâmetros necessários teriam sido abertas durante um determinado período de tempo. portanto, tudo precisa ser calculado manualmente
https://www.mql5.com/ru/forum/351
.