MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 97 1...90919293949596979899100101102103104...1953 新しいコメント Mikhail Toptunov 2017.01.27 10:36 #961 こんにちは、皆さん!)ニューラルネットワークの 学習用データを用意しようとする。その課題とは例えば各行(時間の瞬間-バー)が入力ベクトル、列が例えば10000のような行列を用意します。動的データ(rows1, rows2の数)があり、異なる時点で数が変化する場合はどうすればよいのか。例えば、ネットワークに行列が読み込まれ、各行が学習のためのベクトルであるが、各行に対して、時間的に動的に変化する行がn個存在するとする。可能な解決策の推測は、動的な行の列の数と同じ行列に追加の列を追加することです、それは、各ベクトルがdenamicから列を持つことが判明したが、1行のように、ちょうど仮定されます。例えば 第1ベクトル 1.365 0 1 0 0 1 0 1 0 1 0 0 0 1 1 0 0 1 ...「line1 dynamic" 1 1 1 1 1 1ssssssssssssssssssssssssssss"line2 dynamic" 1 1 1 1 1 1解決策1.365 0 1 0 0 1 0 1 0 1 0 0 0 1 1 0 0 1 ...「line1 dynamic" 2 2 2 2 2 2 Vitalie Postolache 2017.01.27 10:57 #962 Top2n:こんにちは、皆さん!)ニューラルネットワークの学習用データを用意しようとする。その課題とは例えば各行(時間の瞬間-バー)が入力ベクトル、列が例えば10000のような行列を用意します。動的データ(rows1, rows2の数)があり、異なる時点で数が変化する場合はどうすればよいのか。例えば、ネットワークに行列が読み込まれ、各行が学習のためのベクトルであるが、各行に対して、時間的に動的に変化する行がn個存在するとする。可能な解決策の推測は、動的な行の列の数と同じ行列に追加の列を追加することです、それは、各ベクトルがdenamicから列を持つことが判明したが、1行のように、ちょうど仮定されます。例えば 第1ベクトル 1.365 0 1 0 0 1 0 1 0 1 0 0 0 1 1 0 0 1 ...「line1 dynamic" 1 1 1 1 1 1ssssssssssssssssssssssssssss"line2 dynamic" 1 1 1 1 1 1解決策1.365 0 1 0 0 1 0 1 0 1 0 0 0 1 1 0 0 1 ...「line1 dynamic" 2 2 2 2 2 2 また、ダイナミックに(例えば1時間に1回)語彙が変化する言語をどのように学ぶのか?それがニューラルネットワークのやり方です。 Andrei Sokolov 2017.01.27 11:40 #963 Sergey Gritsay:https://www.mql5.com/ru/articles/159 MQL5があるんですね、私の理解では。それとも同一なのでしょうか? Artyom Trishkin 2017.01.27 12:45 #964 Andrey Sokolov: MQL5があるんですね、私の理解では。それとも同一なのでしょうか? 全く同じです。 XFaost 2017.01.27 13:52 #965 こんにちは。EAを作成 し、正常に動作していますが、EAが動作している状態で端末の電源を切り、再度端末の電源を入れると、EAが再びカウントを開始するのですが、どうすればよいですか?そこで、質問です。起動時に入力パラメータをリセットするようにするには、EAに何を記述すればよいですか? Alexey Viktorov 2017.01.27 15:00 #966 XFaost: こんにちは。EAを作成 し、正常に動作していますが、EAが動作している状態で端末の電源を切り、再度端末の電源を入れると、EAが再びカウントを開始するのですが、どうすればよいですか?そこで、質問です。EA起動時に入力パラメータをリセットするようにするには、EAに何を規定すればよいのでしょうか? Expert Advisor で入力パラメータをリセットするのではなく、閉じる前に開かれた注文の情報を収集したいのです。 削除済み 2017.01.27 15:09 #967 XFaost: こんにちは。EAを作成 し、正常に動作していますが、EAが動作している状態で端末の電源を切り、再度端末の電源を入れると、EAが再びカウントを開始するのですが、どうすればよいですか?そこで質問です。EAを起動したときに入力パラメータをリセットするようにするには、EAに何を書けばよいのでしょうか。 EAの仕組みについて教えてください。おそらく、別の原理を使う必要があるのでしょう。そして、それでもリセットする必要があるのなら、まず「スタート時」の意味を定義する必要があります。また、一般的にリセットとは、初期位置への移行を意味します。初期設定をメモしておき、タイミングを見計らって設定する。 Andrei Sokolov 2017.01.27 22:11 #968 ごあいさつ何が問題なのか、教えてください。EAは、価格の上下にストップを設定した注文を出します。どちらかがトリガーした場合、価格がストップから設定以上に離れればストップが調整され、ストップまで動けば変更されることはありません。最初はBuy orderだけを 書きましたが、期待通りに動作しています。売りのミラーイメージを追加すると、価格がどう動いても設定した値でストップが修正されます。 一般的に、別々に、または購入または販売する場合 - すべてが一緒にそれが、両方の部分として動作します - バグがあります。#property copyright "Copyright 2017, MetaQuotes Software Corp."#property link "https://www.mql5.com"#property version "1.00"#property strictextern double Lot = 0.01;extern int StopLoss = 50;extern int Slippage = 5;extern int Delta = 60;extern int Delta2 = 170; extern int Magic = 321;int ticket;double price, sl, sl2;datetime counted_bar = 0;int OnInit() { if (Digits == 3 || Digits == 5) { StopLoss *= 10; Delta *= 10; Delta2 *= 10; } return(INIT_SUCCEEDED); }void OnTick() {////// ПРОДАЖА /////////////////////////////////////////////////////// if (SellLimitCount()==0 && SellCount()==0) { price = NormalizeDouble(Bid - Delta*Point, Digits); sl = NormalizeDouble(price + StopLoss*Point, Digits); ticket = OrderSend (Symbol(), OP_SELLSTOP, Lot, price, Slippage, sl, 0, "", Magic, 0, Red); } if (SellCount()!=0) { if (Bid < (OrderStopLoss() - NormalizeDouble (StopLoss*Point, Digits))) { sl = NormalizeDouble (Bid + StopLoss*Point, Digits); if (OrderModify(ticket, price, sl, 0, 0, Red)) Print ("Sell_Order_Modify_Ok"); else Print ("ERROR_Sell_Order_Modify"); } }if (SellLimitCount()!=0) { if(Bid > (OrderOpenPrice() + NormalizeDouble (Delta2*Point, Digits))) { if (OrderDelete(ticket, Red)) Print ("BuyLimit_Order_Delete_Ok"); else Print ("ERROR_BuyLimit_Odrer_Delete"); } } ///////////////////////////////////////////////////////////////////////////////// /////// ПОКУПКА ////////////////////////////////////////////////////////if (BuyLimitCount()==0 && BuyCount()==0) { price = NormalizeDouble(Ask + Delta*Point, Digits); sl = NormalizeDouble(price - StopLoss*Point, Digits); ticket = OrderSend (Symbol(), OP_BUYSTOP, Lot, price, Slippage, sl, 0, "", Magic, 0, Blue); } if (BuyCount()!=0) { if (Ask > (OrderStopLoss() + NormalizeDouble (StopLoss*Point, Digits))) { sl = NormalizeDouble (Ask - StopLoss*Point, Digits); if (OrderModify(ticket, price, sl, 0, 0, Blue)) Print ("Buy_Order_Modify_Ok"); else Print ("ERROR_Buy_Order_Modify"); } }if (BuyLimitCount()!=0) { if(Ask < (OrderOpenPrice() - NormalizeDouble (Delta2*Point, Digits))) { if (OrderDelete(ticket, Blue)) Print ("BuyLimit_Order_Delete_Ok"); else Print ("ERROR_BuyLimit_Orde_Delete"); } }/////////////////////////////////////////////////////////////////////////////// }//+------------------------------------------------------------------+int BuyLimitCount(){int count=0; for(int i=OrdersTotal()-1; i>=0; i--){if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)==true){if(OrderMagicNumber()==Magic){if(OrderType()==OP_BUYSTOP) count++;}}}return(count);}int BuyCount(){int count=0; for(int i=OrdersTotal()-1; i>=0; i--){if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)==true){if(OrderMagicNumber()==Magic){if(OrderType()==OP_BUY) count++;}}}return(count);}int SellLimitCount(){int count=0; for(int i=OrdersTotal()-1; i>=0; i--){if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)==true){if(OrderMagicNumber()==Magic){if(OrderType()==OP_SELLSTOP) count++;}}}return(count);}int SellCount(){int count=0; for(int i=OrdersTotal()-1; i>=0; i--){if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)==true){if(OrderMagicNumber()==Magic){if(OrderType()==OP_SELL) count++;}}}return(count);} Any questions from newcomers 初心者の方からの質問 MQL4 MT4 MetaTrader どんな新人の質問でも、フォーラムを乱雑にしないように。プロフェッショナルは、通り過ぎないでください。Nowhere without you - Vitalie Postolache 2017.01.27 22:15 #969 Andrey Sokolov:ごあいさつ何が問題なのか、教えてください。EAは、価格の上下にストップを設定した注文を出します。どちらかがトリガーした場合、価格がストップから設定以上に離れればストップが調整され、ストップまで動けば変更されることはありません。最初はBuy orderだけを 書きましたが、期待通りに動作しています。売りのミラーイメージを追加すると、価格がどう動いても設定した値でストップが修正されます。 一般的に、別々に、または購入または販売する場合は、すべてがあるべきように動作しているが、一緒に両方の部分 - バグがあります。...見せていただいたコード全体がバグなんですよね?少なくとも、OnTick関数は ほとんどバグです...。 Andrei Sokolov 2017.01.27 22:33 #970 Vitalie Postolache: バグというのは、表示されているコード全体のことでしょうか? 買い用と売り用の両方の部分がある場合、保留中の注文が 発動した後、そのストップが何らかの理由でどの価格方向にも修正されます。また、買いまたは売りの部分しかない場合、価格がそこから離れたときだけ、意図したとおりにストップが修正されます。 1...90919293949596979899100101102103104...1953 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
こんにちは、皆さん!)
ニューラルネットワークの 学習用データを用意しようとする。その課題とは
例えば各行(時間の瞬間-バー)が入力ベクトル、列が例えば10000のような行列を用意します。動的データ(rows1, rows2の数)があり、異なる時点で数が変化する場合はどうすればよいのか。
例えば、ネットワークに行列が読み込まれ、各行が学習のためのベクトルであるが、各行に対して、時間的に動的に変化する行がn個存在するとする。
可能な解決策の推測は、動的な行の列の数と同じ行列に追加の列を追加することです、それは、各ベクトルがdenamicから列を持つことが判明したが、1行のように、ちょうど仮定されます。
例えば
第1ベクトル
1.365 0 1 0 0 1 0 1 0 1 0 0 0 1 1 0 0 1 ...「line1 dynamic" 1 1 1 1 1 1
ssssssssssssssssssssssssssss"line2 dynamic" 1 1 1 1 1 1
解決策
1.365 0 1 0 0 1 0 1 0 1 0 0 0 1 1 0 0 1 ...「line1 dynamic" 2 2 2 2 2 2
こんにちは、皆さん!)
ニューラルネットワークの学習用データを用意しようとする。その課題とは
例えば各行(時間の瞬間-バー)が入力ベクトル、列が例えば10000のような行列を用意します。動的データ(rows1, rows2の数)があり、異なる時点で数が変化する場合はどうすればよいのか。
例えば、ネットワークに行列が読み込まれ、各行が学習のためのベクトルであるが、各行に対して、時間的に動的に変化する行がn個存在するとする。
可能な解決策の推測は、動的な行の列の数と同じ行列に追加の列を追加することです、それは、各ベクトルがdenamicから列を持つことが判明したが、1行のように、ちょうど仮定されます。
例えば
第1ベクトル
1.365 0 1 0 0 1 0 1 0 1 0 0 0 1 1 0 0 1 ...「line1 dynamic" 1 1 1 1 1 1
ssssssssssssssssssssssssssss"line2 dynamic" 1 1 1 1 1 1
解決策
1.365 0 1 0 0 1 0 1 0 1 0 0 0 1 1 0 0 1 ...「line1 dynamic" 2 2 2 2 2 2
https://www.mql5.com/ru/articles/159
MQL5があるんですね、私の理解では。それとも同一なのでしょうか?
こんにちは。EAを作成 し、正常に動作していますが、EAが動作している状態で端末の電源を切り、再度端末の電源を入れると、EAが再びカウントを開始するのですが、どうすればよいですか?そこで、質問です。EA起動時に入力パラメータをリセットするようにするには、EAに何を規定すればよいのでしょうか?
こんにちは。EAを作成 し、正常に動作していますが、EAが動作している状態で端末の電源を切り、再度端末の電源を入れると、EAが再びカウントを開始するのですが、どうすればよいですか?そこで質問です。EAを起動したときに入力パラメータをリセットするようにするには、EAに何を書けばよいのでしょうか。
ごあいさつ何が問題なのか、教えてください。
EAは、価格の上下にストップを設定した注文を出します。どちらかがトリガーした場合、価格がストップから設定以上に離れればストップが調整され、ストップまで動けば変更されることはありません。
最初はBuy orderだけを 書きましたが、期待通りに動作しています。売りのミラーイメージを追加すると、価格がどう動いても設定した値でストップが修正されます。
一般的に、別々に、または購入または販売する場合 - すべてが一緒にそれが、両方の部分として動作します - バグがあります。
#property link "https://www.mql5.com"
#property version "1.00"
#property strict
extern double Lot = 0.01;
extern int StopLoss = 50;
extern int Slippage = 5;
extern int Delta = 60;
extern int Delta2 = 170;
extern int Magic = 321;
int ticket;
double price, sl, sl2;
datetime counted_bar = 0;
int OnInit()
{
if (Digits == 3 || Digits == 5)
{
StopLoss *= 10;
Delta *= 10;
Delta2 *= 10;
}
return(INIT_SUCCEEDED);
}
void OnTick() {
////// ПРОДАЖА ///////////////////////////////////////////////////////
if (SellLimitCount()==0 && SellCount()==0)
{
price = NormalizeDouble(Bid - Delta*Point, Digits);
sl = NormalizeDouble(price + StopLoss*Point, Digits);
ticket = OrderSend (Symbol(), OP_SELLSTOP, Lot, price, Slippage, sl, 0, "", Magic, 0, Red);
}
if (SellCount()!=0)
{
if (Bid < (OrderStopLoss() - NormalizeDouble (StopLoss*Point, Digits)))
{
sl = NormalizeDouble (Bid + StopLoss*Point, Digits);
if (OrderModify(ticket, price, sl, 0, 0, Red)) Print ("Sell_Order_Modify_Ok");
else Print ("ERROR_Sell_Order_Modify");
}
}
if (SellLimitCount()!=0)
{
if(Bid > (OrderOpenPrice() + NormalizeDouble (Delta2*Point, Digits)))
{
if (OrderDelete(ticket, Red)) Print ("BuyLimit_Order_Delete_Ok");
else Print ("ERROR_BuyLimit_Odrer_Delete");
}
}
/////////////////////////////////////////////////////////////////////////////////
/////// ПОКУПКА ////////////////////////////////////////////////////////
if (BuyLimitCount()==0 && BuyCount()==0)
{
price = NormalizeDouble(Ask + Delta*Point, Digits);
sl = NormalizeDouble(price - StopLoss*Point, Digits);
ticket = OrderSend (Symbol(), OP_BUYSTOP, Lot, price, Slippage, sl, 0, "", Magic, 0, Blue);
}
if (BuyCount()!=0)
{
if (Ask > (OrderStopLoss() + NormalizeDouble (StopLoss*Point, Digits)))
{
sl = NormalizeDouble (Ask - StopLoss*Point, Digits);
if (OrderModify(ticket, price, sl, 0, 0, Blue)) Print ("Buy_Order_Modify_Ok");
else Print ("ERROR_Buy_Order_Modify");
}
}
if (BuyLimitCount()!=0)
{
if(Ask < (OrderOpenPrice() - NormalizeDouble (Delta2*Point, Digits)))
{
if (OrderDelete(ticket, Blue)) Print ("BuyLimit_Order_Delete_Ok");
else Print ("ERROR_BuyLimit_Orde_Delete");
}
}
///////////////////////////////////////////////////////////////////////////////
}
//+------------------------------------------------------------------+
int BuyLimitCount(){
int count=0;
for(int i=OrdersTotal()-1; i>=0; i--){
if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)==true){
if(OrderMagicNumber()==Magic){
if(OrderType()==OP_BUYSTOP)
count++;}}}return(count);}
int BuyCount(){
int count=0;
for(int i=OrdersTotal()-1; i>=0; i--){
if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)==true){
if(OrderMagicNumber()==Magic){
if(OrderType()==OP_BUY)
count++;}}}return(count);}
int SellLimitCount(){
int count=0;
for(int i=OrdersTotal()-1; i>=0; i--){
if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)==true){
if(OrderMagicNumber()==Magic){
if(OrderType()==OP_SELLSTOP)
count++;}}}return(count);}
int SellCount(){
int count=0;
for(int i=OrdersTotal()-1; i>=0; i--){
if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)==true){
if(OrderMagicNumber()==Magic){
if(OrderType()==OP_SELL)
count++;}}}return(count);}
ごあいさつ何が問題なのか、教えてください。
EAは、価格の上下にストップを設定した注文を出します。どちらかがトリガーした場合、価格がストップから設定以上に離れればストップが調整され、ストップまで動けば変更されることはありません。
最初はBuy orderだけを 書きましたが、期待通りに動作しています。売りのミラーイメージを追加すると、価格がどう動いても設定した値でストップが修正されます。
一般的に、別々に、または購入または販売する場合は、すべてがあるべきように動作しているが、一緒に両方の部分 - バグがあります。
見せていただいたコード全体がバグなんですよね?少なくとも、OnTick関数は ほとんどバグです...。
バグというのは、表示されているコード全体のことでしょうか?