初心者の方からの質問 MQL5 MT5 MetaTrader 5 - ページ 733 1...726727728729730731732733734735736737738739740...1504 新しいコメント Artyom Trishkin 2017.02.10 21:34 #7321 Vitaly Muzichenko: あなたの"ArraySortBubbleTwoDims"へ。 どう呼ぶんだ? Artyom Trishkin 2017.02.10 21:45 #7322 Vitaly Muzichenko:あなたの「ArraySortBubbleTwoDims」へ。とにかく、ループを拡張して、問題は解決しました。しかし、やはり標準的な関数の形で正規解が欲しいところです 取り除く Artyom Trishkin 2017.02.10 21:49 #7323 Vitaly Muzichenko:あなたの「ArraySortBubbleTwoDims」へ。とにかく、ループを拡張して、問題は解決しました。しかし、やはり標準的な関数の形で正規解が欲しいところです スクリプトを確認中。//+------------------------------------------------------------------+//| sTestSort.mq5 |//| Copyright 2017, Artem A. Trishkin, Skype artmedia70 |//| https://login.mql5.com/ru/users/artmedia70 |//+------------------------------------------------------------------+#property copyright "Copyright 2017, Artem A. Trishkin, Skype artmedia70"#property link "https://login.mql5.com/ru/users/artmedia70"#property version "1.00"//---#define TWO_DIM (2)//+------------------------------------------------------------------+//| Script program start function |//+------------------------------------------------------------------+void OnStart() {//--- double array[][TWO_DIM]; ArrayResize(array,10); for(uchar i=0; i<10; i++) { array[i][0]=i*10; array[i][1]=rand(); } Print("Перед сортировкой"); for(uchar i=0; i<10; i++) Print("array[",i,"][0]=",array[i][0],", array[",i,"][1]=",array[i][1]); Print("Сортировка по первому измерению по возрастанию"); ArraySortBubbleTwoDims(array); for(uchar i=0; i<10; i++) Print("array[",i,"][0]=",array[i][0],", array[",i,"][1]=",array[i][1]); Print("Сортировка по первому измерению по убыванию"); ArraySortBubbleTwoDims(array,0,1); for(uchar i=0; i<10; i++) Print("array[",i,"][0]=",array[i][0],", array[",i,"][1]=",array[i][1]); //--- Print("Сортировка по второму измерению по возрастанию"); ArraySortBubbleTwoDims(array,1); for(uchar i=0; i<10; i++) Print("array[",i,"][0]=",array[i][0],", array[",i,"][1]=",array[i][1]); Print("Сортировка по второму измерению по убыванию"); ArraySortBubbleTwoDims(array,1,1); for(uchar i=0; i<10; i++) Print("array[",i,"][0]=",array[i][0],", array[",i,"][1]=",array[i][1]); }//+------------------------------------------------------------------+//| Пузырьковая сортировка двумерного массива |//+------------------------------------------------------------------+template<typename T>void ArraySortBubbleTwoDims(T& array[][TWO_DIM], int sort_dimension=0, int sort_direction=0) { T t=0; int k=ArrayRange(array,1); // Количество колонок int n=ArrayRange(array,0); // Количество строк //--- if(sort_dimension<0) sort_dimension=0; if(sort_dimension>k) sort_dimension=k; //--- for(int i=n-1; i>0; i--) { for(int j=0; j<i; j++) { //--- по возрастанию if(sort_direction==0) { if(array[j][sort_dimension]>array[j+1][sort_dimension]) { for(int e=0; e<k; e++) { t=array[j][e]; array[j][e]=array[j+1][e]; array[j+1][e]=t; } } } //--- по убыванию else { if(array[j][sort_dimension]<array[j+1][sort_dimension]) { for(int e=0; e<k; e++) { t=array[j][e]; array[j][e]=array[j+1][e]; array[j+1][e]=t; } } } } }}//+------------------------------------------------------------------+ Questions from Beginners MQL5 MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 Any questions from newcomers Vitaly Muzichenko 2017.02.10 21:57 #7324 Artyom Trishkin: スクリプトを確認中。ありがとうございます、でも私のコードはマジックです(Error: 'mas' - parameter conversion not allowed e.mq5 2129 25 Artyom Trishkin 2017.02.10 21:59 #7325 Vitaly Muzichenko:ありがとうございます、でも私のコードはマジックです(Error: 'mas' - parameter conversion not allowed e.mq5 2129 25 あなたのmasは二次元の大きさ3です。2個必要です。 Vitaly Muzichenko 2017.02.10 22:07 #7326 Artyom Trishkin: あなたのmasは2次元が3です。2個必要です。結論から言うと#define TWO_DIM (3)void PosBySort(double &mas[][3]) ありがとうございました。 dzhabrailov 2017.02.11 05:54 #7327 mql5の勉強に苦労しているのですが、金融の部分が分からないので、何を書けばいいのかすら分からないことに気づきました。基本的な知識はあるが、どう使っていいかわからない。同じ状況に陥った善良な人たちに、どのように出口を見出したのか、アドバイスをお願いします。 Alexey Viktorov 2017.02.11 06:02 #7328 dzhabrailov: mql5の勉強に苦労しているのですが、金融の部分が理解できていないことに気づき、何を書けばいいのかもわからなくなりました。基本的な知識はあるが、どう使っていいかわからない。同じ境遇の善良な人たちにアドバイスしてあげてください。 金融パートとはどういう意味ですか?トレーディング機能?OrderSend() は、整理する方法が明確ではありません? Документация по MQL5: Торговые функции / OrderSend www.mql5.com Торговые функции / OrderSend - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5 dzhabrailov 2017.02.11 06:25 #7329 それこそ、安く仕入れて高く売れるとは限りませんよね。取引に参入するタイミングと撤退するタイミングなど、そういうことです。 Alexey Viktorov 2017.02.11 06:38 #7330 dzhabrailov: それこそ明確なのですが、常に安く仕入れて高く売るというわけにはいきません。取引に参入するタイミングと撤退するタイミングなど、そういうことです。 まあ、これはプログラミングという概念にはないんですけどね。これがトレーディングの技術です。しかし、私はそのようなトレーニングが成功するとは思っていません。 1...726727728729730731732733734735736737738739740...1504 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
あなたの"ArraySortBubbleTwoDims"へ。
あなたの「ArraySortBubbleTwoDims」へ。
とにかく、ループを拡張して、問題は解決しました。しかし、やはり標準的な関数の形で正規解が欲しいところです
あなたの「ArraySortBubbleTwoDims」へ。
とにかく、ループを拡張して、問題は解決しました。しかし、やはり標準的な関数の形で正規解が欲しいところです
//| sTestSort.mq5 |
//| Copyright 2017, Artem A. Trishkin, Skype artmedia70 |
//| https://login.mql5.com/ru/users/artmedia70 |
//+------------------------------------------------------------------+
#property copyright "Copyright 2017, Artem A. Trishkin, Skype artmedia70"
#property link "https://login.mql5.com/ru/users/artmedia70"
#property version "1.00"
//---
#define TWO_DIM (2)
//+------------------------------------------------------------------+
//| Script program start function |
//+------------------------------------------------------------------+
void OnStart()
{
//---
double array[][TWO_DIM];
ArrayResize(array,10);
for(uchar i=0; i<10; i++) {
array[i][0]=i*10;
array[i][1]=rand();
}
Print("Перед сортировкой");
for(uchar i=0; i<10; i++) Print("array[",i,"][0]=",array[i][0],", array[",i,"][1]=",array[i][1]);
Print("Сортировка по первому измерению по возрастанию");
ArraySortBubbleTwoDims(array);
for(uchar i=0; i<10; i++) Print("array[",i,"][0]=",array[i][0],", array[",i,"][1]=",array[i][1]);
Print("Сортировка по первому измерению по убыванию");
ArraySortBubbleTwoDims(array,0,1);
for(uchar i=0; i<10; i++) Print("array[",i,"][0]=",array[i][0],", array[",i,"][1]=",array[i][1]);
//---
Print("Сортировка по второму измерению по возрастанию");
ArraySortBubbleTwoDims(array,1);
for(uchar i=0; i<10; i++) Print("array[",i,"][0]=",array[i][0],", array[",i,"][1]=",array[i][1]);
Print("Сортировка по второму измерению по убыванию");
ArraySortBubbleTwoDims(array,1,1);
for(uchar i=0; i<10; i++) Print("array[",i,"][0]=",array[i][0],", array[",i,"][1]=",array[i][1]);
}
//+------------------------------------------------------------------+
//| Пузырьковая сортировка двумерного массива |
//+------------------------------------------------------------------+
template<typename T>
void ArraySortBubbleTwoDims(T& array[][TWO_DIM], int sort_dimension=0, int sort_direction=0) {
T t=0;
int k=ArrayRange(array,1); // Количество колонок
int n=ArrayRange(array,0); // Количество строк
//---
if(sort_dimension<0) sort_dimension=0;
if(sort_dimension>k) sort_dimension=k;
//---
for(int i=n-1; i>0; i--) {
for(int j=0; j<i; j++) {
//--- по возрастанию
if(sort_direction==0) {
if(array[j][sort_dimension]>array[j+1][sort_dimension]) {
for(int e=0; e<k; e++) {
t=array[j][e];
array[j][e]=array[j+1][e];
array[j+1][e]=t;
}
}
}
//--- по убыванию
else {
if(array[j][sort_dimension]<array[j+1][sort_dimension]) {
for(int e=0; e<k; e++) {
t=array[j][e];
array[j][e]=array[j+1][e];
array[j+1][e]=t;
}
}
}
}
}
}
//+------------------------------------------------------------------+
スクリプトを確認中。
ありがとうございます、でも私のコードはマジックです(
Error: 'mas' - parameter conversion not allowed e.mq5 2129 25
ありがとうございます、でも私のコードはマジックです(
Error: 'mas' - parameter conversion not allowed e.mq5 2129 25
あなたのmasは2次元が3です。2個必要です。
結論から言うと
void PosBySort(double &mas[][3])
mql5の勉強に苦労しているのですが、金融の部分が理解できていないことに気づき、何を書けばいいのかもわからなくなりました。基本的な知識はあるが、どう使っていいかわからない。同じ境遇の善良な人たちにアドバイスしてあげてください。
それこそ明確なのですが、常に安く仕入れて高く売るというわけにはいきません。取引に参入するタイミングと撤退するタイミングなど、そういうことです。