MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 836 1...829830831832833834835836837838839840841842843...1953 新しいコメント Igor Makanu 2019.05.07 15:01 #8351 Alexey Viktorov:と書いてありますが、大丈夫でしょうか?MT4用のスレッドだから気にしない よし、忙しくなるぞ。ここは退屈だ。 KrasAleks 2019.05.07 15:11 #8352 皆様にご挨拶申し上げます。人生における幸運と仕事における利益をもたらす。 とお願いしているところです(意外とね:)。 Mqlでは、私はzerobom、2日間 "件名に "です。リアルEAで自動売買を強制されると、フラットEAのためにowlを書こうとして(違うところからリアルタイムで収集)、当然ながら疲れてしまう :) 。もう10時間くらい別の問題を解決しようとしているんだけど、まだたどり着けないんだ。どなたかアドバイスや例を挙げてくださる方がいらっしゃいましたら、大変感謝いたします(口頭でも書面でも、そして何よりシャワーを浴びることが重要です)。 一般的には...TCがありますが、これは私が長い間うまく使っていたものです。同一商品の取引条件において、多方向の成行注文が可能です(保留は不可)。下げられた位置に位置が少なくともXピップによって下落していることを提供し、取引信号で満たされるかもしれない、時には起こると充填(同じ条件下(取引信号+ドローダウンサイズ))に追加を行います。現在の)問題は、追加でポジションを建てる際、つまり・・・ロングポジションの損切りの値をどのように確認し、返すかです。https://www.mql5.com/ru/forum/117061 の 例にならって、各ポジションにそれぞれのマジックを割り当てるようにコードをいじりましたが、それだけです。座っているポジションを正確に選択し、その損失値を返すには......。:(. トレードを開始するための "私の "コード。 //----------------- if (NumberOfPositions(Symbol(),OP_BUY, Magic)<1) { if (私の参加条件){ if (takeprofit!=0) TP = NormalizeDouble(Ask + takeprofit*Point,Digits); else TP = 0; if (stoploss!=0) SL = NormalizeDouble(Bid - stoploss*Point,Digits); else SL = 0;ticket=OrderSend(Symbol()、OP_BUY、LOT、NormalizeDouble(Ask、桁数)、5、SL、TP、「BUY」、マジック、0、青)。 if(ticket < 0) { Print("Error while opening BUY order #", GetLastError());}; }.}} if(NumberOfPositions(Symbol(),OP_SELL,Magic)<1)の場合。{にすると{ if (takeprofit!=0) TP = NormalizeDouble(Bid - takeprofit*Point,Digits); else TP = 0; if (stoploss!=0) SL = NormalizeDouble(Ask + stoploss*Point,Digits); else SL = 0;ticket=OrderSend(Symbol(,OP_SELL,LOT,NormalizeDouble(Bid,Digits),5,SL,TP, "SELL",Magic,0,Red); if(ticket < 0) { Print("Error opening SELL order #", GetLastError());}; }.}} //--------------- 追加注文は、以下のコードで開設する予定です。 //--------------- if (NumberOfPositions(Symbol(),OP_BUY, Magic)==1 && NumberOfPositions(Symbol(),OP_BUY, Magic_2)<1) { if (私のエントリー条件 &&GetProfitOpenPosInPoint(Symbol(),OP_BUY,Magic)>= LEVEL_1) {ticket=OrderSend(Symbol()、OP_BUY、LOT、NormalizeDouble(Ask、Digits),5,SL,TP、 "Extra Buy",Magic_2,0,Blue) です。 if(ticket < 0) { Print("Error opening BUY order #", GetLastError()); }.} } //--------------- そして、そこで行き詰ってしまったのです :) 。GetProfitOpenPosInPoint(Symbol(),OP_BUY,Magic) の代わりに使用するものです。Drawdown_level(Symbol(),OP_BUY,Magic)を使えばいいと思うのですが、どうやって取得するのでしょうか...。 ヘルプPLEASE、友達になる。 Z.U.あなたが助言する場合、私はまだ私にもう少し詳細を送信するためにあまりにも怠惰ではないことをnubyaraしていることを心に留めておいてください、あなたが知っているように、もし。FOREST THEREは、<------ || ------>の方向を指し示すことを忘れないでください。 ご清聴ありがとうございました :) код----доливаем по тренду 2009.05.07www.mql5.com Я пытался написать советник с открытием дополнительных лотов по тренду. Суть заключается вот в чем... Any questions from newcomers どんな新人の質問でも、フォーラムを乱雑にしないように。プロフェッショナルは、通り過ぎないでください。Nowhere without you - mql4アドバイザーを無料で書かせていただきます。 Alexander Layzerevich 2019.05.07 15:19 #8353 Igor Makanu:別に、このスレはMT4用だから、気にすることはないでしょう。 よし、忙しくなるぞ。ここは退屈だ。MT5用の同様のブランチがどこにあるか教えてください、そこで聞いてみます・・・。 Artyom Trishkin 2019.05.07 15:21 #8354 Alexander Layzerevich:MT5の同様のスレッドがどこにあるか教えてください、そこで聞きますので・・・。 ここで聞いてください。ここで、両言語の場合。 Alexander Layzerevich 2019.05.07 15:24 #8355 Alexey Viktorov:を指定しても良いのでしょうか? 強調表示された関数は、関数宣言と何ら変わりはありません。関数の入力パラメータで宣言されていることが判明した。MT4では、Indicatorからの関数呼び出しは エラーなしで、必要に応じて動作します(int handle=iEnvelopes(Symbol(), tf, period, method, shift, price, Deviation(kanal), buff);).MT5でも同じかもしれないと思いました。 正しい方法を教えてください。 Artyom Trishkin 2019.05.07 15:29 #8356 Alexander Layzerevich:MT4では、Indicatorからの関数呼び出しは エラーなしで、必要に応じて動作します(int handle=iEnvelopes(Symbol(), tf, period, method, shift, price, Deviation(kanal), buff);).MT5でも同じかもしれないと思いました。 正しい方法を教えてください。 mql4でEnvelopesのデータを取得することができない Alexander Layzerevich 2019.05.07 15:40 #8357 Artyom Trishkin: そのため、mql4でEnvelopesのデータを取得することは不可能です。以下は、MT4からのコードです。 //------------------------------------------------------------------- extern string Parametrs_Indicator = "Настройки Индикатора";// Настройки Индикатора extern ENUM_TIME_FRAMES TimeFrames = 5; // Временной период //------------------------------------------------------------------- int Ma_Period = 120; // Период ENUM_MA_METHOD Ma_Method = 2; // Mетод усреднения int Ma_Shift = 0; // Cдвиг средней ENUM_APPLIED_PRICE Applied_Price = 0; // Tип цены //************************************************************************************************/ int OnInit() { double Signal_Buy = iEnvelopes(Symbol(), TimeFrames, Ma_Period, Ma_Method, Ma_Shift, Applied_Price, Deviation(TimeFrames, Kanal), 2, 0); // Сигнал на Покупку } //+------------------------------------------------------------------+ double Deviation(int Time_Frames, int _Kanal) { int Simbol = SymbolMagic(); //------------------------- if (Time_Frames == 0) Time_Frames = Period(); if (Time_Frames == 1) { if (_Kanal == 1) { switch (Simbol) { ... } } } } //+------------------------------------------------------------------+ すべて完璧に動作します。MT5でも同じようにしたい Artyom Trishkin 2019.05.07 15:44 #8358 Alexander Layzerevich:以下は、MT4からのコードです。 すべて完璧に動作します。MT5でも同じようにしたい そりゃあ、違うコードだから動くだろうけどさ。 Alexander Layzerevich 2019.05.07 16:11 #8359 Artyom Trishkin: そりゃあ、違うコードだから動くだろうけどさ。Indicatorにデータを送信するMT5のコードを修正しました。 //------------------------------------------------------------------- extern string Parametrs_Indicator = "Настройки Индикатора";// Настройки Индикатора extern ENUM_TIMEFRAMES TimeFrames = PERIOD_M5; // Временной период //------------------------------------------------------------------- int Ma_Period = 120; // Период ENUM_MA_METHOD Ma_Method = MODE_SMMA; // Mетод усреднения int Ma_Shift = 0; // Cдвиг средней ENUM_APPLIED_PRICE Applied_Price = PRICE_CLOSE; // Tип цены //************************************************************************************************/ void OnTick() { double Signal_Buy = (int)Envelopes(Symbol(), TimeFrames, Ma_Period, Ma_Shift, Ma_Method, Applied_Price, 2, Deviation(1)); // Сигнал на Покупку } //************************************************************************************************/ double Envelopes(string symb, ENUM_TIMEFRAMES tf, int period, int shift, int method, int price, int buff, double Deviation(int kanal)) { double buf[1]; int handle=iEnvelopes(Symbol(), tf, period, shift, method, price, Deviation(kanal)); if(handle<0) { Print("Failed to create handle ATR, Error: ",GetLastError()); return(WRONG_VALUE); } else { if(CopyBuffer(handle,buff,0,1,buf)<0) { Print("Failed to copy data from the indicator ATR, Error: ",GetLastError()); return(WRONG_VALUE); } } return(buf[0]); } //************************************************************************************************/ しかし、エラーは同じです。 Alexey Viktorov 2019.05.07 16:15 #8360 Alexander Layzerevich:以下は、MT4からのコードです。 //------------------------------------------------------------------- extern string Parametrs_Indicator = "Настройки Индикатора";// Настройки Индикатора extern ENUM_TIME_FRAMES TimeFrames = 5; // Временной период //------------------------------------------------------------------- int Ma_Period = 120; // Период ENUM_MA_METHOD Ma_Method = 2; // Mетод усреднения int Ma_Shift = 0; // Cдвиг средней ENUM_APPLIED_PRICE Applied_Price = 0; // Tип цены //************************************************************************************************/ int OnInit() { double Signal_Buy = iEnvelopes(Symbol(), TimeFrames, Ma_Period, Ma_Method, Ma_Shift, Applied_Price, Deviation(TimeFrames, Kanal), 2, 0); // Сигнал на Покупку } //+------------------------------------------------------------------+ double Deviation(int Time_Frames, int _Kanal) { int Simbol = SymbolMagic(); //------------------------- if (Time_Frames == 0) Time_Frames = Period(); if (Time_Frames == 1) { if (_Kanal == 1) { switch (Simbol) { ... } } } } //+------------------------------------------------------------------+ すべて完璧に動作します。MT5でも同じようにしたい手元を見る。 前回の投稿では、あなたのコードでこれが強調されています。 double Deviation(int Time_Frames, int _Kanal) で、これのコードで、引用されたメッセージは関数宣言です。も強調されています。 そして、この Deviation(TimeFrames, Kanal) 存在するユーザー関数を呼び出す。このプログラミング方法は、私にとっては受け入れがたいものですが、それでも理解することはできます。しかし、そのコードのエラーをどう表現すればいいのか、途方に暮れています。 1...829830831832833834835836837838839840841842843...1953 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
と書いてありますが、大丈夫でしょうか?
MT4用のスレッドだから気にしない
よし、忙しくなるぞ。ここは退屈だ。
皆様にご挨拶申し上げます。人生における幸運と仕事における利益をもたらす。
とお願いしているところです(意外とね:)。
Mqlでは、私はzerobom、2日間 "件名に "です。リアルEAで自動売買を強制されると、フラットEAのためにowlを書こうとして(違うところからリアルタイムで収集)、当然ながら疲れてしまう :) 。もう10時間くらい別の問題を解決しようとしているんだけど、まだたどり着けないんだ。どなたかアドバイスや例を挙げてくださる方がいらっしゃいましたら、大変感謝いたします(口頭でも書面でも、そして何よりシャワーを浴びることが重要です)。
一般的には...TCがありますが、これは私が長い間うまく使っていたものです。同一商品の取引条件において、多方向の成行注文が可能です(保留は不可)。下げられた位置に位置が少なくともXピップによって下落していることを提供し、取引信号で満たされるかもしれない、時には起こると充填(同じ条件下(取引信号+ドローダウンサイズ))に追加を行います。現在の)問題は、追加でポジションを建てる際、つまり・・・ロングポジションの損切りの値をどのように確認し、返すかです。https://www.mql5.com/ru/forum/117061 の 例にならって、各ポジションにそれぞれのマジックを割り当てるようにコードをいじりましたが、それだけです。座っているポジションを正確に選択し、その損失値を返すには......。:(.
トレードを開始するための "私の "コード。
//-----------------
if (NumberOfPositions(Symbol(),OP_BUY, Magic)<1)
{
if (私の参加条件)
{
if (takeprofit!=0) TP = NormalizeDouble(Ask + takeprofit*Point,Digits); else TP = 0;
if (stoploss!=0) SL = NormalizeDouble(Bid - stoploss*Point,Digits); else SL = 0;
ticket=OrderSend(Symbol()、OP_BUY、LOT、NormalizeDouble(Ask、桁数)、5、SL、TP、「BUY」、マジック、0、青)。
if(ticket < 0) { Print("Error while opening BUY order #", GetLastError());}; }.
}}
if(NumberOfPositions(Symbol(),OP_SELL,Magic)<1)の場合。
{
にすると
{
if (takeprofit!=0) TP = NormalizeDouble(Bid - takeprofit*Point,Digits); else TP = 0;
if (stoploss!=0) SL = NormalizeDouble(Ask + stoploss*Point,Digits); else SL = 0;
ticket=OrderSend(Symbol(,OP_SELL,LOT,NormalizeDouble(Bid,Digits),5,SL,TP, "SELL",Magic,0,Red);
if(ticket < 0) { Print("Error opening SELL order #", GetLastError());}; }.
}}
//---------------
追加注文は、以下のコードで開設する予定です。
//---------------
if (NumberOfPositions(Symbol(),OP_BUY, Magic)==1 && NumberOfPositions(Symbol(),OP_BUY, Magic_2)<1)
{
if (私のエントリー条件 &&GetProfitOpenPosInPoint(Symbol(),OP_BUY,Magic)>= LEVEL_1)
{
ticket=OrderSend(Symbol()、OP_BUY、LOT、NormalizeDouble(Ask、Digits),5,SL,TP、 "Extra Buy",Magic_2,0,Blue) です。
if(ticket < 0) { Print("Error opening BUY order #", GetLastError()); }.
} }
//---------------
そして、そこで行き詰ってしまったのです :) 。GetProfitOpenPosInPoint(Symbol(),OP_BUY,Magic) の代わりに使用するものです。Drawdown_level(Symbol(),OP_BUY,Magic)を使えばいいと思うのですが、どうやって取得するのでしょうか...。
ヘルプPLEASE、友達になる。
Z.U.あなたが助言する場合、私はまだ私にもう少し詳細を送信するためにあまりにも怠惰ではないことをnubyaraしていることを心に留めておいてください、あなたが知っているように、もし。FOREST THEREは、<------ || ------>の方向を指し示すことを忘れないでください。
ご清聴ありがとうございました :)
別に、このスレはMT4用だから、気にすることはないでしょう。
よし、忙しくなるぞ。ここは退屈だ。
MT5用の同様のブランチがどこにあるか教えてください、そこで聞いてみます・・・。
MT5の同様のスレッドがどこにあるか教えてください、そこで聞きますので・・・。
を指定しても良いのでしょうか?
MT4では、Indicatorからの関数呼び出しは エラーなしで、必要に応じて動作します(int handle=iEnvelopes(Symbol(), tf, period, method, shift, price, Deviation(kanal), buff);).MT5でも同じかもしれないと思いました。
正しい方法を教えてください。
MT4では、Indicatorからの関数呼び出しは エラーなしで、必要に応じて動作します(int handle=iEnvelopes(Symbol(), tf, period, method, shift, price, Deviation(kanal), buff);).MT5でも同じかもしれないと思いました。
正しい方法を教えてください。
そのため、mql4でEnvelopesのデータを取得することは不可能です。
以下は、MT4からのコードです。
すべて完璧に動作します。MT5でも同じようにしたい
以下は、MT4からのコードです。
すべて完璧に動作します。MT5でも同じようにしたい
そりゃあ、違うコードだから動くだろうけどさ。
Indicatorにデータを送信するMT5のコードを修正しました。
しかし、エラーは同じです。
以下は、MT4からのコードです。
すべて完璧に動作します。MT5でも同じようにしたい
手元を見る。
前回の投稿では、あなたのコードでこれが強調されています。
で、これのコードで、引用されたメッセージは関数宣言です。も強調されています。
そして、この
存在するユーザー関数を呼び出す。このプログラミング方法は、私にとっては受け入れがたいものですが、それでも理解することはできます。しかし、そのコードのエラーをどう表現すればいいのか、途方に暮れています。