任何菜鸟问题,为了不给论坛添乱。专业人士,不要路过。没有你就无处可去 - 6. - 页 802

 
pako:

领先者

返回客户终端的第一个图表的标识符。

我理解这是最左边的图表

不幸的是,它不是,要检查它很容易。

1.在终端打开2-3个货币对

2.运行代码来检查它。

   long ch=ChartFirst();
   Print("Первый ID терминала: ",ch, ", символ: ",ChartSymbol(ch),", таймфрейм: ",ChartPeriod(ch));
   for(int i=1;i<=100;i++) {
      ch=ChartNext(ch);
      if(ch<0)break;
      Print(i," chart ID for ",ChartSymbol(ch),ChartPeriod(ch),": ",ch);
  }
 
gyfto:
我隐约怀疑不是。我明天再回信,我现在要去工作了。
只能通过子窗口中的趋势条来帮助。但我们需要以某种方式拦截刻度值。如何?
 
谁知道如果交易在负区,是否有可能将未平仓订单的止盈修改为负区?
 
woin2110:
谁知道,如果交易在负区,是否有可能将未平仓订单的止盈修改为负区?
当然,你可以。
 
你好。我几天前刚开始写一个EA。我有编程经验,但 还没有在MQL4 中做过任何编程。我有很多东西要学,所以我要求一个现成的解决方案))))。比方说,我想在0.01手开一个订单,我需要设置takeprofit来赚取0.5。请告诉我正确的方法来做。
 

在我等待答案的时候,我搜索并找到了一些东西,做了这个。 它能正确显示吗? 今天是星期天,我不想等到午夜才知道我写的是否正确。


  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);


   
   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;


 
pycha:

在我等待答案的时候,我搜索并找到了一些东西,做了这个。 它能正确显示吗? 今天是星期天,我不想等到午夜才知道我写的是否正确。


  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);


   
   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;



这不是更容易吗?

 if(OrderProfit() > 0.5) OrderClose();

.

 
我需要在开单前计算利润,以便在创建订单时可以立即设置。
 
我不仅要用这个程序进行交易,还要分析历史,我需要计算在某一时期内有多少所需参数的订单被打开,所以一切都需要手动计算。
 
pycha:
我不仅要用这个程序进行交易,还要进行历史分析。 我需要计算在一定时期内有多少所需参数的订单被打开,所以一切都需要手动计算。

https://www.mql5.com/ru/forum/351

.