对MQL5的祝愿 - 页 100

 
YuraZ >> :

我看到有一个printf 函数

如果也有sprintf,那该有多好啊

也许StringFormat() 函数可以取代它。

字符串格式

它对收到的参数进行格式化并返回一个字符串。

string StringFormat(
string format, // 格式字符串
... ... // 参数
);

参数

格式

[包含格式化方法的字符串。格式化规则与PrintFormat 相同。

...

[in] 参数,用逗号分隔。

返回的值

字符串。


 
Rosh писал(а)>>

也许StringFormat() 函数可以取代它。

我理解,StringFormat函数应该被指定为sprintf的同义词,类似于PrintFormat和printf。但在这种情况下,我们也需要实现Snprintf函数。

 
Rosh >> :

MQL5的帮助指出。


嗯哼...只有指标的这个事件,(目前?)不允许与对象一起工作。

我们被要求将这种指标作为专家顾问来实施。但对于Expert Advisors(专家顾问)来说,计算修改后的条形图的功能(OnCalculate)是不可用的。

 
Roffild писал(а)>>

嗯哼...只有这个事件是针对(尚?)禁止与对象工作的指标

我们被要求将这样一个指标作为一个专家顾问来实施。但计算变化的条形图的功能(OnCalculate)对Expert Advisors是不可用的。

在OnCalculate中,我们传递了被处理的条数prev_calculated,该条数由OnCalculate 的前一次调用返回。你可以使用全局变量或静态局部变量来计算专家顾问中处理的条形图。

 
stringo >> :

在OnCalculate中,处理过的条数prev_calculated,它是由上一次调用OnCalculate 返回的。在专家顾问中,你可以使用一些全局或静态局部变量来计算自己处理的条形图。

我能否在专家顾问中知道,用户改变了图表的时间框架,所有的条形图都应该重新计算?

在指标方面不存在这样的问题。

 
Roffild писал(а)>>

我能否在EA中知道用户已经改变了图表的时间框架,所有的 条形图都需要重新计算?

是的,你可以。首先,OnDeinit函数将用旧的参数被调用,然后用新参数调用OnInit函数。

 
允许专家在"数据窗口"中显示他们的数据,因为许多人必须对 "专家 "重写指标
 

我希望mql5能有语法高亮,更重要的是,关闭时的括号(一对括号是可以关闭的),函数和文本的替换,命令书写和比较符号>=,<=,=<,=>的语法纠正,在专家顾问中连接额外窗口的可能性--例如ObjWindowCreate(string Name, bool TypeWindow=false) [false - 作为指标窗口,true - 作为货币对的独立窗口]

我还建议采用NotePade++的编辑界面

我希望能够通过勾选函数代码和点击左侧面板中靠函数标题的减号来隐藏或打开函数的文本。

添加变量的类型为LineType - 这样EA的属性可以在其设置中单独选择显示的线条的类型

在EA工作时,为初始化设置创建单独的int - 例如int OnChangeProperty() { return(0)}。

增加诸如AccountMaxLot()等函数--客户当前可能的最大出价

如果能在订单创建窗口添加一个标签,显示所选批次的所需金额,那就更好了。

创建函数,显示特定订单的当前利润,无论是否考虑到点差和互换 - 例如 int CalculateProfitOrder(int OrderNumberHistoryList, bool spred=false, bool swop=false)

其中数字是有效订单列表中的订单号

在unicode中支持字符串变量和插入功能 - string CharUTF(string Font, string 'u+0021') 其中u+是unicode的头,0021是符号表中的符号代码。

或string CharUTF(string Font, string U'0021'),最好是在解释器中添加一个字符表示,如日期或颜色,标题为U'XXXX'。

也可以通过string CharToUtf(string Text)和string UtfToChar(string UtfText)来翻译字符串的函数。

而一般来说,为了方便起见,最好按类型来描述头像。

启用专家顾问OnInit()。

关闭专家顾问OnDeinit()。

改变时间框架 OnChangeTimeFrame(int TimePeriod=Period())

改变缩放比例 OnChangeZoom( int CountBarPerWindow=WindowBarsPerChart())

新价格 OnNewPrice()

创建一个新窗口 OnCreateNewWindow(string NameWindow, int IndexWindow=WindowFind(NameWindow), bool TypeWindow=false)

接收投资者请求 int OnInvestor (int IndexInvestor - 投资者ID(账号),string NameInvestor - 投资者描述, ..... - OrderSend( return(Id Create Order) ) 命令的逗号分隔的参数)

创建订单 - OnCreateOrder (int IndexOrder=OrderNumberHistoryList)

编辑订单 - OnModifyOrder (int IndexOrder=OrderNumberHistoryList)

通过TP, SL, Date或手动关闭订单的事件 OnOrderClose (int TypeCloseOrder= CLOSEMODE_ [TP, SL, Date, Manual], int IndexOrder=OrderNumberHistoryList, bool PriceType=true)

其中PriceType是订单关闭的标志 true - 以正数订单余额交易 false - 以负数订单余额交易

附加的文件:
 
也许这已经在某些EA中实现了,但我希望在程序的基本版本中看到这一点,即有未结头寸或待定头寸的图表的标签用某种颜色突出。例如,如果价格接近T/P--绿色,则有未结头寸 的图表标签会以黄色突出显示,到S/L,则分别以红色突出显示。如果用一些颜色来标记必要的快捷方式,也会非常方便。这在处理几个(许多或所有)乐器时非常有用。在周六和周日,你做你的分析,选择配对来等待信号,用漂亮的颜色标记它们并观察它们。
 

你可以在Mt的底部,即报告资料名称的地方,添加强加的模板的名称?

配置文件名称,所以你可以在配置文件列表中看到(总有一个复选标记,知道你在哪里),但现在哪个模板被叠加没有。