[存档!]任何菜鸟问题,为了不使论坛变得混乱。专业人士,不要路过。没有你,哪里都不能去 - 4. - 页 527

 

我为交易的方向设置了旗帜。条件:如果它触及线间的一个区域,则买入,不要卖出,如果它触及另一个区域,则不要买入和卖出。我用水平线来规范这个过程。

extern bool    Покупать  = false;
extern bool    Продавать = false; 


   if ( pcb < Ask && Ask < pl )       // Если Аск цены попал в зону между Уровнем и КлозеБай,
    {                             
     Покупать = false;                // останавливаем покупку
     Продавать = true;
    }
   if ( pl < Bid && Bid < pcs )       // Если Бид цены попал в зону между Уровнем и КлозеСелл,
    {                            
     Продавать = false;               // останавливаем продажи (контрольный флаг)
     Покупать = true;
    }
   if ( pl < Bid && Bid < pb )        // Если Бид цены попал в зону между Уровнем и Покупкой,
    {                                 // начинаем покупать
     Покупать = true;
    }
   if ( pl > Ask && Ask > ps )        // Если Аск цены попал в зону между Уровнем и Продажей,
    {                                 // начинаем продавать
     Продавать = true;             
    }

在此之前,我询问了暴露的线路的价格。而后是下单或平仓的区块--取决于旗帜。

代码是非常简单的。但是...- 问题...

当这种设计开始工作时,买入和卖出的价值变成了不可预测的(混乱的)。为什么会出现这种情况? 因为 "如果 "函数和 "结束 "及 "更多/更少 "运算符有明确的条件。

也就是说,程序根据自己的原因行事:它要么买入或卖出,要么什么都不做,而不管 变量值中写了什么。


我需要怎么写,写什么,才能使条件发挥作用,最重要的是,使他们发挥作用?我做错了什么,我没有考虑到什么?(我想我已经在功能条件中提到了我需要的一切)。


在这个话题中还有一个问题:当变量根据条件改变时,它们在专家顾问设置 中的值(通过F7访问时)将与用户设置的值相同。这就是为什么不可能看到这些变量的当前状态。我们怎样才能让我们能够看到他们目前的价值观是什么?

 
Dimka-novitsek:
早晨好!条件不起作用

我已经看了ife字符串,看了它,看了它,看了它....。 一定有什么原因,我可能感到困惑,没有看到一些简单和基本的东西,它发生了。

我在早上看了看。我出去了。我回来后又看了看,现在更容易了,如果,更多,更少...我一点也不明白。



而这是在我的起点之下。


p.s. 这都是这个战略条件的一部分

EMA--10期从上到下与EMA--200期交叉,CCI从上到下与0.100或100交叉;蜡烛收盘或低于LMA--100期


用括号表示如何做和做什么

if( CCI_50S>100&&CCI_50<100 ||CCI_50S>0&&CCI_50<0|| CCI_50S>-100&&CCI_50<-100 )CCInapravlenie=true;
 
Chiripaha:

我为交易的方向设置了旗帜。条件:如果它落在线之间的一个区域,那么买入,不要卖出,如果在另一个区域,那么不要买入和卖出。我用水平线来规范这个过程。

在此之前,我询问了暴露的线路的价格。而后是下单或平仓的区块--取决于旗帜。

代码是非常简单的。但是...- 问题...

当这种设计开始工作时,买入和卖出的价值变成了不可预测的(混乱的)。为什么会出现这种情况? 因为 "如果 "函数和 "结束 "及 "更多/更少 "运算符有明确的条件。

也就是说,程序根据自己的原因行事:它要么买入或卖出,要么什么都不做,而不管 变量值中写了什么。

我需要怎么写,写什么,才能使条件发挥作用,最重要的是,使他们发挥作用?我做错了什么,我没有考虑到什么?(我想我已经在功能条件中提到了我需要的一切)。

在这个话题中还有一个问题:当变量根据条件改变时,它们在专家顾问设置中的值(通过F7访问时)将与用户设置的值相同。这就是为什么不可能看到这些变量的当前状态。我怎样才能让我看到他们目前的价值?

首先将这些条件分组。

    extern bool    Покупать  = false;
    extern bool    Продавать = false; 

    if (pl > Ask) {if (Ask > psb || Ask > ps) Продавать = true;}
    else {if (pl < Bid) if (Bid < pcs || Bid < pb) Покупать = true;}
也许这样会更容易理解!(我没有深入了解代码本身的含义)。
 

乍一看,这可能是关于变量的问题,而不是条件。我将从输出带有警报的变量开始,因为代码本身看起来很正常!!。

Alert(" pcb " , pcb ); Alert(" pl " , pl ); Alert(" pb " , pb )。

 

写入文件 时如何改变数据格式?

它写的是无法阅读的字体 :(

 
TarasBY:

替换。

对于。

以及为什么卖出订单打开(在你的变体中)(根据我之前说的)自己找答案!!。


事实证明,没有必要从指标中调用参数。一切都可以直接在专家顾问中注册。

我将分析我的错误。

我重写了带有iLowest 和iHighest函数 的指标,这段代码是否正确或可以截断?

#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Red
#property indicator_color2 Red

extern int Quant_Bars = 5; //количество баров

//--- buffers
double Line_1[];     //объявление массивов под..
double Line_2[];     //..буферы индикаторов

int init()
  {
//---- indicators
   SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,2);    //стиль линии
   SetIndexBuffer(0,Line_1);                    //назнач. массива буферу
   SetIndexStyle(1,DRAW_LINE,STYLE_SOLID,2);    //стиль линии
   SetIndexBuffer(1,Line_2);                    //назнач. массива буферу
//----
   return(0);                                      
  }

int start()
  {                        
   double Minimum;
   double Maximum;
   int k;
   
   Maximum= High[iHighest(NULL,0,MODE_HIGH,Quant_Bars,1)];
   Minimum= Low[iLowest(NULL,0,MODE_LOW,Quant_Bars,1)];
   
   for(k=1; k<=Quant_Bars; k++)
      {
       Line_1[k]= Minimum;
       Line_2[k]= Maximum;
      }
    return(0);
    }
               
 
现在...我哥哥来了,他是长子...支架可能只是堵塞了。现在
 
Dimka-novitsek:

乍一看,这可能是关于变量的问题,而不是条件。我将从输出带有警报的变量开始,因为代码本身看起来很正常!!。

Alert(" pcb " , pcb ); Alert(" pl " , pl ); Alert(" pb " , pb )。


我已经做了--所有的变量都是正确的:价格和参数都已设定。
 
TarasBY:

首先将这些条件分组。

也许这样会更容易理解!(我没有深入了解代码本身的含义)。


如果你这样设置,那将是另一回事--如果低于该线,那么...而我需要的是当它落在特定的线之间--在这些线的区域。

 
Pacman:


事实证明,没有必要从指标中调用参数。一切都可以直接在EA中注册。

我必须弄清楚我的错误是什么。

我重写了带有iLowest和iHighest函数的指标,这段代码是否正确或可以截断?

只要你把指标带入EA,在测试器中工作时,它就是一个 "马的耙子"。在你的情况下,指示器是不需要的!!。