新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 1069

 
是否可以从C++导出并将数据时间 函数导入到mql?我怀疑函数不可能只在创建它们的外壳中工作,但我想从有知识的人那里知道?
 
Viatcheslav Pashkov:

这正是我读到的内容。

但它一定是为那些知道但已经忘记的人写的。

这些信息对我没有丝毫帮助。

你能给我一个简单的例子吗?

template<typename T>
T Add(T first,T second) {return first+second;}
 
Seric29:
是否有可能从C++导出并导入mql中的函数,如datetime?我怀疑函数不可能只在它们创建的外壳中工作,但我想问问一些有知识的人?

你可以。Datetime只是64位,mql编译器已经将其视为POSIX时间。因此,没有什么能阻止你在dll中创建函数,以返回INT64,即从00:00:00到01.01.1970的秒数。

该dll将包含。

INT64 Foo(...){...}。

并且你可以在导入时声明

datetime Foo(...)。

 

我不能以卖家身份注册一周,没有注册按钮。 我之前不能支付两次(我花了3周时间重新注册),我花了一个月多时间才注册成这个账户。

什么是手鼓来获取按钮?https://www.metatrader5.com/ru/terminal/help/market/market_sell

Как стать продавцом - Маркет - магазин приложений - Справка по MetaTrader 5
Как стать продавцом - Маркет - магазин приложений - Справка по MetaTrader 5
  • www.metatrader5.com
Торговая платформа обладает многомиллионной аудиторией трейдеров. Став продавцом в Маркете, вы получите прямой доступ к ним, ведь ваш продукт появится прямо в торговой платформе на витрине Маркета. Помимо этого все продукты доступны на витрине Маркета на сайте MQL5.community. Как зарегистрироваться в качестве продавца # Чтобы иметь возможность...
 
Vladimir Simakov:

你可以。Datetime只是64位,mql编译器已经将其视为POSIX时间。因此,没有什么能阻止你在dll中创建函数,以返回INT64,即从00:00:00到01.01.1970的秒数。

该dll将包含。

INT64 Foo(...){...}。

并有可能在进口时进行申报。

datetime Foo(...)。

谢谢你的答复,使我的精神振奋。

我在cyberforum上创建了很多关于日期实施的主题。没有人给出任何明确的答案。我需要连接哪些库和资源来从C++端生成dll中的日期,我在网上找到了不同的代码,并把它们插入到编译器中,它们甚至没有编译?

 
是否可以将一个数组传递给c++并改变其参数,如行数和列数。在C++中,这样做是没有问题的,但是当我从mql中传递一个数组时,它并没有改变问题,为什么?
 
Seric29:

谢谢你的答复,使我的精神振奋。

我在cyberforum上创建了这么多关于日期实施的主题。没有人给出任何明确的答案。我应该用什么库和资源来在dll中从++端生成日期,我在网上找到了不同的代码,并把它们插入到编译器中,但它们甚至没有编译?

我只能引用经典之作:"看到修罗......"。首先,弄清楚操作系统是如何使用时间的:https://docs.microsoft.com/en-us/windows/win32/sysinfo/time-functions

当你想通了,一切都会变得容易和简单,但是--这是你的方式,没有人会在你身上投资知识,只有你自己。

PS。在最初的步骤中,减少无意识的复制-粘贴,立即进入细枝末节。

Time Functions - Win32 apps
  • 2018.05.31
  • mcleanbyron
  • docs.microsoft.com
The following functions are used with system time.
 
Vladimir Simakov:

我只能引用经典之作:"看到修罗......"。对于初学者来说,要弄清楚操作系统是如何长期工作的:https://docs.microsoft.com/en-us/windows/win32/sysinfo/time-functions

当你理解它时,一切都会变得容易和简单,但是--这是你的方式,没有人会向你投资知识,只有你自己。

PS。减少无意识的复制-粘贴的第一步,立即进入微妙的阶段。

这些现成的功能是与时间一起工作还是你需要额外的库,我只是找到了很多东西,但不明白如何与它一起工作。你有任何YouTube视频的链接吗?我从来没有在互联网上看到过任何关于使用枣的视频,我找到的不是复杂的就是没有作用的文字信息,没有视频?

我也不明白为什么mql4的c++代码不能工作。

// ConsoleApplication5.cpp: определяет экспортированные функции для приложения DLL.
//со стороны mql объявляем массив формата int Mas[1] 

#include "stdafx.h"
#include <conio.h>
#include <iostream>

using std::cout;
using std::endl;
using std::cin;

using namespace std;//пытался выводить в консоль инфу но не работает может можно выводить в файл

#define _DLLAPI extern "C" __declspec(dllexport)


//данный пример работает в с++ но не работает в mql4
void Perenapr(int *&mas){// принимает массив как указатель на ссылку
int *arr=new int[10];// создаём новый массив/ новый участок памяти куда будем перенаправлять указатель со старого участка
for(int y=-1;++y<5;)//присваиваем элементы
arr[y]=y+1;
mas=arr;// перенаправляем указатель на новый участок памяти в результате со стороны mql указатель не меняется
// создаётся впечатление что в с++ из mql массив передается по значению а изменить форму массива из
// mql нельзя только из самого mql
}
_DLLAPI int __stdcall  test(int q,int w){
        return(189);}

_DLLAPI void __stdcall PriomMas(int mas[]){// данная функция принимает массив
Perenapr(mas);//данная функция перенаправляет указатель массива на ссылку указатель int *&mas
}


这个例子在c++中可行,但在mql4中不行。 我想知道你是否可以用外部程序改变数组,或者它们是静态的,只在mql/中改变。

 
Seric29:

这些现成的函数是用来处理时间的,还是需要额外的库,我已经找到了很多东西,但还没有想出如何与它们合作。你有任何YouTube视频的链接吗?我从来没有在互联网上看到过任何关于使用枣的视频,我找到的不是复杂的就是没有作用的文字信息,没有视频?

我也不明白为什么mql4的c++代码不能工作。


这个例子在c++中可行,但在mql4中不行。 我想知道你是否可以用外部程序改变数组,或者它们是静态的,只在mql/中改变。

不要试图用你不知道的语言编写DLL。

通过事先参加一些培训课程,你将节省大量的神经和时间。

只要有足够的勤奋和决心,这只是几周的时间。你可以同时在墙上挂上几张漂亮的证书纸

 
Seric29:

这些现成的函数是用来处理时间的,还是需要额外的库,我已经找到了很多东西,但还没有想出如何与它们合作。你有任何YouTube视频的链接吗?我从来没有在互联网上看到过任何关于使用枣的视频,我找到的不是复杂的就是没有作用的文字信息,没有视频?

我也不明白为什么mql4的c++代码不能工作。


这个例子在c++中可行,但在mql4中不行。 我想知道你是否可以用外部程序改变数组,或者它们是静态的,只在mql/中改变。

当然是IMHO,但有一个观点,我支持它。

从视频、例子、论坛、喊救命等方面学习,是成为一名优秀的编码员的直接途径。只有教科书、只有文档、只有不眠之夜和为寻找解决方案而喝下的几升咖啡才能使一个编码员成为开发者。

原因: