[警告关闭!]任何新手问题,为了不给论坛添乱。专业人士,不要走过。没有你,哪里都不能去。 - 页 251

 
Ibiss >> :

如何在主线和信号线的反向交叉处正确编程出场? 因为信号出现的时间间隔很短......而订单在条件下没有在应该的地方关闭......。

这个问题已经困扰了我很久了!帮助!

这里是退出条件。


我不是王牌,但

if(OrderMagicNumber()!= MAGICMA || OrderSymbol()!=Symbol()) continue;

如果(OMN不等于OMN或OS不等于OS){则继续}。


但这意味着该订单不属于专家顾问。

尝试

if(OrderMagicNumber()!= MAGICMA || OrderSymbol()!=Symbol()) break;
 
Ibiss >> :

如何在主线和信号线的反向交叉处正确编程出场? 因为信号出现的时间间隔很短......而订单在条件下没有在应该的地方关闭......。

这个问题已经困扰了我很久了!求你了!

这里是退出条件。


如果你想了解更多的信息,请联系我们,我们将为你提供更多的信息。

 

先生们,你们能否告诉我,是否有什么东西可以在每个订单的图表上显示评论。例如,图表上的箭头和旁边的评论,并说明理由。我希望它能在测试器中被画出来:)

谢谢你。

 
AndBar >> :

Snachala narusyj sebe blok shemy svoego algorithm, chtob tu vuzyalno vudel chto tu doaesh y po kakum yslovuyam y tebya zakruvayutsya orders, a vse eto delo perevestu v kod eto yge delo tehnuku - ya tak dymayu。


嘿,伙计,你能不能像这样说话,或者像这样说话 :)>> 我打破了我的眼睛。:)
 

昂贵 的,它没有帮助,但谢谢你 !

也许有人知道如何使交叉和反交叉打开和关闭相反的订单!?

这需要一些魔法......啊......。

你看应该有多少种不同的购买和销售?而只有几件......。

我怎样才能解决这个问题呢?

谁不介意看一下代码!拜托了

这都是在EA的代码中,而不是在指标中...我想...

缩水率就像......你不能希望有96%......。谁在乎呢 :)

它应该是这样的。


附加的文件:
itrend.mq4  5 kb
 

总之,我在阅读了关于全局变量的文章后,决定重做EA,结果发现!!!。

还有一个问题,就是蜱虫的问题...

交易在所有交叉点开放,但有一个大的问题......他们在大堆 中开放......。

人们,我怎样才能解决这个问题?)

这里有一张截图。


"这不适合胆小的人"。

附加的文件:
ggftest.mq4  3 kb
 
Ibiss >> :

昂贵的,它没有帮助,但谢谢你 !

谁能知道如何使相反的订单在交叉点和反向交叉点打开和关闭!?

这需要一些魔法......啊......。

你看应该有多少种不同的购买和销售?而只有几件......。

如何才能修复这个错误?

谁不介意看一下代码!拜托了

这都是在EA的代码中,而不是在指标中...我想...

缩水率就像......你不能希望有96%......。谁在乎呢 :)

这是它应该有的样子。



最简单的方法。

在每一个刻度,我们初始化4个指标变量。红线有两个,绿线有两个。和两个交易信号变量,分别为。

在这种情况下,代码应该是这样的。

// ------ Пользовательские переменные -------------------
extern bool CloseObr=true;// закрывать ли противоположный ордер при возникновении торгового сигнала
// ---------- Вспомогательные переменные ------------
double Green_1, Green_2, Red_1, Red_2;// значения индикатора на первой и второй свечках
bool SigBuy, SigSell;// торговые сигналы
int TICKET;

int start(){
  Green_1=iCustom(****);// зелёная на первой свече
  Green_2=iCustom(****);// зелёная на второй свече
  Red_1=iCustom(****);// красная на первой свече
  Red_2=iCustom(****);// красная на второй свече
  
  // ------- формируем торговые сигналы -------------
  
  SigBuy=false;
  SigSell=false;
  
  if( Green_2<= Red_2 && Green_1> Red_1){// зелёная пересекает красную снизу вверх
    SigBuy=true;
  }
  if( Green_2>= Red_2 && Green_1< Red_1){// зелёная пересекает красную сверху вниз
    SigSell=true;
  }
  
  // ------ Сигналы сформированы. Торгуем ------------------
  if( SigBuy){
    if( CloseObr){
      // то удаляем все Sell-ордера
    }
    // --- противоположные удалены. Открываем позу
    ......
    TICKET=OrderSend( тут пишем параметры установки лонга);
  }
  if( SigSell){
    if( CloseObr){
      // то удаляем все Buy-ордера
    }
    // --- противоположные удалены. Открываем позу
    ......
    TICKET=OrderSend( тут пишем параметры установки шорта);
  }
}
一般来说,EA应该是这样工作的。它可能不是代码集的最完美的版本,但它很好地说明了其构造的逻辑。
 

drknn,谢谢你的想法和代码)!


你碰巧知道如何处理大量的订单吗?)

 
Ibiss >> :

总之,我在阅读了关于全局变量的文章后,决定重做EA,结果发现!!!。

还有一个问题,就是蜱虫的问题...

交易在所有交叉点开放,但有一个大的问题......他们在大堆中开放......。

人们,我怎样才能解决这个问题?)

这里有一张截图。


">>这不适合胆小的人。



那么你可以这样做。

// ------ Пользовательские переменные -------------------
extern bool CloseObr=true;// закрывать ли противоположный ордер при возникновении торгового сигнала
extern int MAGIC=0;// у ордеров открытых вручную магик = 0
// ---------- Вспомогательные переменные ------------
double Green_1, Green_2, Red_1, Red_2;// значения индикатора на первой и второй свечках
bool SigBuy, SigSell;// торговые сигналы
int TICKET;

int start(){
  Green_1=iCustom(****);// зелёная на первой свече
  Green_2=iCustom(****);// зелёная на второй свече
  Red_1=iCustom(****);// красная на первой свече
  Red_2=iCustom(****);// красная на второй свече
  
  // ------- формируем торговые сигналы -------------
  
  SigBuy=false;
  SigSell=false;
  
  if( Green_2<= Red_2 && Green_1> Red_1){// зелёная пересекает красную снизу вверх
    SigBuy=true;
  }
  if( Green_2>= Red_2 && Green_1< Red_1){// зелёная пересекает красную сверху вниз
    SigSell=true;
  }
  
  // ------ Сигналы сформированы. Торгуем ------------------
  if( SigBuy && SchBuy( MAGIC)==0){
    if( CloseObr && SchSell( MAGIC)>0){
      // то удаляем все Sell-ордера
    }
    // --- противоположные удалены. Открываем позу
    ......
    TICKET=OrderSend( тут пишем параметры установки лонга);
  }
  if( SigSell && SchSell( MAGIC)==0){
    if( CloseObr && SchBuy( MAGIC)>0){
      // то удаляем все Buy-ордера
    }
    // --- противоположные удалены. Открываем позу
    ......
    TICKET=OrderSend( тут пишем параметры установки шорта);
  }
return(0);
}
// --------- Пользовательские подпрограммы -----------------

// ==========================================================================================================================
// ************************* Счётчики ордеров *******************************************************************************
// ==========================================================================================================================


//=========== SchBuy()  ===============================
//  Функция возвращает количество Buy-ордеров
//   SchBuy      - счётчик Buy ордеров
//-----------------------------------------------------------
int SchBuy(int MAGIC){
  string SMB=Symbol();
  int SchBuy=0;
  int i;
  for ( i=OrdersTotal()-1; i>=0; i--) {
    if (!OrderSelect( i, SELECT_BY_POS, MODE_TRADES)) { WriteError( i);}
    else {
      if(OrderSymbol()!= SMB || OrderMagicNumber()!= MAGIC){ continue;}
      if(OrderType()==OP_BUY){ 
        SchBuy++;
      }  
    }
  }
  return( SchBuy);
}                  
//==================================================================================================


//=========== SchSell()  ===============================
//  Функция возвращает количество Sell-ордеров
//  SchSell  - счётчик Sell ордеров
//-----------------------------------------------------------
int SchSell(int MAGIC){
  string SMB=Symbol();
  int SchSell=0;
  int i;
  for ( i=OrdersTotal()-1; i>=0; i--){
    if (!OrderSelect( i, SELECT_BY_POS, MODE_TRADES)) { WriteError( i);}
    else {
      if(OrderSymbol()!= SMB || OrderMagicNumber()!= MAGIC){ continue;} 
      if(OrderType()==OP_SELL){
        SchSell++;
      }
    }
  }
 return( SchSell);     
}                  
//==================================================================================================
 
Bond >> :

先生们,你们能否告诉我,是否有什么东西可以在每个订单的图表上显示评论。例如,图表上的箭头和旁边的评论,并说明理由。我想让它在测试器中被画出来)。

>> 谢谢你。


如果我们想让它在测试器中也能被画出来,我们就必须用手来做编程代码。

在这种情况下,最好在函数OrderSend()和OrderClose() 中设置箭头。

评论可以用各种方式打印。至于现成的,我可以说这是一个相当具体的任务--不太可能找到现成的代码。

我在MQL4中发布了我的脚本,在图表上显示交易历史。我的想法后来被其他程序员修改。我只是用箭头和线条显示订单的开仓/平仓点。后来,在其他程序员的脚本中出现了对订单的评论和执行价格的指示。这可能是好的,可以在这里找到。

原因: