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

 
artmedia70:
你认为你将如何决定它是回调还是反转?还是在每次回调时开两个仓位?这是个失败的例子...

我想先让它工作,然后我想在测试器中运行EA,找到lim参数的大小。
 
大家好,我正在尝试制作一个程序,我有

我搞不清楚为什么它不工作了。

我可以解释 :-)

我想做一条根据趋势改变颜色的线,可以这么说(原始指标)。

它似乎在变化,但也有差距,好像他在计算中错过了一栏。

我的错误是什么



//--------------------------------------------------------------------
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Blue // 第一行的颜色。
#property indicator_color2 Red // 第二行的颜色。

double Buf_0[],Buf_1[]; //打开指标数组
//--------------------------------------------------------------------
int init() // 特殊功能 init()
{
//--------------------------------------------------------------------
SetIndexBuffer(0,Buf_0); // 将一个数组分配到缓冲区。
SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,2);//线条样式
//--------------------------------------------------------------------
SetIndexBuffer(1,Buf_1)。
SetIndexStyle(1,DRAW_LINE,STYLE_SOLID,2)。
//--------------------------------------------------------------------
返回。
}
//--------------------------------------------------------------------
int start()
{
int i,counted_bars;
//--------------------------------------------------------------------
Counted_bars=IndicatorCounted(); // 计算的条数
i=Bars-Counted_bars-1; // 第一个未计算的索引
while(i>=0) // 循环处理未计数的小节
{
double a=(High[i]+Low[i])/2。
double b=(High[i+1]+Low[i+1])/2;
if (a=>b) Buf_0[i]=a; //改变或不改变颜色
如果(a<b) Buf_1[i]=a。
i--;
}
//--------------------------------------------------------------------
返回。
}
//--------------------------------------------------------------------
 
你好!!能否请您告知如何在代码中实现这一点?我应该有3个(金额分别设置)无利可图的sl订单来开两个买入和卖出订单。它们之间的距离应该在一个单独的变量中设置。
 
你好,我想计算 "历史日内ATR"(即过去30天内每小时的平均数),我想相信类似的东西应该已经存在--也许这个指标被称为别的东西,或者现有的指标可以以某种方式调整?
 
zelek:

我想先让它工作,然后在测试器中运行 "EA",以确定lim参数的大小。
而且你可以把它附在ATR上。将会有动态,不需要调整--一切都将取决于市场的波动
 
Top2n:
你好!!能否请您告知如何在代码中实现这一点?我应该有3个(总数单独设置)亏损的订单,Sl应该开两个买入和卖出订单。它们之间的距离应在一个单独的变量中设置。


我们将一个变量设置为零,当头寸 亏损时,将其增加1。一旦它达到所需的值,我们就开出所需的头寸。
这就是逻辑...
 

你能告诉我哪些机器人能工作15天,哪些机器人的利润与Cheetah 2.5没有差别?

请给我一个链接或网站等。

提前感谢您的时间

 
artmedia70:
然后你把它连接到ATR。它将是动态的,没有必要调整 - 它将取决于市场的波动性


请看一下代码,我不明白为什么订单没有被关闭

extern int     lim=20;             // Дистанция возврата курса

/
int init()
  {
 

   return(0);
  }
/
int deinit()
  {
//----
   
//----
   return(0);
  }

int start()
  {
 
  double 
   max, min;                                            
  int b, s;
   if (Bid>max) max=Bid; 
    if (Ask<min) min=Ask;  
       if (OrdersTotal()>0)
       {                                   
           if ((max-Bid)>=lim*Point) 
           {                   
          OrderSelect(b,SELECT_BY_TICKET);                                  
          b=OrderClose(OrderTicket(),0.1,Bid,3,Blue);
          }
          
          
          if ((Ask-min)>=lim*Point)  
          {         
      OrderSelect(s,SELECT_BY_TICKET); 
      s=OrderClose(OrderTicket(),0.1,Ask,3,Red);
         }
}
else
{
  if (OrdersTotal()<1)
  {
 b=OrderSend(Symbol(),OP_BUY,0.1,Ask,5,0,0,"",5,0);
      
 s=OrderSend(Symbol(),OP_SELL,0.1,Bid,5,0,0,"",5,0); 
    }                           
   }
         return;

   return(0);
  }
 
zelek:


请看一下代码,我不明白为什么订单没有关闭

有趣的结构。
如果(Bid>max)max=Bid。
如果(Ask<min)min=Ask。

你确定如果价格上涨,那么如果((max-Bid)>=lim*Point)将被执行?

我会做以下工作--例如,在init()部分,我会记住EA启动时的价格(可能不在init中)--然后我将从这个价格开始跳舞。

如果你有一个专家顾问,你会记住价格,但似乎你会用刻度划分你的最小和最大,然后在这个走廊上控制你的订单。


 
从逻辑上讲,它应该是有效的,但为什么不呢,你能解释一下吗?