Olá. comecei a escrever um EA há alguns dias. tenho experiência em programação, mas ainda não fiz nenhuma programação na MQL4. tenho muito a aprender, então estou pedindo uma solução pronta)))). digamos que quero abrir um pedido a 0,01 lote e preciso definir o takeprofit para ganhar 0,5. por favor, mostre-me a maneira correta de fazer isso.
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.
if(Count ==0) 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);
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.
if(Count ==0) 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);
Vou usar este programa não só para negociar, mas também para analisar o histórico. precisarei calcular quantos pedidos para os parâmetros necessários teriam sido abertos durante um determinado período de tempo. portanto, tudo precisa ser calculado manualmente
pycha: 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
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.
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
.