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

 

wolfeさん、ありがとうございます。

あなたの答えと本に感謝します!それは私にとって新しいものなので、私はそれを掘り下げて、もう少し学びます。

エリック

 

オブジェクトの時間固定

オブジェクト(矢印など)を時間固定し、チャートのTFを変更しても矢印が元の時間のままであるようにする方法をどなたか教えていただけないでしょうか? 垂直線を 描いてからチャートのTFを変更するのと同じような感じです。 ありがとうございます。

 

.00の変更・削除 方法

double HiPrice2 = iHigh(NULL,NULL,1);

double LoPrice2 = iLow (NULL,NULL,1);

double Rangehilo= (HiPrice2-LoPrice2);

if (Digits < 4) Rangehilo = Rangehilo * 100; else Rangehilo = Rangehilo * 10000;

Comment("\n", "Range:",DoubleToStr(Rangehilo,2)+" pip","\n");

高値と安値の間にレンジPIPを作成しようとすると、次のように表示されます。

->> レンジ37.00 pip

質問ですが、どのように.00を削除すれば37pipだけ表示されるのでしょうか?

ありがとうございます。

 

NormalizeDouble(var1,0)。

ルクス

PS: ただ、あなたのコードに気づきました。DoubleToStr(Rangehilo,0) - 2を0に変更します。

 
luxinterior:
NormalizeDouble(var1,0)です。

ラックス

追記:今、あなたのコードに気づきました。DoubleToStr(Rangehilo,0) - 2を0に変更します。

おっと、ちょっとしたミスでした。Luxinteriorさん、ありがとうございます。

 

標準偏差のバンドを追加する

こんにちは、くだらない質問で申し訳ないのですが、plsはここで私を助けてください。

もし、チャートウィンドウに1本の線からなるインジケータがあり、その線にボリンジャーバンドのような標準偏差 バンドを追加したい場合。どのようにこれを行うのでしょうか。

例えば、オリジナルのインジケータをプロットするバッファの名前をabcとします。

で、まずこれらを宣言します。

extern int BandsPeriod=20;

extern int BandsPeriod=20; extern int BandsShift=0;

extern double BandsDeviations=2.0;

1)次のように変更します。

#プロパティ indicator_buffers 1 (1が3になる)

2)

SetIndexBuffer(0,abc)を設定します。

SetIndexStyle(0,DRAW_LINE)を設定します。

を追加し

SetIndexBuffer(1,UpperBuffer)を追加します。

SetIndexStyle(1,DRAW_LINE)を設定します。

SetIndexBuffer(2,LowerBuffer)を追加します。

SetIndexStyle(2,DRAW_LINE)を設定します。

SetIndexDrawBegin(0,BandsPeriod+BandsShift)を設定します。

SetIndexDrawBegin(1,BandsPeriod+BandsShift)を設定します。

3) 残りのボリンジャーバンドのコードを初期化ループに追加します。

int start()

{

int i,k,counted_bars=IndicatorCounted();

double deviation,sum,oldval,newres;

//----

if(Bars<=BandsPeriod)戻り値(0);

//---- 初期値ゼロ

if(counted_bars<1)

といった具合に......。

4) しかし、オリジナルのbands.mq4コードのMovingBufferというバッファを、あなたのインディケータからの新しいバッファ、"abc "という名前で、一体どうやって置き換えるのでしょうか?

これはどうするのが一番いいのでしょうか?

私のインジケータコードをbands.mq4コードに取り込むべきか、あるいはその逆か?

私が何をやっているのかわかるように、bands.mq4というよく知られたコードを添付しました。

また、私のコーディングの無知を申し訳なく思っています。

多分、誰かが'adding stdev bands tutorial'を知っていますか?それは私が今必要としているものでしょう。Thx

ファイル:
bands.mq4  3 kb
 
 

EAのコーディング

皆さん、こんにちは。

私は、EAが現在の取引セッションですでに利益を上げている場合、取引を行わないようにするいくつかのコードを作成したいと思います。

私は、毎日の取引の開始時間と終了時間を選択することができるように構築したいくつかのEAを持っています。このEAはまた、新しいバーの開始時にのみ何かを行います。ですから、もし私が取引をしていて、それがストップロスやテイクプロフィットに ヒットしてクローズした場合、EAは新しい取引を始める前に次のバーが開くまで待ちます。

例えば、私はEAを1時間足チャートで午前6時から午後2時の間に取引するように設定しています。午前6:00に取引が開始されます。9:23にテイクプロフィットがヒットし、その取引は終了します。午前10時に新しい取引が開始され、新しいストップロスまたはテイクプロフィットがヒットするか、時刻が午後2時になるまで開いたままになり、その時点で取引は終了し、その日の残りの取引が行われます。

私がEAに望むことは、時間帯を認識するだけでなく、取引セッション中にすでに勝ちトレードがあったかどうかも認識することです。つまり、上記の例では、まだその日の取引時間帯であるにもかかわらず、EAは午前10時に新しい取引を開始しないでしょう、なぜならすでに利益が出たからです。一方、上記の例でストップロスにヒットした場合、EAは10:00 AMに新しい取引を開始します。

私は、"OrderSelect "関数と "Mode_History "パラメータを使って、以前に終了した取引を調べ、その注文の開始価格と終了価格を比較して、利益または損失が実現されたかどうかを判断する必要があると考えています。こんな感じでしょうか?プログラミングの初心者である私は、それが問題にアプローチする最良の方法であるかどうかわからないし、もしそうなら、正しく動作するように正しい形式でそれを得るために長い長い時間がかかるでしょう。

もし誰かが私を助けてくれるなら、あるいは少なくとも、この問題に取り組む方法について何か洞察やアイデアを与えてくれるなら、ありがたく思います。もし私の例が意味をなさないのであれば、教えてください。

よろしくお願いします。

ロン

 

オーダーロスをチェックする...

このサイトでは、このリンクhttps://www.mql5.com/en/forum/176053/page25 に DIN_Kukus_EA_V2.6 のコピーを置いています。 このEAの中身を見ると、あなたが書いているように、注文履歴から注文の損失をチェックする関数が見つかります。 注文履歴から成功した取引の回数を抽出する方法については、この作業例を参考にしてください。 特定の期間の履歴を抽出するように変更することもできますが、あなたが提案することを自分で実現する方法を見るのに役立つと思います。

 

インジケーターの 結果をEAで使いたい

皆さん、こんにちは。

Gliding_Channelsインジケータは、データウィンドウのコメントエリアに現在のチャネルデータを表示します。これは、現在のバー上のチャンネルの垂直方向の深さ、チャンネルの角度(正と負の両方)、上限と下限を知らせます。私はそのデータを見たいのですが、EAがコメント領域に表示するデータと衝突してしまい、私のコメントがちらつく原因となっています。

iCustomを使ってEAで参照できるように、インジケータの4つのデータムそれぞれにSetIndexBufferを追加しようとしました。その方法では、4つの値のうち1つしかEAのコメントに取り込むことができませんでした。(ちらつきの問題も継続しました)。

どなたか、私のEAでこれら4つのインジケータの結果にアクセスする正しい方法を教えていただけませんか?

私のEAでは、これらの4つの値を "depth, angle, limitHI, and limitLO "と呼ぶ予定です。

ファイル:
理由: