"ダミー "からの質問 - ページ 222

 
TVA_11: ターミナル(ナビゲーターウィンドウ)には表示されません。そこでは、すべてが標準的に見えます。コンパイル前と同じです。

アドバイザリー

相談役

より...

ターミナル => Ctrl+N(ナビゲータ) => フォルダ(Indicators、Expert Advisors、Scripts)のいずれかを開く => 必要なプログラムの名前を検索する。
 
TVA_11: https://www.mql5.com/ru/code/103 このExpert Advisorを使用します。まず、Expert Advisorsで持っているものを作成しました。そして、そこにプログラムテキストを挿入しました。

テスターでExpert Advisorを初期に実行しましたか?

TVA_11 : どのバリアントでもトランザクションは1つもありません。どうしたんですか?

ログファイルにはどのように書かれていますか?

 

そのExpert Advisorは全く取引されていないように見えます。

他の人から入れて、どこの2本の棒からどこまで取引するか、それがうまくいった。

今は正しい取引の仕方を考えているところです。

Expert Advisorはそれぞれ独自のアプローチを持っています)。

20_200エキスパート_v4.2_AntS.mq5

どのように機能するのか、正しく取引できるのか、理解しようとしています。

 
TVA_11:

...

何が専門家ではない、あなた自身のアプローチを得る )。

...

Code BaseのExpertsは、あくまで実装例として。もちろん、常に高品質でフル機能を備えているわけではありません。それ以上のものは、自分でやるか、注文するしかない。
 

MetaEditorで、新しいコードウィンドウを開く(コンテキストメニュー=> 新しいウィンドウ)可能性の意味がわかりません。片方のウィンドウを変更すると、もう片方のウィンドウも同じように変更されます。

ヘルプにはこう書かれているのみである。

  • 新しいウィンドウ - 現在のタブのコピーを新しい ウィンドウで開きます。 その際、タブ名にコピーのシリアル ナンバーが追加されます。

新しいウィンドウは何のためにあるのか?

 

こんにちは、どなたかwin apiの説明をしてください。ダイアログボックスの 作成、CreateDialog()関数。クリティカルセクションを使用しているにもかかわらず、ウィンドウ関数がアトミックに実行されないのはなぜですか?

INT_PTR CALLBACK DialogProc(HWND hWnd,
                            UINT uMsg,
                            WPARAM wParam,
                            LPARAM lParam)
{
        lock.LockObject();              // Далее нужно атомарное выполнение.
        MessageBoxA(NULL, "", "", MB_OK);               // При запуске программы, вылетает пачка сообщений (одновременно).
        lock.UnlockObject();    // Переводим в свободное состояние (критическая секция).

    return FALSE;
}
 

標準のMCインジケータでは、forで!IsStoped()を追加しました。

for(int i=pos;i<rates_total && !IsStopped();i++)

なぜそうするのか、何のためにそうするのか、教えてください。

 
paladin800:

ループが長い(あるいは永久に続く)場合、端末のプロセスを 終了させずに、どうやってループを中断できるのでしょうか?ユーザーがチャートからスクリプトを削除するコマンドを実行すると、この関数は true を返します(このイベントの前は false)。その結果、それ以降の繰り返しの条件が満たされなくなる。

Ордерa, позиции и сделки в MetaTrader 5
Ордерa, позиции и сделки в MetaTrader 5
  • 2011.01.05
  • MetaQuotes Software Corp.
  • www.mql5.com
Надежный торговый робот не может быть создан без понимания механизмов работы торговой системы MetaTrader 5. Клиентский терминал получает от торгового сервера информацию о позициях, ордерах и сделках. Чтобы правильно обработать эти данные средствами MQL5 необходимо хорошо представлять как происходит взаимодействие mql5-программы и среды исполнения терминала.
 
220Volt:

ループが長い(あるいは永久に続く)場合、端末のプロセスを 終了させずに、どうやってループを中断できるのでしょうか?ユーザーがチャートからスクリプトを削除するコマンドを実行すると、この関数は true を返します(このイベントの前は false)。その結果、それ以降の繰り返しの条件が満たされなくなる。

なるほど、これで納得です。今、MQL4と比較しましたが、違いはつかめませんでした。

新年あけましておめでとうございます。

 

助けてください、ORDER_TIME_SPECIFIEDの 動作例を送ってください、注文の有効期限を正しく作ることができません。

以下はコードの一部です。

int need_year_AUDUSD=mqldt.year;
int need_mon_AUDUSD=mqldt.mon;
int need_day_AUDUSD=mqldt.day;
int need_hour_AUDUSD=mqldt.hour;
int need_min_AUDUSD=mqldt.min+15;
int need_sec_AUDUSD=mqldt.sec;
string need_year2_AUDUSD=IntegerToString(need_year_AUDUSD,0,' ');
string need_mon2_AUDUSD=IntegerToString(need_mon_AUDUSD,0,' ');
string need_day2_AUDUSD=IntegerToString(need_day_AUDUSD,0,' ');
string need_hour2_AUDUSD=IntegerToString(need_hour_AUDUSD,0,' ');
string need_min2_AUDUSD=IntegerToString(need_min_AUDUSD,0,' ');
string need_sec2_AUDUSD=IntegerToString(need_sec_AUDUSD,0,' ');
string date_AUDUSD=(need_year2_AUDUSD+".0"+need_mon2_AUDUSD+".0"+need_day2_AUDUSD+" "+need_hour2_AUDUSD+":"+need_min2_AUDUSD+":"+need_sec2_AUDUSD);
datetime b_AUDUSD=StringToTime(date_AUDUSD);


trade.BuyStop(0.1,SymbolInfoDouble(qwerty,SYMBOL_ASK)+D,qwerty,SymbolInfoDouble(qwerty,SYMBOL_ASK)+D-SL,SymbolInfoDouble(qwerty,SYMBOL_ASK)+D+TP,ORDER_TIME_SPECIFIED,b_AUDUSD);

でも、ある時期から例が見つからなくなり、自分でやるようになった。

理由: