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

 

伙计们,我遇到了错误130,如果可以,请给我建议。请不要批评太多,我是个初学者。

.
.
.
   double step = 0.0005;
   double val,c,r,res;
   string str;
   int i; //цикличесская
   int stp=5;
.
.
.
   c=(Ask+Bid)/2;
   r=(MathRound(c*1000))/1000;
   if((r-c)==0){
      res=r;
   }
   else{
      if((r-c)>0){
         res=r-step;
      }
      else {
         res=r+step;
      }
   }
.
.
.
      ResetLastError();
      OrderSend(Symbol(),OP_BUYLIMIT,0.01,res-stp*(i+1)*Point,3,res-(stp*(i+1)-100)*Point,res-(stp*(i+1)+5)*Point,"|",0,0,CLR_NONE);
      Print("98-",GetLastError());
.
.
...
 

大家好)请给我建议--我不知道如何写代码(例如;2个机器人工作--每个机器人都有自己的magik),大多数买入或卖出订单都落在历史订单 上,即如果订单是卖出,下一笔交易是买入订单--问题是我不能选择最后的订单和magik一起。因此,识别特定机器人的订单类型(只有部分代码起作用--如果我只选择历史上的最后一个订单--当机器人是一个时完全起作用,写的第二个代码用于列出所有具有神奇数字的订单,打印其数字并写出其类型,但为什么不返回最后的值,我不明白为什么),帮助我把它连接成一个整体,在这里1和2代码。

1) 确定最后一个订单的代码,或者更准确地说,它的类型

int orderBS;

int total1=OrdersHistoryTotal()-1;

if(OrderSelect(total1, SELECT_BY_POS, MODE_HISTORY) == true) // 订单类型

{ orderBS=OrderType();}。

2) 代码计算所有已执行的交易,并记录其订单号和类型,但不输出最后的订单。

int k ;

int orderBS;

如果(OrdersHistoryTotal()>0)

{ for(int O=OrdersHistoryTotal()-1; O>=0; O--)

{ 如果(OrderSelect(O,SELECT_BY_POS,MODE_HISTORY))

{ 如果(OrderMagicNumber()!=136)继续。

如果(OrderMagicNumber()==136)

k=OrderMagicNumber()。

orderBS=OrderType()。

Alert("最后订单号136=", "历史订单号=",O, "神奇数字=",k, "订单坐买=",orderBS); }}}}}

如何从历史上的最后一个订单中退回一个想要的神奇数字!!?


帮帮我吧!!!!!

 
Tema97:

大家好)请给我建议--我不知道如何写代码(例如;2个机器人工作--每个机器人都有自己的magik),大多数买入或卖出订单都落在历史订单上,即如果订单是卖出,下一笔交易是买入订单--问题是我不能选择最后的订单和magik一起。因此,识别特定机器人的订单类型(只有部分代码起作用--如果我只从历史中选择最后一个订单--当机器人是一个时完全起作用,第二个代码写的是列出所有具有神奇数字的订单,打印其数字并写出其类型,但为什么没有返回最后的值,我不明白为什么),帮助我将其连接成一个整体,在这里1和2代码。


1) 要在论坛中正确粘贴源代码,请点击SRC,在出现的窗口中粘贴你的代码。


2) 试试这样的脚本,很快就勾画出来了,还没有测试,因为我没有历史上的订单。

#property strict

void OnStart()
  {
   if(OrdersHistoryTotal()>0)
     {
      for(int i=OrdersHistoryTotal()-1; i>=0; i--)
        {
         if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY))
           {
            if(OrderMagicNumber()!=136) continue;
              {
               Print("Последний ордер с магик-номером 136: индекс ордера в истории = ",i,
                     " магик номер = ",OrderMagicNumber(),
                     " тип ордера = ",OrderType());
               return;
              }
           }
        }
     }
  }

3) 记住,如果在if后面只有一条 指令,你 需要放大括号{ },但如果你有2条或更多的 指令依赖于这个if,你必须把它们放在{ }里面 。在你上面的例子中,在条件if(OrderMagicNumber()==136)之后有3条指令to=...;orderBS=...;和Alert();但它们没有放在{ }里面。

 

"一个人不是战场上的士兵!"

大家好!

是否有来自LITMO(圣彼得堡国立信息技术机械和光学大学)的人,住在圣彼得堡,你可以和他见面,讨论编程问题?
请亲自或通过电子邮件与我联系:leonid.belskiy@gmail.com !!!!!
 
paladin80:

1) 要在论坛中正确粘贴源代码,请点击SRC,在出现的窗口中粘贴你的代码。


2) 试试这个脚本,很快就勾画出来了,没有检查,因为我没有历史上的订单。

3) 记住,如果在if后面只有一条 指令,你 需要放大括号{ },但如果有2条或更多的 指令取决于这个if,你必须把它们放在{ }里面 。在你上面的例子中,在条件if(OrderMagicNumber()==136)之后有3条指令to=...;orderBS=...;和Alert();但它们没有放在{ }里面。

- 它与2个代码的作用相同--最后一个代码不选择((((((((((((。

我可以做一些像?????,在关闭时间或没有选择的情况下吗?

 
大家好。谁知道一个一维静态数组的寿命是多少?它到底是不是和局部变量 一样?
 
i999i:
大家好。谁知道一个一维静态数组的寿命是多少?它到底是不是和局部变量一样?
在执行了一个声明了数组 的函数后,我是否应该删除它或对它做一些事情以释放内存,或者它将被自行删除?
 
i999i:
在执行一个函数后,其中声明了一个数组,它应该被删除或做一些事情来释放内存,还是它将自己删除?
只要程序在运行,它(数组)就存在
 
Vinin:
只要程序在运行,它(数组)就存在
但是,如果我每小时需要它1次,其余时间不需要它......我如何删除它......它占用了内存。
 
你能告诉我,图表自己重新绘制的频率是多少?(以及由ChartRedraw()强制执行)