mql4语言的特点、微妙之处以及技巧 - 页 25

 
Alexey Viktorov:

这不是一个市场--它是一个正常的收盘。

很明显,总是有一个市场可以用手来关闭。问题仍然存在--限价单是否在所有的经纪公司都实施?如果不是,它取决于什么--MT服务器设置和/或其他东西?

 
Aleksey Mavrin:

很明显,总是有一个市场可以用手来关闭。问题仍然存在--所有经纪公司都有限价单?如果不是,它取决于什么--MT服务器设置和/或其他东西?

所有的人。

足够了解定义:BuyLimit只能低于当前价格。也拿去卖,只是低于当前价格。所有其他的选择都是一个正在进行的工作。

 
Aleksey Mavrin:

问题仍然存在--所有经纪公司都有限价单

不,看看经纪公司关于如何执行限价和止损的规定。

 
Andrei Trukhanovich:

不,请看华盛顿特区关于执行采取和停止的规定。

你能要求一个更详细的答案吗?例子,比较和其他拿货和限价单的区别。

 
Alexey Viktorov:

那你是怎么编的呢?难道你不知道只有数组的第一维可以是动态的吗?

ps; 对不起,我不会删除这个帖子。在mql4中,即使有#property strict,它也能编译。

这个事实更值得在这个主题中出现。

关键是,在MQL4中,它只是正确的。否则,如果明确指定第二个维度的值,编译器不能选择所需的重载。在MQL5中,它可以。

 
fxsaber:

问题是,在MQL4中,这是唯一正确的方法。否则,如果明确指定第二个维度的值,编译器无法选择正确的重载。在MQL5中,它可以。

你的例子是一个常见的用户期望的例子,即使通过分析GetlastError,也无法追踪到结果。

我认为,一些sizeof()必须始终正确地工作,或者两种语言(MQL4/MQL5)必须保持一致。

 
Igor Makanu:

这是一个模棱两可的 "如此正确",我认为--你的例子是一个常见的用户期望的例子--即使通过分析GetlastError也无法追踪到结果。

我认为,一些sizeof()必须始终正确地工作,或者两种语言(MQL4/MQL5)必须保持一致。

在MQL4中,以下是一个经典案例

void Func( int &Array[][2] ) {}
void Func( int &Array[][5] ) {}

void OnStart()
{
  int Array[][2];
  
  Func(Array); // 'Func' - ambiguous call to overloaded function with the same parameters  
}

这就是为什么我甚至没有提供它。这是正确的做法。

另一方面,零的ArraySize是一个微妙的问题。
 
fxsaber:

但零ArraySize是一个微妙的问题。

在C#中检查

using System;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            int[,] a = new int[5, 7];
            Console.WriteLine(ArraySize2(a));
            Console.ReadLine();
            
        }
        static int ArraySize2(int[,] arr ) 
        { 
            return (arr.Length); 
        }
    }
}

35

我认为,这种特殊性接近于微妙的))))。

但这并不明确,需要在编写代码时不断检查。

 
Aleksey Mavrin:

问题仍然存在--所有的经纪公司都有一个限位开关?如果不是,它取决于什么--MT服务器设置和/或其他东西?

不,不是所有的人。不久前,当我在执行 "获利 "时出现负的(对我不利的)滑移时,我感到很不愉快。这是在新闻中。技术支持人员解释说,这是正常的,限价(根据定义,获利是一种限价订单)是作为MIT(如果触及市场)执行的。换句话说,当价格触及限价单水平时,它将作为市场订单被执行。当然是不愉快的,但也没有什么可做的。

 
大家好!我是新来的....在这里赚钱是现实的吗?
原因: