Ciao. ho appena iniziato a scrivere un EA un paio di giorni fa. ho esperienza di programmazione, ma non ho ancora fatto alcuna programmazione in MQL4. ho molto da imparare, quindi sto chiedendo una soluzione pronta)))). diciamo che voglio aprire un ordine a 0,01 lotto e ho bisogno di impostare takeprofit per guadagnare 0,5. per favore mostratemi il modo corretto per farlo.
Mentre aspettavo una risposta, ho cercato e trovato qualcosa e ho fatto questo. Verrà visualizzato correttamente? È domenica e non voglio aspettare fino a mezzanotte per scoprire se l'ho scritto correttamente.
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);
Mentre aspettavo una risposta, ho cercato e trovato qualcosa e ho fatto questo. Verrà visualizzato correttamente? È domenica e non voglio aspettare fino a mezzanotte per scoprire se ho scritto correttamente.
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);
Utilizzerò questo programma non solo per fare trading ma anche per analizzare lo storico. avrò bisogno di calcolare quanti ordini sui parametri richiesti sarebbero stati aperti in un certo periodo di tempo. quindi tutto deve essere calcolato manualmente
pycha: Userò questo programma non solo per il trading, ma anche per l'analisi dello storico. avrò bisogno di calcolare quanti ordini per i parametri richiesti sarebbero stati aperti in un certo periodo di tempo. quindi tutto deve essere calcolato manualmente
ChartFirst
Restituisce l'identificatore del primo grafico del terminale client.
Ho capito che questo è il grafico più a sinistra
Purtroppo non lo è, è facile da controllare:
1. aprire 2-3 coppie di valute nel terminale
2. eseguire il codice per controllarlo:
Ho il vago sospetto di no. Ti scriverò domani, ora vado al lavoro.
Chi sa, è possibile modificare il TakeProfit di un ordine aperto alla zona meno se il trade è nella zona meno?
Mentre aspettavo una risposta, ho cercato e trovato qualcosa e ho fatto questo. Verrà visualizzato correttamente? È domenica e non voglio aspettare fino a mezzanotte per scoprire se l'ho scritto correttamente.
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;
Mentre aspettavo una risposta, ho cercato e trovato qualcosa e ho fatto questo. Verrà visualizzato correttamente? È domenica e non voglio aspettare fino a mezzanotte per scoprire se ho scritto correttamente.
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;
Non è più facile?
.
Userò questo programma non solo per il trading, ma anche per l'analisi dello storico. avrò bisogno di calcolare quanti ordini per i parametri richiesti sarebbero stati aperti in un certo periodo di tempo. quindi tutto deve essere calcolato manualmente
https://www.mql5.com/ru/forum/351
.