新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 970

 
Aleksandr Klapatyuk:

对象名称在iFractals上移动

所以它在视觉上是很明显的,因为它是
 
Vladimir Baskakov:
这在视觉上是很明显的

并代表对象--我的专家顾问可以向任何方向打开,也可以关闭

这是一个指标。我的EA在半自动模式下工作,对象的名称为

101010

附加的文件:
IgorM.mq5  17 kb
 
Aleksandr Klapatyuk:

并代表对象--我的专家顾问可以向任何方向打开,也可以关闭

这是一个指标。我的EA在半自动模式下工作,对象的名称为


你不可能想出一个更糟糕的算法。

 
Alexey Viktorov:

我想不出有什么更糟糕的算法。

我主要是用手交易--这只是为了好玩。也许有人会想出别的办法。

这个算法并不坏。 例如,你开了一个头寸,在图表上放了一个对象,然后去抽烟。

当对象被越过时,该位置将被关闭,反之亦然--正如你在EA中设置的那样。

这个指标原来是iFractals 的一个拖网。

(对象的名称不与指标挂钩--当专家顾问工作时,它将删除该对象,一切都必须手动重复)。

Совершение сделок - Торговые операции - MetaTrader 5
Совершение сделок - Торговые операции - MetaTrader 5
  • www.metatrader5.com
Торговая деятельность в платформе связана с формированием и отсылкой рыночных и отложенных ордеров для исполнения брокером, а также с управлением текущими позициями путем их модификации или закрытия. Платформа позволяет удобно просматривать торговую историю на счете, настраивать оповещения о событиях на рынке и многое другое. Открытие позиций...
 
Yevhenii Levchenko:
double value = 0;
初始化值,它是一个一般的UB。
 
int TP;
int SL;

CTrade trader;
bool Invertor;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {

   TP = TakeProfit;
   SL = Stoploss;

   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {

  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {

   double points;

   if(!PositionSelect(_Symbol))
     {
      if(Invertor)
         trader.Buy(Lot);
      else trader.Sell(Lot);
     }
   else
     {
      if(PositionGetInteger(POSITION_TYPE)==POSITION_TYPE_BUY)
        {
         points=(SymbolInfoDouble(_Symbol,SYMBOL_BID)-PositionGetDouble(POSITION_PRICE_OPEN))/_Point;
         if(points>=TP)
           {
            trader.PositionClose(_Symbol);
            Invertor=true;
           }

         if(points<=-SL)
           {
            trader.PositionClose(_Symbol);
            Invertor=false;
           }
        }
      if(PositionGetInteger(POSITION_TYPE)==POSITION_TYPE_SELL)
        {
         points=(PositionGetDouble(POSITION_PRICE_OPEN)-SymbolInfoDouble(_Symbol,SYMBOL_ASK))/_Point;
         if(points>=TP)
           {
            trader.PositionClose(_Symbol);
            Invertor=false;
           }
         if(points<=-SL)
           {
            trader.PositionClose(_Symbol);
            Invertor=true;
       }

下午好,请帮我写一段代码,使我每次调头时增加一个手或一定数量的手。而在TP,它将返回1手。

 
Vict:
初始化值,它是一个一般的UB。
同时,我了解到什么是UB。谢谢 :)
 
 
在mt5对冲账户类型中,如果 "正向选择 "只有一个工具名称,如何搜索未平仓交易?
bool PositionSelect(
        string symbol // имя инструмента
);
 
Yevhenii Levchenko:
我已经在他的代码中看到了你问题的答案。

看看KB,那里的版主好像每天都要抄写三个代码--我肯定在他的代码中看到了你的问题的答案

原因: