MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 1555 1...154815491550155115521553155415551556155715581559156015611562...1953 新しいコメント Mihail Matkovskij 2021.07.31 18:25 #15541 MakarFX:エラーも出ない。 また、エラーはランタイムエラーだけ でなく、アルゴリズム的なものもあり得ます 原因を探るには、コードが必要です。 MakarFX: この座標では、ボタンの長さがX点から+/-でカウントされるため、ボタンが逆さまに表示されます。 なんでそんな変なボタンが必要なんだ......? законопослушный гражданин 2021.07.31 18:28 #15542 MakarFX:損益が出たときに ExpertRemove() するオプションを提案することができる しゃい 読んでみたが、行動の論理がよくわからない。 指定されたイベントに達すると、Expert Advisorは無効化され、チャートから削除されますね? Tretyakov Rostyslav 2021.07.31 18:30 #15543 Mihail Matkovskij:また、エラーはランタイムエラーだけ でなく、アルゴリズム的なものもあり得ます 原因を探るには、コードが必要です。なんでそんな変なボタンが必要なんだ......? 偶然にもそのようなバグに遭遇したことを書きました。 このコードです。 //+------------------------------------------------------------------+ //| BAG.mq4 | //| Copyright 2020, DrMak. | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2020, DrMak." #property link "https://www.mql5.com" #property version "1.00" #property strict #property indicator_chart_window //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int OnInit() { //--- indicator buffers mapping CreateButton(0,"Button_1",0,200,100,100,50,CORNER_RIGHT_UPPER," ","START","Arial Black",10, clrWhite,clrGreen,BORDER_SUNKEN,false,false,false,false,false,0); CreateButton(0,"Button_2",0,200,100,-100,-50,CORNER_RIGHT_UPPER," ","START","Arial Black",10, clrWhite,clrGreen,BORDER_SUNKEN,false,false,false,false,false,0); //--- return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ void OnDeinit(const int reason) { ObjectsDeleteAll(0,"Button_"); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int OnCalculate(const int rates_total, const int prev_calculated, const datetime &time[], const double &open[], const double &high[], const double &low[], const double &close[], const long &tick_volume[], const long &volume[], const int &spread[]) { //--- //--- return value of prev_calculated for next call return(rates_total); } //+------------------------------------------------------------------+ //| ChartEvent function | //+------------------------------------------------------------------+ void OnChartEvent(const int id, const long &lparam, const double &dparam, const string &sparam) { //--- } //+------------------------------------------------------------------+ //| Создает кнопку | //+------------------------------------------------------------------+ bool CreateButton(const long chart_ID=0, // ID графика const string name="Button", // имя кнопки const int sub_window=0, // номер подокна const int x=0, // координата по оси X const int y=0, // координата по оси Y const int width=50, // ширина кнопки const int height=18, // высота кнопки const int corner=0, // угол графика для привязки const string tool="TOOLTIP", // TOOLTIP const string text="Button", // текст const string font="Arial", // шрифт const int font_size=10, // размер шрифта const color clr=clrBlack, // цвет текста const color back_clr=C'236,233,216', // цвет фона ENUM_BORDER_TYPE border_type=BORDER_FLAT, // тип границы const bool state=false, // нажата/отжата const bool back=false, // на заднем плане const bool selection=false, // выделить для перемещений const bool selected=false, // выделить для перемещений const bool hidden=true, // скрыт в списке объектов const long z_order=0) // приоритет на нажатие мышью { //--- сбросим значение ошибки ResetLastError(); //--- создадим кнопку if(!ObjectCreate(chart_ID,name,OBJ_BUTTON,sub_window,0,0)) { Print(__FUNCTION__, ": не удалось создать кнопку! Код ошибки = ",GetLastError()); return(false); } ObjectSetInteger(chart_ID,name,OBJPROP_XDISTANCE,x); ObjectSetInteger(chart_ID,name,OBJPROP_YDISTANCE,y); ObjectSetInteger(chart_ID,name,OBJPROP_XSIZE,width); ObjectSetInteger(chart_ID,name,OBJPROP_YSIZE,height); ObjectSetInteger(chart_ID,name,OBJPROP_CORNER,corner); ObjectSetString(chart_ID,name,OBJPROP_TOOLTIP,tool); ObjectSetString(chart_ID,name,OBJPROP_TEXT,text); ObjectSetString(chart_ID,name,OBJPROP_FONT,font); ObjectSetInteger(chart_ID,name,OBJPROP_FONTSIZE,font_size); ObjectSetInteger(chart_ID,name,OBJPROP_COLOR,clr); ObjectSetInteger(chart_ID,name,OBJPROP_BGCOLOR,back_clr); ObjectSetInteger(chart_ID,name,OBJPROP_BORDER_TYPE,border_type); ObjectSetInteger(chart_ID,name,OBJPROP_BACK,back); ObjectSetInteger(chart_ID,name,OBJPROP_STATE,state); ObjectSetInteger(chart_ID,name,OBJPROP_SELECTABLE,selection); ObjectSetInteger(chart_ID,name,OBJPROP_SELECTED,selected); ObjectSetInteger(chart_ID,name,OBJPROP_HIDDEN,hidden); ObjectSetInteger(chart_ID,name,OBJPROP_ZORDER,z_order); //--- успешное выполнение return(true); } //+------------------------------------------------------------------+ Tretyakov Rostyslav 2021.07.31 18:30 #15544 законопослушный гражданин:しゃい読んでみたが、行動の論理がよくわからない指定されたイベントに達すると、EAが非アクティブになり、チャートから完全に削除されますね? はい Mihail Matkovskij 2021.07.31 18:33 #15545 MakarFX:偶然にもそのようなバグに遭遇したことを書きました。 これがそのコードです。 だからここでは、どのボタンも反応しない。OnChartEvent ハンドラが空なのですが・・・。 Tretyakov Rostyslav 2021.07.31 18:42 #15546 Mihail Matkovskij:だからここでは、どのボタンも反応しない。OnChartEvent ハンドラが空なのですが・・・。 片方のボタンが押され、もう片方のボタンが押されない。 Mihail Matkovskij 2021.07.31 18:45 #15547 MakarFX: やってみる 片方のボタンが押され、もう片方のボタンが押されない とにかく誰がやっているのか、負の次元を設定するのか、なぜなのか、お恥ずかしい 話ですが......? законопослушный гражданин 2021.07.31 18:45 #15548 MakarFX: はい 了解です、私には効きません。グローバル変数を作成し、フクロウの電源を切ると、ロットがリセットされるように戻すこともできます。兎にも角にも を作成すると、グローバル変数 datetime Start; int OnInit() { Start=TimeCurrent(); ..................... } void OnTick() { if (!IsTradeAllowed()) { DrawLABEL("Торговля",0,0,0,Red,"Торговля запрещена"); Start=TimeCurrent(); return; } ..................... } で、その後にオープン/クローズド・オーダーがなければ "スタート" Lots=Lot; でも、まだちゃんとした作り方がわからないんです Документация по MQL5: Основы языка / Переменные / Глобальные переменные www.mql5.com Глобальные переменные - Переменные - Основы языка - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5 Tretyakov Rostyslav 2021.07.31 18:51 #15549 законопослушный гражданин:了解です、私には効きません。グローバル変数を作成し、フクロウの電源を切ると、ロットがリセットされるように戻すこともできます。兎にも角にも を作成すると、グローバル変数 をクリックし、その後、開閉注文がなければ「開始」します。 でも、どうやって作ればいいのか、まだよくわからない。 ボタンを作ります) Tretyakov Rostyslav 2021.07.31 18:52 #15550 Mihail Matkovskij:とにかく誰がやっているのか、負の次元を設定するのか、なぜなのか、お恥ずかしい 話ですが......? 偶然にもこのバグを発見し、不思議に思っていました。 1...154815491550155115521553155415551556155715581559156015611562...1953 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
エラーも出ない。
また、エラーはランタイムエラーだけ でなく、アルゴリズム的なものもあり得ます
原因を探るには、コードが必要です。
この座標では、ボタンの長さがX点から+/-でカウントされるため、ボタンが逆さまに表示されます。
なんでそんな変なボタンが必要なんだ......?
損益が出たときに ExpertRemove() するオプションを提案することができる
しゃい
読んでみたが、行動の論理がよくわからない。
指定されたイベントに達すると、Expert Advisorは無効化され、チャートから削除されますね?
また、エラーはランタイムエラーだけ でなく、アルゴリズム的なものもあり得ます
原因を探るには、コードが必要です。
なんでそんな変なボタンが必要なんだ......?
偶然にもそのようなバグに遭遇したことを書きました。
このコードです。
しゃい
読んでみたが、行動の論理がよくわからない
指定されたイベントに達すると、EAが非アクティブになり、チャートから完全に削除されますね?
偶然にもそのようなバグに遭遇したことを書きました。
これがそのコードです。
だからここでは、どのボタンも反応しない。OnChartEvent ハンドラが空なのですが・・・。
だからここでは、どのボタンも反応しない。OnChartEvent ハンドラが空なのですが・・・。
やってみる 片方のボタンが押され、もう片方のボタンが押されない
とにかく誰がやっているのか、負の次元を設定するのか、なぜなのか、お恥ずかしい 話ですが......?
はい
了解です、私には効きません。
グローバル変数を作成し、フクロウの電源を切ると、ロットがリセットされるように戻すこともできます。
兎にも角にも
を作成すると、グローバル変数
で、その後にオープン/クローズド・オーダーがなければ "スタート"
了解です、私には効きません。
グローバル変数を作成し、フクロウの電源を切ると、ロットがリセットされるように戻すこともできます。
兎にも角にも
を作成すると、グローバル変数
をクリックし、その後、開閉注文がなければ「開始」します。
ボタンを作ります)
とにかく誰がやっているのか、負の次元を設定するのか、なぜなのか、お恥ずかしい 話ですが......?