初心者の方からの質問 MQL5 MT5 MetaTrader 5 - ページ 1432 1...142514261427142814291430143114321433143414351436143714381439...1503 新しいコメント jeremy10p100 2022.12.22 05:50 #14311 皆さんこんにちは、 私は新参者なので、適切な場所に書けることを願っています: 「過去の損失と現在のドローダウンがx%以下になったら全取引を決済する」+「セッション/日が終わるまで全取引を即座に決済する」。 どなたかこの方法をご存知の方、または私を助けてくださる方がいらっしゃいましたら、ご連絡いただけると助かります。 ーありがとうございます。) Alexey Petrov 2022.12.22 09:37 #14312 jeremy10p100 # :皆さん、こんにちは、私は新しいので、私は適切な場所に書いている願っています:私は私のお金の管理で私を助けることができるEAをコード化するために探しています: 「過去の損失と現在のドローダウンがx%以下になったら全取引をクローズする" + "セッション/日終了まで全取引を即座にクローズする"。 どなたかこの方法をご存知の方、または私を助けてくださる方がいらっしゃいましたら、ご連絡いただけると助かります。ありがとうございます。) こんにちは、 https://www.mql5.com/fr/search#!keyword=money%20management&module=mql5_module_marketを 検索してみてください。 また、フリーランスにカスタマイズされたソリューションを注文することもできます -https://www.mql5.com/fr/job Kira27 2022.12.27 10:25 #14313 皆さん、こんにちは!配列からデータベースに値をコピーする方法を教えてください。 これは、データベースで作業する例のコードですが、配列からデータベースにSALARYフィールドにデータを挿入しようとすると、スクリプトを実行するときにエラーが発生します。 また、別の質問ですが、例えば、注文のデータを持つ配列があり、その数がかなり多い場合、この配列をすべてデータベースのテーブルに移動するにはどうすればよいのでしょうか? VALUES (1,'Paul',a,'California',29000.00) --> VALUES (1,'Paul',a,'California',Mass[0]) void OnStart() { double Mass[4]={1,2,5,6}; int a =222; Alert(Mass[3]); string filename="company.sqlite"; //--- создадим или откроем базу данных в общей папке терминалов int db=DatabaseOpen(filename, DATABASE_OPEN_READWRITE | DATABASE_OPEN_CREATE |DATABASE_OPEN_COMMON); if(db==INVALID_HANDLE) { Print("DB: ", filename, " open failed with code ", GetLastError()); return; } //--- если таблица COMPANY существует, то удалим её if(DatabaseTableExists(db, "COMPANY_2")) { //--- удаляем таблицу if(!DatabaseExecute(db, "DROP TABLE COMPANY_2")) { Print("Failed to drop table COMPANY with code ", GetLastError()); DatabaseClose(db); return; } } //--- создаем таблицу COMPANY if(!DatabaseExecute(db, "CREATE TABLE COMPANY_2(" "ID INT PRIMARY KEY NOT NULL," "NAME TEXT NOT NULL," "AGE INT NOT NULL," "ADDRESS CHAR(50)," "SALARY REAL );")) { Print("DB: ", filename, " create table failed with code ", GetLastError()); DatabaseClose(db); return; } //--- вставляем данные в таблицу if(!DatabaseExecute(db, "INSERT INTO COMPANY_2 (ID,NAME,AGE,ADDRESS,SALARY) VALUES (1,'Paul',a,'California',Mass[0]); " "INSERT INTO COMPANY_2 (ID,NAME,AGE,ADDRESS,SALARY) VALUES (2,'Allen',25,'Texas',Mass[1]); " "INSERT INTO COMPANY_2 (ID,NAME,AGE,ADDRESS,SALARY) VALUES (3,'Teddy',a,'Norway',Mass[2]);" "INSERT INTO COMPANY_2 (ID,NAME,AGE,ADDRESS,SALARY) VALUES (4,'Mark',25,'Rich-Mond',65000.00);")) { Print("DB: ", filename, " insert failed with code ", GetLastError()); DatabaseClose(db); return; } //--- создадим запрос и получим хендл на него int request=DatabasePrepare(db, "SELECT * FROM COMPANY_2"); if(request==INVALID_HANDLE) { Print("DB: ", filename, " request failed with code ", GetLastError()); DatabaseClose(db); return; } DatabasePrint( db, // хендл базы данных, полученный в DatabaseOpen "COMPANY_2", // таблица или SQL-запрос 0 // комбинация флагов ); } //+------------------------------------------------------------------+ Yuriy Bykov 2022.12.27 17:05 #14314 例えば、こうしてみてほしい。 代わりに if(!DatabaseExecute(db, "INSERT INTO COMPANY_2 (ID,NAME,AGE,ADDRESS,SALARY) VALUES (1,'Paul',a,'California',Mass[0]); " "INSERT INTO COMPANY_2 (ID,NAME,AGE,ADDRESS,SALARY) VALUES (2,'Allen',25,'Texas',Mass[1]); " "INSERT INTO COMPANY_2 (ID,NAME,AGE,ADDRESS,SALARY) VALUES (3,'Teddy',a,'Norway',Mass[2]);" "INSERT INTO COMPANY_2 (ID,NAME,AGE,ADDRESS,SALARY) VALUES (4,'Mark',25,'Rich-Mond',65000.00);")) と書く if(!DatabaseExecute(db, "INSERT INTO COMPANY_2 (ID,NAME,AGE,ADDRESS,SALARY) VALUES (1,'Paul',a,'California'," + DoubleToString(Mass[0]) + "); " "INSERT INTO COMPANY_2 (ID,NAME,AGE,ADDRESS,SALARY) VALUES (2,'Allen',25,'Texas'," + DoubleToString(Mass[1]) + "); " "INSERT INTO COMPANY_2 (ID,NAME,AGE,ADDRESS,SALARY) VALUES (3,'Teddy',a,'Norway'," + DoubleToString(Mass[2]) + ");" "INSERT INTO COMPANY_2 (ID,NAME,AGE,ADDRESS,SALARY) VALUES (4,'Mark',25,'Rich-Mond',65000.00);")) これだけではありません。 Kira27 2022.12.27 19:12 #14315 Yuriy Bykov #:例えば、こんな風にやってみてほしい。代わりにの代わりに唯一の方法ではない。 ありがとうございます。他の方法は? JRandomTrader 2022.12.28 22:21 #14316 lego9955 カスタムキャラクターを作成 するスクリプトの再設計をお願いします。 1つのキャラクターだけでなく、スクリプトに書かれた複数のキャラクターを作成するように変更する必要があります。例えば、3つのAB AC AD、将来的にはこの原則の任意の数。毎回、リストから次の記号名に置き換えて循環させる。 こんな感じだ: string sNames = "AB,AC,AD"; string aNames[]; void OnStart() { int i; bool ch=true; if(StringSplit(sNames,StringGetCharacter(",",0),aNames) <= 0)return; ResetLastError(); for(i=0; i<ArraySize(aNames); i++) { ch=ch && CustomSymbolCreate(aNames[i]); if(!ch) { PrintFormat("Symbol '%s' : error %d",aNames[i],GetLastError()); break; // При первой ошибке выходим } } if(!ch)return; ... } lego9955 2022.12.28 23:50 #14317 前にも同じことをして、やったと思って投稿を削除したんだ。 void OnStart() { string arr[]= { "AB", "AC", "AD" }; for(int i=0; i<ArraySize(arr); i++) { bool ch =CustomSymbolCreate(arr[i]); SymbolSelect(arr[i],true); } } ページをリフレッシュしたら、あなたが返信していた。はい、エラー 処理はより正しくなりました。ありがとう! lynxntech 2022.12.29 00:01 #14318 lego9955 エラー 処理はありがとう! ArraySize(arr) ーループのー外ーでーでーでー JRandomTrader 2022.12.29 00:06 #14319 lynxntech #:ループの外側でuintを定義する方が正しいだろう。 私はよくそうしているが、コンパイラーはこのような標準的なことを最適化してくれると信じたい。 taramortom 2022.12.29 09:10 #14320 ロボットには、ストキャスティクスと RSIの 2つのフィルターがあり、それぞれにパラメーターが設定されている。フィルターは1つだけ使用する。つまり、ストキャスティクスが オンの場合、RSIは オフであるべきで、逆も同様である。 私はこれを実行した: ストキャスティクスと RSIの 入力 変数を作り、その働きを有効・無効にした。 OnInit ブロック で、もしStochasticと RSIが 同時にオンなら、INIT_PARAMETERS_INCORRECT エラーをチェックします。 OnInit ブロックで、Stochastic 、そのパラメータがすべてゼロでなければなりません。そうでなければ、エラーINIT_PARAMETERS_INCORRECT/RSIと 同様です。 目的 目的:互換性のない選択肢を最適化するときに時間を無駄にしない。例えば、RSIが 選択された場合、ストキャスティクス のパラメータ(買われすぎ/売られすぎゾーンのサイズ、K、D 期間、減速、スムージング方法、価格)は検索されないようにする。 私のオプションは機能しないことがわかりました。最適化の間、これらのバリエーションはとにかく過剰に最適化されるようです。 RSIが 有効になっているときにオプティマイザがストキャスティクスの パラメーターを検索しないようにする方法、またその逆の方法を教えてください。 1...142514261427142814291430143114321433143414351436143714381439...1503 新しいコメント 理由: キャンセル 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
皆さんこんにちは、
私は新参者なので、適切な場所に書けることを願っています:
「過去の損失と現在のドローダウンがx%以下になったら全取引を決済する」+「セッション/日が終わるまで全取引を即座に決済する」。
どなたかこの方法をご存知の方、または私を助けてくださる方がいらっしゃいましたら、ご連絡いただけると助かります。
ーありがとうございます。)
皆さん、こんにちは、
私は新しいので、私は適切な場所に書いている願っています:私は私のお金の管理で私を助けることができるEAをコード化するために探しています:
「過去の損失と現在のドローダウンがx%以下になったら全取引をクローズする" + "セッション/日終了まで全取引を即座にクローズする"。
どなたかこの方法をご存知の方、または私を助けてくださる方がいらっしゃいましたら、ご連絡いただけると助かります。
ありがとうございます。)
こんにちは、
https://www.mql5.com/fr/search#!keyword=money%20management&module=mql5_module_marketを 検索してみてください。
また、フリーランスにカスタマイズされたソリューションを注文することもできます -https://www.mql5.com/fr/job
例えば、こうしてみてほしい。
代わりに
と書く
これだけではありません。
例えば、こんな風にやってみてほしい。
代わりに
の代わりに
唯一の方法ではない。
ありがとうございます。他の方法は?
1つのキャラクターだけでなく、スクリプトに書かれた複数のキャラクターを作成するように変更する必要があります。
例えば、3つのAB AC AD、将来的にはこの原則の任意の数。
毎回、リストから次の記号名に置き換えて循環させる。
こんな感じだ:
前にも同じことをして、やったと思って投稿を削除したんだ。
ページをリフレッシュしたら、あなたが返信していた。はい、エラー 処理はより正しくなりました。ありがとう!
ArraySize(arr)
ーループのー外ーでーでーでー
ループの外側でuintを定義する方が正しいだろう。
私はよくそうしているが、コンパイラーはこのような標準的なことを最適化してくれると信じたい。
ロボットには、ストキャスティクスと RSIの 2つのフィルターがあり、それぞれにパラメーターが設定されている。フィルターは1つだけ使用する。つまり、ストキャスティクスが オンの場合、RSIは オフであるべきで、逆も同様である。
私はこれを実行した:
目的
RSIが 有効になっているときにオプティマイザがストキャスティクスの パラメーターを検索しないようにする方法、またその逆の方法を教えてください。