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

 
Veterros:

在最后一行,有很多的括号。也许可以尝试删除空的。
你永远不可能有太多的括号,只要有同样多的开括号和闭括号就可以了。
 
alexeymosc:

你好!我不明白为什么在函数之外声明一个数组时会出现错误。

错误:'[' - 无效的索引

如何声明一个以变量为索引的二维非动态数组?

我试着设置const而不是static。我也试过[][]。仍然是一个错误(

请戳一个教程,在哪里查这个问题,一劳永逸。

因为尽管有给变量赋值 的顺序,但在程序运行之前,这些变量仍然没有被初始化。所以,在你运行int Oninit()之前,你使用的变量并没有被初始化。把这一行移到Oninit()中,一切都会正常。
 

我有一个简单的代码,不能打开订单。

在我的日志中,它说。'1419717': 订单买入0.01欧元兑美元在市场上开盘sl: 1.13720 tp: 1.13842失败[无效的S/L或T/P]。

在这里(论坛上),我得到了一个提示:"停止和武井应该被正常化!"。

我不明白这句话是什么意思?

编译器没有产生任何错误或警告。在测试过程中,一切正常。我只是不知道该在哪里读,该读什么。

如果解释起来太长,请给我发一个链接,让我了解如何将止损和止盈正常化。

提前感谢。

double Lots=0.01;
double TakeProfit=100;
double StopLoss=10;
int tk=0;

void start()
{
   if (OrdersTotal()==0)
      {
         tk=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Bid-StopLoss*Point,Ask+TakeProfit*Point,0,0,0,Green);
         if(tk<0) 
         {
            Print("OrderSend завершилась с ошибкой #",GetLastError());
         }
         else         
         {
            Print("Функция OrderSend успешно выполнена");
         }
      }
}
 
AlexeyVik:
因为尽管有给变量赋值的顺序,但在程序启动之前,这些变量仍未被初始化。也就是说,在你运行int Oninit()之前,你用来作为数组维度的变量并没有被初始化。把这一行移到Oninit()中,一切都会正常。

AlexeyVik, 谢谢你!

这是我要做的。我没有想到Oninit,但我想这是真的。

 

请给我一个提示 ))))

图表上有一定数量的图形对象

一根新的钢筋已经完成成型。确定它是否接触过任何物体的最简单方法是什么?

(我不希望搜索所有对象的价格,并比较最新条形图的价格范围是否触及其中任何一个)。

换句话说,价格和日期范围如何确定这些坐标中是否有任何图形对象。

 
favidu:

我有一个简单的代码,不能打开订单。

在我的日志中,它说。'1419717': 订单买入0.01欧元兑美元在市场上开盘sl: 1.13720 tp: 1.13842失败[无效的S/L或T/P]。

在这里(论坛上),我得到了一个提示:"停止和武井应该被正常化!"。

我不明白这句话是什么意思?

编译器没有产生任何错误或警告。在测试过程中,一切正常。我只是不知道该在哪里读,该读什么。

如果解释起来太长,请给我发一个链接,让我了解如何将止损和止盈正常化。

预先感谢你。

参考书中的NormalizeDouble()挖掘。但是,如果你的经纪人不允许你在开立 市场订单 暴露止损,你应该用零输入,并在第二步单独暴露它们。在kodobase里有一些例子。


tk=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,NormalizeDouble(Bid-StopLoss*Point,_Digits),NormalizeDouble(Ask+TakeProfit*Point,_Digits),0,0,0,Green);
 
evillive:

NormalizeDouble()挖掘引用。但如果经纪商不允许你在开立市场订单时设置止损,你应该在第二步以零输入,并单独设置。在kodobase里有一些例子。


非常感谢你。
 

伙计们,把我推向正确的方向......

比如说。

#property strict
#property indicator_chart_window
#property indicator_buffers             0

int init() {

        return(0);
}

int start() {
        if (!GlobalVariableCheck(StringConcatenate("ID_", Symbol()))) {
                long id = ChartID();
                Print (id);
                GlobalVariableSet(StringConcatenate("ID_", Symbol()), id);
        }
        return(0);
}

它从不保存它所打印的东西...

类似这样的事情。

结果

CHANDNT?

 
好吧,我一发帖,服务器就变成了404 =)
 

暂时将高位分开写,低位分开写。

似乎一个全局变量的类型为double ,并不适合长。

虽然这里 说,除了"如果一个整数大于9223372036836854774784或小于-9223372036854774784"的情况,应该没有问题。

但同意,图表ID=130659893770676840至少比9223372036854774784一个整数位


P.S. 如果有人能解释我的错误,或者是一个小故障,提前感谢。我将继续在这里检查。