コーディングの方法は? - ページ 131

 

MT4終了時にEAの変数値が消失する

皆さん、こんにちは。

私の質問に対して多くの解決策を検索し、試しましたが、うまくいくものが見つかりません。

私はEAをプログラミングしており、トレードはチケット番号によって処理されます。チケット番号はint変数に格納されています。これはStrategy Testerや 連続的に中断されないMT4でうまく動作しますが、MT4を閉じると、もちろんチケットは失われ、MT4を再ロードするとチケット番号が失われ、したがってEAは現在どの取引が開いているか分からず、新しい取引を開始します。たとえ、保留中の注文や未決済の注文がすでに取引されている場合でもです。

これが意味をなすといいのですが。

静的変数も試しましたし、グローバル変数も知っていますが、チケット番号と変数はEAが動作しているチャートのTFとシンボルに固有でありたいので、それらを使用しないことを希望しています。

どなたか簡単な解決策をお持ちではないでしょうか。チケット番号をファイルにエクスポートして、EAがそれを開いて読むことができるということは知っていますが、これは遠回りのような気がします。私が現在テストしているそれほどきちんとした方法は、プログラム開始時にSELECT_BY_POS関数を使用し、同じマジックナンバーを持つ各トレードを探すことですが、私は時々同時に2つの買いを実行し、どれがどれかを識別するのが難しいので、これはEA Iのフル機能を許可していません。

ご回答ありがとうございました。

 
mach_one_man:
皆さん、こんにちは。

私の質問に対して、検索していくつもの解決策を試しましたが、うまくいくものが見当たりません。

私はEAをプログラミングしており、取引はチケット番号によって処理されます。チケット番号はint変数に格納されています。これはStrategy Testerや連続的に中断されないMT4でうまく動作しますが、MT4を閉じると、もちろんチケットは失われ、MT4を再ロードするとチケット番号が失われ、したがってEAは現在どの取引が開いているかわからず、新しい取引を開始します。たとえ、保留中の注文や未決済の注文がすでに取引されている場合でもです。

これが意味をなすといいのですが。

静的変数も試しましたし、グローバル変数も知っていますが、チケット番号と変数はEAが動作しているチャートのTFとシンボルに固有でありたいので、それらを使用しないことを希望しています。

どなたか簡単な解決策をお持ちではないでしょうか。チケット番号をファイルにエクスポートして、EAがそれを開いて読むことができるということは知っていますが、これは遠回りのような気がします。私が現在テストしているあまりすてきでない方法は、プログラム起動時にSELECT_BY_POS関数を使用して、同じマジックナンバーの各トレードを探すことですが、私は時々同時に2つの買いを実行するので、これはEAの全機能を許可しない、どちらがかを識別するのは困難です。

お返事ありがとうございました。

チケット番号の代わりに、マジックナンバーを使って注文を記録してみてください。 これは、私が発見した最良の方法です。

 
FerruFx:
このように修正します。

if(Show_Settings) subPrintDetails(); else Comment("");

FerruFx

ありがとうございます! 日曜の夕方にテストしてみます。 本当にありがとうございました。 良い週末をお過ごしください。

Dave

 

EAの改造

こんにちは。

どなたかご教授頂ければと思います。他のFXフォーラムから入手したこのEAがあります。それは素晴らしいように見えますが、誰かがそれにいくつかの修正を加えるのを助けることができれば感謝します。

私は私が知っていると思う少しを試してみましたが、それは私に不均衡なブラケットe.t.cのエラーを与え続けています。

EAは5ロットをオープンし、指定された増分値(例えば50ポイント/ピップス)でそれぞれ1ロットの利益を取 ります。そのため、利益が指定した数だけ増加するたびに1ロットずつ閉じ、最終的に5ロット目/最後のロットは反対の信号があるまで実行できるようにします。

修正点

3ロットだけオープンするようにしたい。

指定されたピップ数で利益が増加するたびに1ロットずつクローズします。

最初の2つの利食いポイントに到達した後、3つ目の利食いポイントにトレーリングストップを使用します。

図解

3ロット

増加するTPポイント= 40 pips

第1ロット TP = 40, ストップロスはBEに移動

2ロット目 TP= 80

3ロット目=トレーリングストップ発動

他のすべてのものはすでにEAに含まれていますが、私はただロットサイズを変更し、トレーリングストップを追加する必要があります。

ありがとうございます。

ファイル:
stoch_ac.txt  7 kb
 
Dave137:
ありがとうございます。 日曜の夕方にテストしてみます。 あなたの援助に本当に感謝します! 素敵な週末をお過ごしください! Dave

どういたしまして、デイブ。日曜日を楽しんでください。

FerruFx

 

ローソク足に線を引き、上下矢印を描く

ローソク足に線を引いたり、上下の矢印を描いたりする簡単なインジケーターをプログラムしようと思っています。

スタイル、インデックス、ドローなどの使い方がわかりません。

Start()の中に非常に簡単なif文がありますが、Start()の前に、そしてStart()のifの中に、線と上向き矢印と下向き矢印を描くために他に何を追加すればよいのでしょうか。

ありがとうございます。

 
MoreYummy:
ローソク足に線を引き、上下の矢印を描くという非常にシンプルなインジケーターをプログラムしたいと思っています。

これらのスタイル、インデックス、描画などをどのように使用するのかがわかりません。

Start()の内部には非常にシンプルなif文がありますが、Start()の前に、そしてStart()のifの中に、線、上矢印、下矢印を描くために他に何を追加する必要があるのでしょうか?

ありがとうございます。

Start()関数の 中で何らかの条件を付けて描画しようとする前に、buffers[]を設定/初期化する必要があります。

インジケーターを作るのは簡単なことではありません。mqlのコーディングの基本を学ぶ必要があるかもしれません。

あなたの学習が成功することを祈っています。

FERRUFX

 

ヘルプ

こんにちは、プログラマー仲間です。

私はEURUSDのチャートに 貼り付けるとEURUSDで取引するEAを持っています。質問ですが、複数のチャートにEAを取り付けることなく、複数のペアを取引するにはどうしたらいいのでしょうか?

以下のような感じでしょうか?

string pairs = "GBPUSD;EURUSD;USDCHF;USDJPY;USDCAD;GBPJPY;EURJPY;GBPCHF;EURAUD;EURCHF;EURGBP;AUDUSD;CHFJPY" と入力します。

よろしくお願いします。

LF

 

注文を送信する際に、特定のペアを取引するためのコードを用意します。

 

文字列の代わりに配列を使用し、その配列をループして各ペアの順序を反復して配置します。もし配列を使ったことがなければ、ヘルプで調べてみてください。とても簡単な方法です。

幸運を祈ります。

ラックス