[ARCHIVE!] フォーラムを散らかさないように、どんなルーキーの質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしではどこにも行けない - 4. - ページ 100

 

みなさん、こんにちは!!! HELPAの事例を理解するのに役立つ

//--------------------------------------------------------------------
//obviousexpert.mq4
// MQL4チュートリアルの例として使用されることを意図しています。
//--------------------------------------------------------------- 1 --
#property copyright"著作権 © 本, 2007"
#プロパティリンク "http://AutoGraf.dp.ua"
//--------------------------------------------------------------- 2 --
#include <stdlib.mqh>.
#include <stderror.mqh>.
#include <WinUser32.mqh>.
//--------------------------------------------------------------- 3 --
#include <Variables.mqh> //変数の説明
#include <Check.mqh> // プログラムの合法性をチェックする。
#include <Terminal.mqh> // 注文の会計処理
#include <Events.mqh> // イベントトラッキング、更新しました。
#include <Inform.mqh> // 情報提供機能
#include <Trade.mqh> // トレード機能
#include <Open_Ord.mqh> // 指定された種類の注文を1つだけ開く
#include <Close_All.mqh> // 指定された種類の注文を全てクローズする
#include <Tral_Stop.mqh> // 指定した種類の注文のStopLossを全て変更する
#include <Lot.mqh> // ロット数の計算
#include <Criterion.mqh> // トレードの基準
#include <Errors.mqh> // エラー処理関数。
//--------------------------------------------------------------- 4 --
int init() // 特殊関数 init
{
Level_old=MarketInfo(Symbol(),MODE_STOPLEVEL );//最小距離.
Terminal(); // 注文機能
return; // init() を終了します。
}
//--------------------------------------------------------------- 5 --
int start() // 特殊関数スタート
{
if(Check()==false) // 使用条件を満たしている場合。
return; // ...を満たさない場合は、終了します。
PlaySound("tick.wav"); // 刻み目毎に再生
Terminal(); // 注文処理機能
イベント(); // イベント情報
Trade(Criterion());//トレード機能
Inform(0); // オブジェクトを再カラー化する。
return; // Exit()
}
//--------------------------------------------------------------- 6 --
int deinit() // 特殊関数 deinit()
{
Inform(-1); // オブジェクトを削除する場合
return; // deinit() を終了する.
}
//--------------------------------------------------------------- 7 --

2)保存場所だけ?それともコードの設計にも?

質問は、1)インクルードファイル(#include<...>と#include "...")の違い、3)そして、インポートした関数(#import)と#include指示の違い、です。

HELPA の usualexpert.mq4 の例では、Expert Advisor が示されていますが、これは、その #include ディレクトリの <> ブラケットから判断して、include ファイルに基づいて構築されたものであることがわかります。

質問です。インクルード <Variables.mqh> ファイルが含まれているか // サンプルに従って作成された場合の変数の説明。

//--------------------------------------------------------------------
// Variables.mqh
// MQL4チュートリアルの例として使用されることを意図しています。
//--------------------------------------------------------------- 1 --
// グローバル変数の説明
extern double Lots =0.0; // ロット数
extern int Percent =0; // 割り当てられた資金の割合
extern int StopLoss =100; // 新規注文のストップロス(ポイント)。
extern int TakeProfit =40; // 新規注文のテイクプロフィット(ポイント)
extern inttern TralingStop=100; // 成行注文のTralingStop(ポイント)
//--------------------------------------------------------------- 2 --
イント
Level_new, // 最小距離の新しい値
Level_old, // 以前の最小距離の値
Mas_Tip[6]; // 注文種別の配列
// [] オーダーの種類:0=B,1=S,2=BL,3=SL,4=BS,5=SS
//--------------------------------------------------------------- 3 --
二重
Lots_New, // 新規注文のロット数
Mas_Ord_New[31][9], // 現在の注文の配列 .
Mas_Ord_Old[31][9]; // .
// インデックス 1 = 注文番号
// [][0] は定義されていません
// [][1] 開示注文価格(絶対値)
// [][2] ストップロス注文(絶対値)
// [][3] テイクプロフィット注文(レートの絶対値)
// [][4] 注文番号
// [][5] 注文のロット数。(断面図)
// [][6] オーダータイプ0=B,1=S,2=BL,3=SL,4=BS,5=SS
// [][7] オーダーのマジックナンバー
// [][8] 0/1
//--------------------------------------------------------------- 4 --

コンパイルするとエラーになります -- '\end_of_program' - no function defined この意味は何ですか、この例の最後に何かを追加すべきですか?

また、インクルードファイルはこのようにするべきか、ヘッダーに追加するべきか。

#property copyright "著作権 © 2004, MetaQuotes Software Corp.
#プロパティリンク "http://www.metaquotes.net/"
#プロパティライブラリ
//+------------------------------------------------------------------+
///returnエラーの説明
//+------------------------------------------------------------------+

例えば、( usualexpert.mq4 // MQL4チュートリアルの例として使用することを目的とする)の一部として。 ) #include <Check.mqh> // 使用するプログラムの正当性チェックがあります。 このハットがないとエラー(Start function not found and cannot be run)が発生します。 オールマイティに使える?

あるいは、インクルードファイルには、そのアドレス(ライブラリ)の関数ライブラリにあるカスタム関数の記述のみが含まれています。Expert Advisor ファイルに既に存在する場合?

 
Las-tochka:

みなさん、こんにちは!!!HELPAの例について教えてください。

//------------------------------------------------------------------------
// usualexpert.mq4
// MQL4チュートリアルの例として使用されるように設計されています。
//--------------------------------------------------------------- 1 --
#property copyright "Copyright © Book, 2007"
#property link "http://AutoGraf.dp.ua"
//--------------------------------------------------------------- 2 --
#include <stdlib.mqh>
#include <stderror.mqh>
#include <WinUser32.mqh>
//-------------------------------------------------------------- 3 --
#include <Variables.mqh> //変数説明
#include <Check.mqh> //プログラム使用の合法性を確認
#include <Terminal.mqh> //注文会計
#include <Events.mqh> //イベント追跡機能、更新しました。
#include <Inform.mqh> // 情報関数
#include <Trade.mqh> // 取引関数
#include <Open_Ord.mqh> // 指定した種類の注文を一つ開く
#include <Close_All.mqh> // 指定した種類の注文すべてを閉じる
#include <Tral_Stop.Mqh> // 指定した種類の注文を一つ閉じる #include <Trade.MQH> // 注文を一つ開く #include <Open.MQh> // 指定した種類の注文を一つ閉じる mqh> // 指定したタイプの全注文の StopLoss を変更
#include <Lot.mqh> // ロット数の計算
#include <Criterion.mqh> // 取引基準
#include <Errors.mqh> // エラー処理関数。
//-------------------------------------------------------------- 4 --
int init() // 特殊関数 init
{
Level_old=MarketInfo(Symbol(),MODE_STOPLEVEL );// 最小距離
Terminal(); // 注文カウント関数
return; // 終了 init()
}
//---------------------------------------------------------------------- 5 --
int start() // 特殊関数 start
{
if(Check()==false) // 使用条件がある場合。
return; // ..が満たされない場合は終了
PlaySound("tick.wav"); // 刻み目毎に
Terminal(); // 注文会計関数
Events(); // イベント情報
Trade(Criterion()); // トレード関数
Inform(0); // オブジェクトを再カラー化
return; // 終了 start()
}
//-------------------------------------------- 6 --
int deinit() // 特定の関数deinit()。function deinit()
{
Inform(-1); // オブジェクト削除
return; // deinit() 終了
}
//------------------------------------------------------------------------------ 7 --..........................................1

2) 保存場所だけ? それともコードの設計にも?

質問は、1)インクルードファイル(#include<...>と#include "...")の違い、3)そして、インポートした関数(#import)と#include指示の違い、です。

特にHELPAの例では、Expert Advisorを例示していますが、<>括弧で囲まれていることから、その#includeディレクトリにあるincludeファイルを基にビルドされていることがわかります。

質問です。Includefile #include <Variables.mqh> //サンプルで作成された場合の変数の説明。

//------------------------------------------------------------------------
// Variables.mqh
// MQL4チュートリアルの例として使用されるように設計されています。
//------------------------------------------------------------------------------ 1 --
// グローバル変数の説明
extern double Lots =0.0; // ロット数
extern int Percent =0; // 割当率
extern int StopLoss =100; // 新規注文時のStopLoss (pips)
extern int TakeProfit =40; // 新規注文時のTakeProfit (pips)
extern int TralingStop=100;// 成行注文の TralingStop (pips)
//--------------------------------------------------------------- 2 --
int
Level_new, // 新しい最小距離値
Level_old, // 以前の最小距離値
Mas_Tip[6]; // 注文種別配列
// [] 注文種別0=B,1=S,2=BL,3=SL,4=BS,5=SS
//-------------------------------------------------------------- 3 --
double
Lots_New, // 新規注文のロット数
Mas_Ord_New[31][9], // 注文配列の現在 ..
Mas_Ord_Old[31][9]; // ... and old
// 1st index = order number
// [][0] cannot be defined
// [][1] open order price (abc rate)
// [][2] StopLoss order (abc rate)
// [][3] TakeProfit order (abc rate)
// [][4] order number
// [][5] number of lots an order (abc rate. ).(Abcレート)
// [][6] 注文種別0=B,1=S,2=BL,3=SL,4=BS,5=SS
// [][7] 注文マジックナンバー
// [][8] 0/1 コメントファクト
//------------------------------------------------------------------------ 4 --...............1.

コンパイル時にエラーになる -- '\end_of_program' - この意味が何なのか、この例の最後に何かを追加する必要があるのか、定義された関数がない。

また、インクルードファイルはこのようにするべきか、それともヘッダーに追加するべきか。

#property copyright "Copyright © 2004, MetaQuotes Software Corp."
#property link "http://www.metaquotes.net/"
#property library
//+--------------------------------------------------+
//| return error description |
//+------------------------------------------------------------------+

例えば、( usualexpert.mq4 // MQL4チュートリアルの例として使用することを目的とする)の一部として。) #include <Check.mqh> // 使用するプログラムの合法性チェックがあります。 このハットがないとエラー(Start function not found and cannot be run)が発生します。それで大丈夫なのでしょうか?

あるいは、インクルードファイルにはカスタム関数の記述しかなく、その関数はアドレス(ライブラリ)にある関数のライブラリに配置されます。Expert Advisorのファイルに存在する場合?

教科書の例をちゃんと読めよ、全部書いてあるんだから...。インクルードは、含まれるプログラムセクション(その内容に応じて、それぞれが実行するタスクに応じた構造的な名前が付けられています) - コンパイルする必要はありません。それらはエキスパートによってコピーされ、プログラムテキストにどのように書いたかによって、インクルージョンが順次*.ex4ファイルに配置されます。そのため、カスタム#include <Variables.mqh>//Variablesの記述は、プログラムの3ブロック目のFIRSTになります。このブロックの最後に移動してExpert Advisorをコンパイルしてみて、エラーがいくつ出るか見てみましょう。
 
alsu:
.......

最頻値を計算する良い方法は、経験分布関数(度数分布と混同しないように)を構成し、それを区分線形から滑らかなものへと補間し、最後に最大微分の点を探すことである。このようなアルゴリズムは、上記のような欠点がなく、サンプルサイズが小さくても非常に効果的に機能する。少なくとも、50~100個の要素からなるサンプルで、同等の間隔でモードを検索するというタスクだけは、MQLを使って解決しなければなりませんでしたが、すべてOKでした。唯一の欠点は、質的に平滑化したい場合はもちろんですが、補間を使うと通常、計算速度が著しく低下することです。

アレクセイ、ありがとうございました...。この機能の一般的な原理は明らかです))))
 
こんにちは、Comment("")の意味を教えてください。この場合、関数は何を出力するのでしょうか?
 
Chuma:
こんにちは、Comment("")の意味を教えてください。この場合、関数は何を出力するのでしょうか?
引用符で囲まれたテキストを含むボックス
 
Comment() は、テキストをボックス内ではなく、グラフの左上に表示します。
 
始値で動作するインジケータがあり、このインジケータからのシグナルで取引するTFが設定されているEAがあるのですが、矛盾が生じました。EAでもテスターでも15分足に設定し、始値で 結果を出しています。しかし、我々は戦略テスターで、例えば1分を設定した場合 - オープン価格で結果があまりにも根本的ではありませんが、変更されます。何が起こっているのか理解できないのですが?分足の始値が時間足の始値と一致しないことが判明しているのでしょうか?それともテスターのミスでしょうか?その犬はどこに埋められているのか、教えてください。
 
moskitman:
引用符で囲まれたテキストを含むボックス

括弧の中に引用符だけがある場合という意味です:Comment("")

 
Chuma:

括弧の中に引用符だけがある場合という意味です:Comment("")

前のコメントをクリアします。
 
gogent:
Comment()は、テキストをボックス内ではなく、チャートの左上に表示します。
はい、その通りです。