PDA

View Full Version : MT4で箱を描く方法は?



悠人冬摩明
12-19-2006 12:02, 12:02 PM
明らかなMT4初心者がここに..

ブレイクアウト トレードを自動化するために MT4 でボックスを描画するためのベスト プラクティスがあるかどうかを知りたいです。

どんな援助も大歓迎です。

ハル

昭雄恵子
11-22-2022 14:30, 02:30 PM
Ps .: EA は完璧ではありません。Close などの何らかのエラーです。 Close[x] または現在のバーで終値を使用するインジケーターを使用すると、無効なデータが表示されます...なぜですか? EA では、現在のバーには始値だけの終値がありません。したがって、RSI を例として使用すると、RSI[0] は RSI[1] まで適切な値を与えません。RSI は PRICE_CLOSE を使用して計算するため... . EA は優れていますが、egie を定義するためには、ライブでテストする必要があります...

昭雄恵子
11-22-2022 15:52, 03:52 PM
いくつかの明確化を行う必要があります。

あなたが指示したとおりにエラーなしでコンパイルされた CI を編集しました。それをチャートに適用すると、同じチャートで実行した RSI(21) と同じように模倣されていることがわかります。これまでに理解できたことは次のとおりです。 CI の場合、これはすべて次のとおりです。 #property indicator_separate_window #property indicator_buffers 1 #property indicator_color1 これに赤が適用されます。
間違っています (混乱しないように): #property indicator_separate_window lt;- CI は #property indicator_buffers 1 lt;- バッファーの量を教えてください。 be draw... #property indicator_color1 Red lt;- 最初のライン バッファに赤を使用するように API に指示します

そしてこれ: extern int MyPeriod = 21;は単なる外部変数です。 (変数とは何かを理解しています。外部で作成されているため、起動時に小さなGUIで設定できます。)これは次のとおりです。 int init() { SetIndexStyle(0,DRAW_LINE); SetIndexBuffer(0,ExtMapBuffer1);リターン (0);これは、グラフィカルに描画されるものを示し、「起動時に 1 回実行」セクションにあります。この場合、0 から始まる線を描画し、次のバッファーを使用してそれ自体を描画します [ buffer = (0 から始まるのは ExtMapBuffer1 の値です) ]
間違っています: SetIndexBuffer(0,ExtMapBuffer1);lt;- 0 は最初のバッファーのみが描画され、1 は 2 番目に描画されます (確率論では、2 行のため 0,1 になります) SetIndexStyle(0, DRAW_LINE);lt;- DRAW_LINE は 0 で定義されたバッファに適用されるため、ExtMapBuffer1

for(int x=limit ; x gt;=0 ; x--)* For ( 「limit」に等しい整数「x」を宣言し、「x」が 0 以上の場合、「x」を 1 減らします。 ) これはたわごとが 0 から始まり、毎回 1 ずつ戻るようにしますか。 (?) */
左から右に移動します: 最後のバー (最も古い) から最新のバー (0:現在) へ

悠人冬摩明
11-22-2022 17:14, 05:14 PM
私はこれに取り組み続けてきましたが、それは理にかなっています!初めての EA を書きましたが、初心者に大きな幸運をもたらしたと思います!良いご指導ありがとうございました!あなたなしではできなかったでしょう。私はこれが長い旅の始まりであることを知っています。すぐに奇跡が起こるとは思っていません。しかし、私は今、自然の奇妙さを前向きにテストしており、これまでのところうまくいきます! (デモ FXDD アカウントで) MQL4 の経験がほとんどない人は、フォワード テストで実際にうまく機能するものを書くことができないはずなので、私はそれを自然の奇妙さと呼んでいます。過去 24 時間で 180 ピップス。デモでの FWD テストの概要 (初心者の運、1 日だけ) http://www.venexys.com/HP002A2_FWD_DET_TEST_DAY001.gif
http://www.venexys.com/HP002A2_FWD_TEST_RESULTS.htmhttp://www.venexys.com/HP002A2_FWD_TEST_RESULTS.htm

悠人冬摩明
11-22-2022 18:36, 06:36 PM
あなたが指示したとおりにエラーなしでコンパイルされた CI を編集しました。それをチャートに適用すると、同じチャートで実行した RSI(21) と同じように模倣されていることがわかります。これまでに理解できたことは次のとおりです。 CI の場合、これはすべて次のとおりです。 #property indicator_separate_window #property indicator_buffers 1 #property indicator_color1 これに赤が適用されます。そしてこれ: extern int MyPeriod = 21;は単なる外部変数です。 (変数とは何かを理解しています。外部で作成されているため、起動時に小さなGUIで設定できます。)これは次のとおりです。 int init() { SetIndexStyle(0,DRAW_LINE); SetIndexBuffer(0,ExtMapBuffer1);リターン (0);これは、グラフィカルに描画されるものを示し、「起動時に 1 回実行」セクションにあります。この場合、0 から始まる線を描画し、次のバッファーを使用してそれ自体を描画します [ buffer = ( 0 から始まるのは ExtMapBuffer1 の値です) ] 次に、スクリプトの「開始」部分までずっと下に移動し、ここに.... int start() { int limit = Bars-IndicatorCounted(); があります。* (カウントされたチャート内のバーの数からインディケータが最後に起動された後に変更されなかったバーの量を差し引いたもの) の結果に等しい整数定数を宣言します */for(int x=limit ; x gt;=0 ; x --)* For ( 「制限」に等しく、「x」がゼロ以上の整数「x」を宣言し、「x」を 1 減らします。) これにより、たわごとが 0 から始まり、毎回1つずつ戻ります。 (?) */{ ExtMapBuffer1[x]=iRSI(NULL,0,MyPeriod,PRICE_CLOSE,x);* ExtMapBuffer1[x] equals iRSI(......,x) */} コードの各行をゆっくりと調べて、理解を深め、インジケーター、色、バッファーなどを変更します。ゆっくりと浸透し始めています。短い時間でさらに多くの質問があると確信しています。これは、誰もが求めることができるほど詳細な説明です。このありふれた詳細を初心者に説明するために時間を割いてくれたことに感謝します.あなたに大きなカルマ!もう一度ありがとう!ハル

昭雄恵子
11-22-2022 19:58, 07:58 PM
double ExtMapBuffer1[]; の下になりました。 extern int MyPeriod = 21; を追加します。 extern はインジケーターと対話するために使用されます。CI をインストールするとポップアップが表示され、入力タブに extern 変数が表示されます... ExtMapBuffer1[x]=1; を置き換えます。と: ExtMapBuffer1[x]= iRSI(NULL,0,MyPeriod,PRICE_CLOSE,x); remove : #property indicator_minimum 0 #property indicator_maximum 2 そしてコンパイル...何も表示されない場合。それで大丈夫です。インジケーターを削除して元に戻します... コンパイルしてもスケールは変わりません.なぜなら RSI 値が 0 と 2 の間に収まらないからです.値、バッファーの追加、色の変更、他のインジケーターの使用 (RSI の代わりに iCCI を使用)、知っておく必要があるのは、開始することだけです...後で表示されます...他の質問がある場合は、先に進んでください...: -) ハッピー ホリデー
https://www.forexgroove.com/attachments/1531688990.pnghttps://www.forexgroove.com/attachments/1531688990.pnghttps://www.forexgroove.com/attachments/1531688990.png

悠人冬摩明
11-22-2022 21:21, 09:21 PM
1 添付ファイル出来た!フラットレッドラインを手に入れました。この最後の投稿には、私が消化しなければならないかなりの内容があります。起こっていることすべてをよく理解するために、私はそれを何度か調べます。この男に時間を割いてくれてありがとう。市場は閉鎖され、休日が近づいています。あなたとあなたが素晴らしいホリデーとハッピーニューイヤーを過ごすことを願っています!ハル
https://www.forexgroove.com/attachments/15316889981210488381.mq4

昭雄恵子
11-22-2022 22:43, 10:43 PM
Ok。 so resume Init lt;- プログラムはこの関数を 1 回だけ実行します (インディケータがロードされたとき) deInit lt;- プログラムはこの関数を 1 回だけ実行します (インディケータがアンロードされたとき) Start lt;- プログラムは毎回この関数を実行しますサーバーからデータを受信します。では、カスタム インジケーターとは何ですか?短くするために。カスタムインジケーター(今のところCI)を構築する主な理由は、アイデアをグラフィカルな方法で配置することです(さらに、サウンド、エクスポート、ファイルの読み取り/書き込み、アラートなどを実行できます)。しかし前に... CIは Array(Or buffer or table) を使用します。彼らは何ですか?変数とは何かを知っておく必要があります(そうでない場合は、それについて読んでください)。 100 個の変数 (変数 1、変数 2 など) を宣言するとします。そうするには多くの時間と労力がかかります...したがって、配列は複数の変数を1つの名前で組み合わせたものです(繰り返しますが、それ以上ですが、今のところは十分です)。 100個の箱が隣り合っていると想像してください。最初のものは 0、1、2 などです... (配列は 0 から (配列サイズ) -1 で始まります) ボックス #5 から値を取得/書き込みする場合は、Box[4] ( Box [BoxSize-1] ) 通常、宣言時にバッファのサイズを定義します。プログラムは、どのくらいのサイズが必要なのかわからないからです! ___ 簡単に言うと、プログラムはバッファに必要なスペースをメモリに割り当てる必要があります (例: int buffer[2]={1,2}; は int 型の 2 つのスペースをメモリに作成します)。変数を宣言するとき(int test
https://www.forexgroove.com/attachments/1531688990.png、プログラムは情報を受け取るためにタイプ「int」の1つのスペースを自動的に割り当てます。 (また、コード内でバッファを展開または縮小することもできます: しかし、今は忘れてください)。 ___ CI ショー グラフィック。そのためには、Buffer を使用する必要があります。 CI は、使用するように指示したバッファーを使用します。インディケータに使用する最大 8 つのバッファがあります (ただし、多くのテーブルを使用できます。後で説明します)。各ボックス (サンプルの説明を作成するため) は、グラフィック上の 1 つのろうそくに相当します。 Buffer[0] は Candle #0 などと並んでいます... 右から左へ (最も新しいものから最も古いものへ) 線は 1 つのボックスから別のボックスに描画されます: box[0] に 10 と 5 がある場合box[1] では、線は右から左へ、10 から 5 まで (上線) になります。最初のデモでは、インジケーター (フラット ライン) の値として 1 を入れます。ここに行きます: まず、CI のプロパティである '#property' を配置します #property indicator_separate_window #property indicator_minimum 0 #property indicator_maximum 2 #property indicator_buffers 1 #property indicator_color1 CIの権利)。 'indicator_minimum' と 'indicator_maximum' を削除すると、CI バッファーの値から高値と安値がスケーリングされます。 (彼女のデモのように値として 1 のみを使用すると、最小値/最大値を設定しないと平坦な線が表示されません) 「indicator_buffers」は、グラフィックを出力するために使用するバッファーの量 (必要な行数:最大 8)。 'indicator_color1' は簡単です。線に必要な色を指定することです。すべての「#property」の下に double ExtMapBuffer1[]; を置きます。 「ExtMapBuffer1」はウィザードによって付けられたデフォルトの名前ですが、毎回変更します。言いましょう Buffer[];この場合、必要なスペースの量を言う必要はありません(Buffer[x​​]
https://www.forexgroove.com/attachments/1531688990.png'Init' 関数で実行されるためです。あなたが入れたinit関数で: SetIndexStyle(0,DRAW_LINE); SetIndexBuffer(0,ExtMapBuffer1); 'SetIndexStyle' は、グラフィックのタイプ (線、ヒストグラムなど) を定義するために使用されます。色... バッファを配置する順序はそれほど重要ではありませんが、次々に描画されるため、0 は 1 の下、2 は 1 の上になります。 MACD ラインがヒストグラムの背後にある場合、MACD を想像してみてください。可視性の問題です (ただし、0 から x でなければなりません)。'SetIndexBuffer' は 'ExtMapBuffer1' を 0 に関連付け、これを使用してバッファを識別し、それを使用して CI に線を描画します。それだけです。あなたはあなたのベース宣言を持っています...それを使ってみましょう... 「開始」関数に入れます: int limit = Bars-IndicatorCounted(); for(int x=limit ; x gt;=0 ; x--){ ExtMapBuffer1[x]=1;あなたの完了...関数や他のものに関する情報については。それをダブルクリックしてから「F1」 試してみてください...そしてうまくいくかどうか教えてください...あなたはあなたの平らな線を持っています...

悠人冬摩明
11-23-2022 00:05, 12:05 AM
何度か読み返しましたが、この時点で理解できたと思います。勝手に続けてください。

昭雄恵子
11-23-2022 01:28, 01:28 AM
ところで、読んで理解したらお知らせください。だから私は続けることができます... 私は先に進む前に待ちます....
https://www.forexgroove.com/attachments/1531688990.png

昭雄恵子
11-23-2022 02:50, 02:50 AM
1. #property copyright 2. #property link 1 と 2 は、スクリプトを識別するためだけに存在します (コーディングには重要ではありません)。 #property indicator_chart_window 各ウィンドウを値として、チャートを含むウィンドウは 0 で、下部の各インジケータは値 1 から x を受け取ります。したがって、indicator_chart_window で指標を作成すると、グラフィックはウィンドウ #0 (チャート ウィンドウ) に配置されます。 indicator_separate_window を使用すると、MACD や RSI などの別のウィンドウでインジケーターが作成されます... Wizard(Check Box) #property は、インジケーターのさまざまな側面を定義するためにあります。後で説明します...4. int init() init は、インジケーターがロードされたときに初期化する必要があるコードを配置する場所です。バッファまたはグローバル変数と同様に、一度だけ実行されます...5. int deinit() deinit は init の逆です。そのため、インジケーターがチャートから削除されたときに実行されます。例: チャート ウィンドウにテキスト オブジェクトを配置した場合、インジケーターを削除するときにそれらを削除するか、そこに残します。 int start() が init として呼び出された後、新しい入力 (すべてのティック値) が入るたびに、アプリケーションは start 関数を実行します...これでベースは終了です... 例: グローバル変数を宣言する場合上記の init (関数内ではなく、以下を参照) like double test=0;次に、init に test=1; を入れます。そして、最初に test = 2; を入れます。次に、インジケーターをロードすると、テストは値として 1 を受け取ります。開始がトリガーされるたびに、test は値 double test=0 として 2 を受け取ります。 int init(){ テスト=1;コメント(テスト:,テスト);} int start(){ テスト=2;コメント(テスト:,テスト); Ps .: コメントは、ウィンドウ チャートの左隅にテキストを配置し、エキスパート タブの下のターミナル ウィンドウに印刷するために使用されます。また、start から test を削除すると、常に 1 が出力されることがわかります。init を実行してすぐに開始するため、実装されている方法は役に立たないため、test は常に 2 になります。 . Ps .: これを読んでいる人のために... これは単なる基本的な説明です.レッスンを作成することは私の注意ではありません... このスレッドを参照してください。よくできています。

悠人冬摩明
11-23-2022 04:12, 04:12 AM
はい、もちろんしたいです!!私はあなたの指示に従いました。 Indicators フォルダーに IndicatorProto001.mq4 という新しいインジケーターがあります。あなたがいるとき、次のステップの準備ができています。それまでの間、インディケータについて説明しているレッスン 10 から 12 を読み直します。

昭雄恵子
11-23-2022 05:34, 05:34 AM
最初のインジケーターを作成し、基本を示すお手伝いをします... もちろん、すべてを深く理解するには、コース (pdf) を見てレッスンを行う必要があります... ステップ 1- ブランクを作成する, Custom Indicator (FilenewCustom indicator) 好きな名前をつけてください(存在しない名前) 今はすべてデフォルトのままにしておきます(Do next) その後何も書きません, F5 を実行してインジケーターをコンパイルします 今すぐ購入する必要がありますin you MT4 Custom list そして、そこから始めます... ご希望の方はもちろん!!! :-)

悠人冬摩明
11-23-2022 06:57, 06:57 AM
gt;gt;ところで…インジケーターの仕組みがはっきりと分かりますか? lt;lt;もちろん違います。 gt;gt; EA を構築する前に、小さなカスタム インジケーターの構築を試みる必要があります。 lt;lt;私は、自分を惹きつける主題に頭を悩ませることで有名です。 (EA を書くのと同じように) 最初は非常に混乱しますが、最終的には理解できるようになります。あなたは専門家です!ステップ 3 から 5 を調べた後、ステップ 1 に進みます。だから私はあなたのアドバイスを受けて、最初にRSIインジケーターで遊んでみます.今のところ、EA を休ませて、より基本的なことを学びます... gt;gt;実際のインジケーターとカスタム インジケーターを並べて配置し、正しいことを行ったかどうかを確認してください lt;lt;これは良い考えのように思えます..私とのあなたの助けと忍耐に再び感謝します.

昭雄恵子
11-23-2022 08:19, 08:19 AM
また、私はこれを書きます: for(int x=0 ; x lt; limit ; x ) しかし、実際には、最後から最新のろうそくまで開始したいので、 for(int x=limit ; xgt;=0 ; x--) どうして?あなたのインディオールが過去の価値から追加している場合、最初に計算していない場合、どのように追加できますか?例: 現在の値が gt であるかどうかを indior に表示させたい場合。 0 または lt; 0 を最後の値と比較すると、最後の値を取得できる必要がありますが、ゼロ (Buffer[0]) から開始して配列を作成するため、Buffer[1],Buffer[2] にはまだ値がありません。 .. ところで.. 室内の仕組みがハッキリ分かりますか? EA を構築する前に、小さなカスタム インテリアの構築を試みる必要があります。例のRSIで再作成するように。方程式を再発明するのではなく、RSI 関数を使用して購入します。したがって、実際の屋内とカスタムの屋内を並べて配置し、正しいことをしたかどうかを確認できます...

昭雄恵子
11-23-2022 09:41, 09:41 AM
整数制限 = 4; for(int x=0 ; x lt; limit ; x ) { Close[x]=iRSI( NULL,0,21,PRICE_CLOSE ,x); }
最初の Close[] は MQL フレームワークによって定義されます。情報を取得するためにのみ使用できます...しかし、配列を使用できます。例: double MyArray[];またはダブル MyLilttleBuz[];質問? Candle Close Value を変更する理由は何ですか?代わりに、indior(line) を描画するバッファーに RSI 値を指定する必要があります。 lt;- バッファの作成に使用 値を受け取るのはバッファです。これらの値は、アプリケーションが内側の線を描画するために使用します。また、ループに 4 を使用すると、4 つのろうそくの長さの行しか得られないため、他のろうそくの情報を表示できませんでした (歴史的なテストとしましょう)。

悠人冬摩明
11-23-2022 11:03, 11:03 AM
それで、これは理にかなっていますか、それとも私は道を外れていますか? int limit = Bars-IndiorCounted();/.. 'Bars' から IndiorCounted() を引いた値に等しい for(int x=0 ; x lt; limit ; x )/'x' が 0 で 'Limit' より小さい場合、'x' を 1 増やしますそして、次のことを続けてください.... {/(Buffer[array] = iRSI(......,x) High[x]=iRSI(NULL,0,21,PRICE_CLOSE,x);/Could Close[x] work here instead of High[x]? } これにより、既存のローソク足をやり直すことなく、以前のすべてのローソク足と、新しいローソク足ごとに RSI が実行されるようです (正しいですか?)。最後の 5 バーのみが必要な場合は、Limit を '4' に設定できます... (?) と、最後の 5 バー (?) のようなもの (?): int limit = が得られるのは当然のことです。 4; for(int x=0 ; x lt; limit ; x ) { Close[x]=iRSI( NULL,0,21,PRICE_CLOSE ,x); } ネバーランドに行く途中でしたら、お知らせください。これを考え直してください。

昭雄恵子
11-23-2022 12:26, 12:26 PM
値の Buffer(Array) は 0 から始まります。例: 5 番目のローソク足の高値を取得するには、High[4] と記述します。したがって、シフトは右から左へローソク位置 1 になります。すべてのろうそくの数量を取得するには、'Bars'-1 を使用します。したがって、楽しみのために RSI インディアを作成したい場合は、すべてのろうそく -1 に対して反復を実行します。例: for(int x=0 ; x lt; Bars-1 ; x ){ バッファ[x]=IRSI(......,x);しかし、実際には次のように使用します: int limit = Bars-IndiorCounted(); for(int x=0 ; x lt; 制限 ; x )lt;制限 ;= x=gt;lt;制限;x ){gt;バッファ[x]=IRSI(......,x);なぜIndiorCounted?チャートに初めて indior を配置するとき、ろうそくは描画されないため、IndiorCount はすべてのろうそく (バー) に等しいため、変更されていないろうそくの量のみが得られます (したがって、新しい値が入るたびに再構築されません)。 indior が新しいキャンドル情報を追加するたびに、使用するリソースが少なくなります.lt;/limit;x ){gt;lt;/limitgt;

悠人冬摩明
11-23-2022 13:48, 01:48 PM
OK 私の実験は、しばらくの間スマイリーフェイスとすべてでアクティブであり、何もしていません。私のコードがうまくいかない可能性が非常に高いシナリオについて疑問に思い始めています。このスレッドのより適切な名前は、EA Coding for Dummies 101 のようなものだったと思います。時間とともに良くなります。私はこの段階を通過しなければなりません。とにかく.. ここに質問があります。次の式: iRSI(string symbol, int timeframe, int period, int applied_price, int shift ) このシフトはどういう意味ですか?現在のチャートのバーで過去の期間を意味すると考えています。しかし、それが非常に漠然とした解釈である可能性があることは理解しています。 (これらの変数のオンライン ドキュメントには、非常に一般的な定義があり、実際には十分に説明されていない場合があります。) 正しい方向への小さなステップであっても、まったくステップを踏まないよりはましです。

悠人冬摩明
11-23-2022 15:10, 03:10 PM
あはは!ポイントのより良い説明をしてくれたZeuzereに感謝します。それはまさに私が必要としていたものです.ポイントが何であるかを理解しました。

昭雄恵子
11-23-2022 16:32, 04:32 PM
また、 Point と呼ばれる事前定義された変数のストック定義を誰かが拡張できますか?
在庫を拡大してください...私には理解するのが難しいです;-)(私はフランス人です..説明するつもりですか?もしそうなら... 1.2500 から 30pip をどのように加算または減算しますか? 30 * ポイント == 30 * 0.0001 == 0.0030 なので 1.2500 0.0030 倍数に良い値を与えます。 4 進通貨: ポイントは 0.0001 を与えます 2 10 進通貨: ポイントは 0.01 を与えます

悠人冬摩明
11-23-2022 17:55, 05:55 PM
1 添付ファイル はい ゼロから始めていますが、それは昨日のことです。今日、今でも、私はすでにスクラッチ以上のものを持っています。コーダーの第一人者からのこれらのレッスンは優れています。別の優れたリソースは次のとおりです。
http://articles.mql4.com/84この記事は、EA コードのさまざまなセクションを示しているため、非常に役に立ちました。これが私がこれまでに学んだことです。 • 明らかに、バーをチェックする部分やアカウントの残高をチェックする部分など、ある EA から次の EA にいくぶん一定であるコードのチャンクがあります。 • 実際に大きく変わる部分は、市場への参入と退出の方法を決定するために使用される「if」ステートメントだけのようです。本当に素晴らしいのは、コンパイルして下部にエラーが表示された場合、エラーを選択して右クリックし、ポップアップメニューから「行に移動」を選択すると、小さな赤いポインターが作成した場所を示します。コード自体の間違い!なんて便利!それらを1つずつ修正すると、やがてエラーや警告なしでファイルをコンパイルすることができました.はい!初めての EA を書きました。確かにフォーチュン メーカーではありません (まだ) 私はそれを適切に呼びました: Prototype001 RSI レベルをチェックし、過去 5 バーの RSI レベルの動きをチェックします。それに基づいてロングまたはショートに開きます。 (少なくとも私はそれが機能すると考えています。実際に機能するかどうかを確認するために現在テストしています)。私はそれができると確信しています。これらのうちの1つを書くのはこれが初めてです。私の謙虚なEAを見て、あなたの批評を提供してください。今までどうしていただろう。また、 Point と呼ばれる事前定義された変数のストック定義を誰かが拡張できますか?ありがとう!ハル
https://www.forexgroove.com/attachments/1529195390340543145.mq4

悠人冬摩明
11-23-2022 19:17, 07:17 PM
ポインター Zeuzere に感謝します。今日、これらすべてのレッスンを読んでいます。非常に有望に見えます。これで始められるはずです。再度、感謝します

昭雄恵子
11-23-2022 20:39, 08:39 PM
これを見てください: MT4 learning how to program Post#1 よくやった
https://www.forexgroove.com/attachments/1529195386.png

悠人冬摩明
11-23-2022 22:01, 10:01 PM
ばかげた質問をしたくないので、質問するのをためらっていますが、ゼロから始めてプログラミングの経験がない人にとって、これは思ったよりも難しいことを認めなければなりません。 …行き詰まりを感じます。先に進む前に、ここで私がやろうとしていることを理解しようとしています.....私は次のようなコードを書こうとしています: Open long position If RSI(21) gt;= 50 and if RSI(21) has been最後の 5 つのローソク足で上昇し、ADX(14) が 40 の南から 40 の北に交差した場合、これは私の考えの一部にすぎません.ボックスは後で来ます.まず、この部分を機能させる必要があります。チュートリアルを読めばわかると思っていたのですが、そうではありません。完全なコーディング初心者 (誰が私??) として、私はあちらこちらでコードを見て、それを理解しようとしています。真剣に手を合わせる必要があると感じています。エディターによって生成されたフレームワーク内のどこに物を置くべきかわかりません。 (つまり、初期化、初期化解除、または開始) しかし、私は頭蓋を何らかの形で突き破る決心をしています。私が受講できる EA コーディング クラスを知っている人はいますか?私は学ぶことに真剣です。私は自分で何かを成し遂げるにはあまりにも未熟であり、他の人のコードをコピーしたくありません。その方法では何も学べないと感じているからです。

昭雄恵子
11-23-2022 23:23, 11:23 PM
For、switch、function、parameter、double、int などの基本的なことは知っていますか。何もないところから始める場合は、C 言語の基礎コースを受講することをお勧めします。それらはネット上で無料で簡単です (まあ、初心者にはそうではありません)... 本気なら週末だけで基本的なことをプログラミングできます... プログラミングの方法については説明しませんが、私がお手伝いしますプログラミングの基本を知っている場合は、クラウドを削除して作業を開始します。

悠人冬摩明
11-24-2022 00:46, 12:46 AM
Zeuzere と tesla に感謝します。今のところ、私は遊ぶのに十分であり、途中でより具体的な質問があると確信しています.さあ、コードを書いて指を交差させる時が来ました!みんなありがとう!

昭雄恵子
11-24-2022 02:08, 02:08 AM
ヒント...私はいつブレイクアウトが発生したかを教えてくれるオシレーターに取り組んでおり、これを使用します( 0 == BreakOut ) - 3つの期間を定義します:200、100、50としましょう - あらゆる瞬間にろうそくの量を数えます過去にヒットした (現在の価格でのそれらの期間) -- ローソク足のクローズ後に 0 の値を取得した場合、過去 X 期間にローソク足がヒットしていないことがわかります。 --このようにして、各動きに値を付けることができます (ゲージのように) --例: 0 から 5、何かを行います。そうしないと本当のブレイクアウトではありません... .両方が良ければ、ブレイクアウトがあります... しかし、それは単なるヒントです... 好きな期間の高値/安値を次のように定義できます。 - または CCI のようなインディオールを使用します (トップとボトムを取得するには、その期間の価格の高値/安値を取得します)。助けが必要な場合は、明確な質問をしてください。答えようとします!

悠人冬摩明
11-24-2022 03:30, 03:30 AM
ありがとうテスラ私はそれを機能させたいだけではありません..実際にその方法と理由を理解したいです。あなたが投稿したコードのチャンクを把握します。それが何をしているのかを理解すれば、それは私を助けると確信しています。もう一度感謝します。

悠人冬摩明
11-24-2022 04:52, 04:52 AM
ありがとうゼゼレ。ボックスを見ることは気にせず、ボックスを定義して、そのようなボックスのブレイクアウトで取引するだけです。ボックス ブレイクアウトと RSI および ADX レベルを組み合わせた取引システムに取り組んでいます。システムをバックテスト (およびフォワード テスト) できるように、単純な EA を作成したいと考えています。 MT4 に特定の RSI と ADX ミックスでオープンするように指示する方法は多かれ少なかれ知っていますが、仮想ボックスを描画して、ボックスが壊れて他のインディオールがトリガーされたときに取引をトリガーする方法はわかりません。私はピップボクサーコードを見ますが、私はここにいる他のみんなほどコーダーが上手ではありません. (初心者注意!) ボックスのロジックをたどることができませんでした。私は試して台無しにすることを恐れていません。最終的には正しくなると思います。再度、感謝します!ハル

昭雄恵子
11-24-2022 06:15, 06:15 AM
仮想ボックス (ボックスを定義) を実行して取引を自動化する方法がわからない場合 (ベスト プラクティスを探すだけでなく) Pip_Boxer EA を見てください 彼はボクシング テクニックを使用しています .... 彼は CCI やその他のものを使用しています...コードでスレッドを読むと、答えが見つかります...チャートに長方形のボックスを描くつもりはないと思います!

悠人冬摩明
11-24-2022 07:37, 07:37 AM
ご説明いただきありがとうございます。私はそれらを理解していることを確認します。ハル