Вычисление прибыли в предполагаемом уровне цены

Вычисление прибыли в предполагаемом уровне цены
Download ALL MT4 scripts (422)
YouTube Video Thumbnail



Similar MetaTrader Tools

Вычисление прибыли в предполагаемом уровне цены

Info

The Вычисление прибыли в предполагаемом уровне цены is a Script for MetaTrader 4 that Всем доброго времени суток. Предлагаю вашему вниманию код, который я разработал для вычисления прибыли в предполагаемом уровне цены.

Usage

This tool is typically used for enhancing chart analysis and decision making.

Platform

This Script works exclusively on MetaTrader 4 (both build 600+ and newer versions).

Setup

Place the downloaded file in MQL4/Scripts folder via File ? Open Data Folder in MetaTrader 4.


How to Install and Use Вычисление прибыли в предполагаемом уровне цены

1. Installation: Move your script file into the MQL/Scripts directory and restart the platform.

2. Execution: Drag the script onto a chart; it will perform a one-time action, such as closing all open orders or clearing chart objects.

3. Editing: Use MetaEditor (F4) to modify code, click "Compile," and verify no errors appear in the terminal before running.

4. Removing: Scripts stop automatically, but you can remove them manually by right-clicking the chart and choosing "Remove Script."

Frequently Asked Questions

Q: How are scripts different from EAs? A: Scripts execute a single action and then stop; EAs monitor the market and trade continuously.

Q: Can I assign a hotkey to a script? A: Yes, right-click the script in the Navigator, select "Set Hotkey," and define your preferred keyboard shortcut.

Q: Why did my script stop? A: Scripts are designed to stop immediately after finishing their programmed command; this is normal behavior.

What this tool does

Всем доброго времени суток.

Typical Use Case

This Script excels in automated trading and technical analysis on MetaTrader 4.

Compatible Platform & Setup

This Script works on MetaTrader 4. Place the file in the MQL4/Scripts folder and restart the terminal.

Description & Settings

Related: Angulation Indicator for MT4/MT5 - another powerful script for MetaTrader 4 traders.

Всем доброго времени суток.

Предлагаю вашему вниманию код, который я разработал для вычисления прибыли в предполагаемом уровне цены.

Also recommended: calculation of the number of lots by anton trefolev - similar script with strong performance on MetaTrader 4.


double getlots(double newsl) {
int opntime = 0;
double lotsum = 0;
for (int i = 0; i <= orderstotal()-1; i++) {
orderselect(i, select_by_pos);
if ((orderopentime() > opntime) && (ordertype() == op_buy || ordertype() == op_sell)) {
opntime = orderopentime();
if (ordertype() == op_buy) { lotsum += orderlots() * (newsl - orderopenprice()) / point; }
if (ordertype() == op_sell) { lotsum -= orderlots() * (newsl - orderopenprice()) / point; }
}
}
return (lotsum);

Этот код рассчитывает прибыль для каждой открытой позиции и суммирует ее в указанной точке в лотах * пунктах.

Вы можете использовать это значение для различных целей. Например, я использовал его в трейлинге, чтобы выставлять stop loss только при определенном уровне прибыли.

if ((getlots(stoploss) > 0) && ( ... )) {
ordermodify( ... );
}

В этом случае stop loss будет выставлен только в безубыток, независимо от количества открытых позиций.

Также вы можете использовать это для более сложных условий:

if ((getlots(stoploss) > 3) && ( ... )) {
ordermodify( ... );
}

В данном примере stop loss не будет выставлен, пока суммарная прибыль от всех позиций в точке stop loss не достигнет определенного значения.

Надеюсь, этот код окажется полезным для ваших торговых стратегий.

You may also like: JForex OHLC Data Converter - excellent alternative for script users on MetaTrader 4.

Source Code

#property copyright "robotfx"
#property link "https://robotfx.org"
double getlots(double newsl) {
   int opntime = 0;
   double lotsum = 0; 
   for (int i = 0; i <= orderstotal()-1; i++) {
      orderselect(i, select_by_pos);     
      if ((orderopentime() > opntime) && (ordertype() == op_buy) || (ordertype() == op_sell)) { 
         opntime = orderopentime(); 
         if (ordertype() == op_buy)    { lotsum += orderlots() * (newsl - orderopenprice()) / point; }

.......

Leave your opinion, ask a question, share some knowledge

Limitations & Risk Warning

  • This tool is provided for educational and testing purposes only.
  • Past performance does not guarantee future results.
  • Trading involves substantial risk of loss. Use on a demo account first.
  • Results may vary depending on market conditions, broker, and settings.
  • We recommend thorough backtesting and forward testing before using with real funds.
© ROBOTFX Free educational tools by RobotFX. Use entirely at your own risk; we are not liable for any financial losses incurred.