MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 1069

 
C++からエクスポートして、datetime 関数をmqlにインポートすることは可能ですか?作成したシェルの中だけで関数が動作することはありえないのではないかと思うのですが、知識のある方に教えていただきたいのですが?
 
Viatcheslav Pashkov:

を読んで、まさにその通りだと思いました。

しかし、それは知っていても忘れていた人たちのために書かれたものだったに違いない。

その情報は、私には少しも役に立ちませんでした。

簡単な例を教えてください。

template<typename T>
T Add(T first,T second) {return first+second;}
 
Seric29:
C++からエクスポートして、datetimeのような mqlの関数にインポートすることは可能でしょうか?作成したシェルの中だけで関数が動作することはありえないのではないかと思うのですが、知識のある方にお聞きしたいのですが?

できます。Datetimeは64ビットで、mqlコンパイラはすでにPOSIX時間として認識しています。つまり、DLLで、1970年01月01日00時00分から経過した秒数をINT64で返す関数を作ることを妨げるものは何もないのです。

dllに含まれることになります。

INT64 Foo(...){...}の場合

とインポートする際に宣言することができます。

datetime Foo(...)。

 

出品者登録が1週間できない、登録ボタンがない。 以前2回支払いできず(再登録に3週間かかった)、このアカウントで登録するのに1ヶ月以上かかった。

ボタンを取るためのタンバリンとは?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で、1970年01月01日00時00分から経過した秒数をINT64で返す関数を作ることを妨げるものは何もないのです。

dllに含まれることになります。

INT64 Foo(...){...}の場合

と輸入時に宣言することが可能です。

datetime Foo(...)。

返信ありがとうございます、元気がでました。

サイバーフォーラムでは、日付の実装に関するトピックをたくさん作りました。誰も明確な答えを出していない。また、C++側からdllで日付を生成するには、どのようなライブラリやリソースを接続する必要があるのでしょうか。ネットでいろいろなコードを見つけ、コンパイラに挿入しましたが、コンパイルすらできませんでした。

 
c++に配列を渡して、行数、列数などのパラメータを変更することは可能でしょうか?C++自体では問題なくできているのですが、mqlから配列を渡すと、なぜか変わらないのです。
 
Seric29:

返信ありがとうございます、元気がでました。

サイバーフォーラムでは、日付の実装に関するスレッドをたくさん作りました。誰も明確な答えを出していない。ネットでいろいろなコードを見つけてコンパイラに入れたのですが、コンパイルすらできません。

古典を引用すると、「ソウ・シュラ...」しかない。まず、OSがどのように時間を扱うかを把握します。https://docs.microsoft.com/en-us/windows/win32/sysinfo/time-functions

それがわかれば、すべてが簡単でシンプルになるのですが、しかし、これはあなたのやり方であり、誰もあなたに知識を投資することはなく、あなた自身だけです。

PS.最初のステップでは、無意味なCopy-Pasteを減らし、すぐに細かい作業に取りかかります。

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

古典を引用すると、「ソウ・シュラ...」しかない。手始めに、時間の経過とともにOSがどのように動くかを把握しましょう。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を書こうとしないでください。

事前に何度か講習を受けることで、神経と時間を節約することができます。

十分な勤勉さと決意があれば、2週間程度で終わる。素敵な賞状用紙を2枚同時に壁に掛けることができます

 
Seric29:

時間を扱うためのこれらの関数はすぐに使えるものなのでしょうか、それとも追加のライブラリが必要なのでしょうか、いろいろと見つけたのですが、どのように扱うのかがわかりません。youtubeの動画へのリンクはないのでしょうか?インターネット上で日付の作業に関するビデオを見たことがありません。複雑なテキスト情報か、機能しないテキスト情報を見つけ、ビデオはないのですか?

また、mql4用のc++のコードが動作しないのも理解できません。


この例はc++では動作しますが、mql4では動作しません。 外部プログラムで配列を変更できるのか、それとも静的でmql/の中だけで変更されるのか疑問です。

もちろんIMHOですが、意見はあり、私はそれを支持します。

ビデオ、サンプル、フォーラム、ヘルプミーと叫ぶことなどから学ぶことは、一流のコーダーへの近道です。教科書、ドキュメント、眠れない夜、解決策を探すために何リットルものコーヒーだけが、コーダーを開発者にするのです。