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

 
waroder:


按照我的理解(我希望是正确的:))Zolotai 想从两个循环语句中获取数据并将其写入文本文件。从每个人到一个单独的文件。然后他想把这些文件中的数据加载到数组中。然后,这两个数组必须被连接成一个数组,这样来自两个操作者的数据就不会被每个条形图混在一起并相互关联。

像这样))))


 
waroder:


按照我的理解(希望是正确的:))Zolotai 想从两个循环语句中获取数据并将其写入文本文件。从每一个人到一个单独的文件。然后他想把这些文件中的数据加载到数组中。然后,这两个数组应该被连接成一个数组,这样,来自两个运营商的数据就不会被每个条形所混合并相互关联。

像这样))))

为什么我们需要将数据合并成一个多维 数组?第一个维度是以时间为索引的(条形)--其余是数组数据。并以任何方式对第一维度的所有数据进行排序。
 

人们,我需要帮助,下面的代码只执行了第二部分,当sellstop应该被设置,而buystop由于某种原因没有被设置,尽管所有的条件都满足,我甚至看不出有什么问题)

如果(OrdersTotal()==2)

{

OrderSelect(2,SELECT_BY_TICKET)。

如果(OrderType()==OP_SELL)

{

OrderSelect(2,SELECT_BY_TICKET)。

double b = OrderOpenPrice();

OrderSend(Symbol(),OP_BUYSTOP,2,b+28*Point,3,b-25*Point,b+50*Point,0,5)。

}

OrderSelect(4,SELECT_BY_TICKET)。

如果(OrderType()==OP_BUY)

{

OrderSelect(4,SELECT_BY_TICKET)。

double a = OrderOpenPrice();

OrderSend(Symbol(),OP_SELLSTOP,2,a-28*Point,3,a+25*Point,a-50*Point,0,6)。

}

}

 

好吧,既然你确定2号订单是卖出订单,你所要做的就是将价格正常化,停止并采取。

并观察EA的日志。

 

你好,请告诉我,我正在寻找一个猫头鹰或一个脚本。

有一个订单级别,有一个止损点和3个止盈点,有必要在达到某个级别时,例如第一个TR订单被关闭一定的部分(由我自己设定),其余部分被转移到我自己设定的级别。

例子

订单在1.5800停止1.5750 1个位置 - 1.5850 2个点 - 1.5900 3个点 - 1.5950,所以当订单到达1.5850让我们假设40%的手被关闭,其余的在1.5800(即在BU)到2个点20%,其余的被转移到1.5850和3个点完全关闭。

最重要的是能够根据情况自己改变数值。

 
zaqwsx123:

人们,我需要帮助,下面的代码只执行了第二部分,当sellstop应该被设置,而buystop由于某种原因没有被设置,尽管所有的条件都满足,我甚至看不出有什么问题)

如果(OrdersTotal()==2)

{

OrderSelect(2,SELECT_BY_TICKET)。

如果(OrderType()==OP_SELL)

{

OrderSelect(2,SELECT_BY_TICKET)。

double b = OrderOpenPrice();

OrderSend(Symbol(),OP_BUYSTOP,2,b+28*Point,3,b-25*Point,b+50*Point,0,5)。

}

OrderSelect(4,SELECT_BY_TICKET)。

如果(OrderType()==OP_BUY)

{

OrderSelect(4,SELECT_BY_TICKET)。

double a = OrderOpenPrice();

OrderSend(Symbol(),OP_SELLSTOP,2,a-28*Point,3,a+25*Point,a-50*Point,0,6)。

}

}

2号票以及4号票,只能出现在测试器中。这是真实/演示的乌托邦。当在票据上选择一个订单时,你应该首先确保该订单根本被选中,然后检查其关闭时间。如果它==0,这意味着该订单已从市场订单列表中被选中。如果订单关闭时间>0,意味着该订单已经被关闭,并从已关闭的订单列表中被选中。当向服务器发送交易请求 时,所有的价格首先必须是最新的(最近的;要做到这一点,在发送请求前应通过MarketInfo()或RefreshRates()获得价格),其次,所有的价格必须被规范化为精确的位数
 
Villcommen:

你好,请告诉我,我正在寻找一个猫头鹰或一个脚本。

有一个订单级别,有一个止损点和3个止盈点,有必要在达到某个级别时,例如第一个TR订单被关闭一定的部分(由我自己设定),其余部分被转移到我自己设定的级别。

例子

订单在1.5800停止1.5750 1个位置 - 1.5850 2个点 - 1.5900 3个点 - 1.5950,所以当订单到达1.5850让我们假设40%的手被关闭,其余的在1.5800(即在BU)到2个点20%,其余的被转移到1.5850和3个点完全关闭。

最重要的是能够根据情况自己改变数值。

在猫咪基地里 找过吗?
 

伙计们,告诉我这个狗屎!!!。当我创建一个新的指标时,我总是在向图表输出缓冲区时遇到一个问题。我似乎把所有的东西都写对了,但数值却没有显示....。我已经筋疲力尽了....

#property copyright "nikelodeon"
#property link      ""
extern int k=5;
extern int k1=8;

#property indicator_chart_window
double Buffer1[];
double Buffer2[];
double Buffer3[];
double Buffer4[];
double Buffer5[];
double Buffer6[];
double Buffer7[];
double Buffer8[];
int init()
  {
SetIndexBuffer(0,Buffer2);         // Назначение массива буферу
SetIndexStyle (0,DRAW_LINE,STYLE_SOLID,2,Red);// Линия
SetIndexBuffer(1,Buffer1);// Назначение массива буферу 
SetIndexStyle (1,DRAW_LINE,STYLE_SOLID,2,Blue);// Линия
SetIndexStyle (2,DRAW_ARROW,STYLE_SOLID,1,Red);
SetIndexArrow (2,159);// Стиль линии 
SetIndexBuffer(2,Buffer3);
SetIndexEmptyValue(2,0.0);// Назначение массива буферу
SetIndexStyle (3,DRAW_ARROW,STYLE_SOLID,1,Blue);
SetIndexArrow (3,159);// Стиль линии 
SetIndexBuffer(3,Buffer4);// Назначение массива буферу 
SetIndexEmptyValue(3,0.0);
SetIndexStyle (4,DRAW_ARROW,STYLE_SOLID,2,Green);
SetIndexArrow (4,159);// Стиль линии 
SetIndexBuffer(4,Buffer5);// Назначение массива буферу 
SetIndexEmptyValue(4,0.0);
SetIndexStyle (5,DRAW_ARROW,STYLE_SOLID,2,Green);
SetIndexArrow (5,251);// Стиль линии 
SetIndexBuffer(5,Buffer6);// Назначение массива буферу 
SetIndexEmptyValue(5,0.0);
SetIndexStyle (6,DRAW_ARROW,STYLE_SOLID,2,Red);
SetIndexArrow (6,241);// Вход Бай
SetIndexBuffer(6,Buffer7);// Назначение массива буферу 
SetIndexEmptyValue(6,0.0);
SetIndexStyle (7,DRAW_ARROW,STYLE_SOLID,2,Blue);
SetIndexArrow (7,242);// Вход сел 
SetIndexBuffer(7,Buffer8);// Назначение массива буферу 
SetIndexEmptyValue(7,0.0);

   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
  int i,b,limit;
limit=Bars;
if (b!=Bars){
b=Bars;
      for(i=limit; i>=0; i--){
      
      if ((setupUP(i,4,5)==1)) {Buffer5[i+1]=Low[i+1];} else Buffer5[i+1]=0;
      if ((setupDOWN(i,4,5)==1)){Buffer5[i+1]=High[i+1];} else Buffer5[i+1]=0;
      
      
      

      }
      
  Buffer5[i+1]=Low[i+1];    
}
 
   return(0);
  }
//+------------------------------------------------------------------+


int setupUP (int i, int k, int k1)
{
int num=0;
int setUP=0;
for (i=0; i>=100; i++){
 if((Close[i+1]<Close[i+k])) {num=num+1;}
 }
 
 if (num>=k1) {
               setUP=1;
               return (setUP);     
            }
return (0);
}

int setupDOWN (int i, int k, int k1)
{
int num=0;
int setUP=0;
 if((Close[i+1]>Close[i+k])) {num=num+1;}
 if (num>k1) {
               setUP=1;
               return (setUP);     
            }

}
我应该怎样做才能输出第五个缓冲区?
 
zaqwsx123:

人们,我需要帮助,下面的代码只执行了第二部分,当sellstop应该被设置,而buystop由于某种原因没有被设置,尽管所有的条件都满足,我甚至看不出有什么问题)

如果(OrdersTotal()==2)

{

...

要在论坛中正确插入代码,请点击SRC

实际上,你应该选择一个订单,使用如果

if (OrderSelect(2,SELECT_BY_TICKET))
{
  //--- действие
 
我的问题中没有专业人员????