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

 

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

投稿者: ForExTyro

私は、1日に行う取引の数を2つに制限するコードを EAに追加しようとしています(2)。1日にロングトレードとショートトレードを1回ずつしか行いません。これは私がこれまで持っているコードですが、バックテストでそれは動作していません。

助けていただけませんか?

返信 投稿者:Roger09

置換

datetime LongTrade=0;

datetime ShortTrade=0;

static datetime LongTrade=0;

static datetime ShortTrade=0;

これで終わり?

そうです。

ありがとうございます、Roger09

 

こんにちは。

デコンパイルされたEAとInd.Aをどのように見るか、いい例ですね。

b.

 
Kalenzo:
どうぞ、お楽しみに。

こんにちは、Kalenzoです。

またまたお世話になります。

LSMAのバー情報を表示させたいと思っています。

LSMAのWoodie Barが緑の時は、Word LONG (緑色)と表示されます。

そして、Woodie Barが赤の場合、Word Short (赤色)を表示します。

添付の写真をご覧ください。

http://i98.photobucket.com/albums/l277/compobey/CCIinfo.jpg

よろしくお願いします。

compobey

 

ヘルプのお願い

こんにちは、皆さん

私は、毎月約+100 pipsを稼ぐ非常にシンプルなシステムを使っています。

私はそれをEAに入れたいのですが、私はコーディングがとても初心者で、とても損をした気分です。.多分、あなた方/女性は、このEAを作成するために私を助けることができ、我々はすべてそれを使用することができますか?

もし興味があるなら、私に知らせてください。

ありがとうございます。

 

Kalenzo

Kalenzo:
どうぞ、お楽しみに

Kalenzoさん、またまたこんにちは。

あなたが直してくれたインディを観察しています。

基本的には問題なく動作しているのですが、たまに間違った色が線上に表示されることがあります。

写真のように、TomatoやRedになるべきところが、DodgerBlueになってしまうことがあるのです。

ルールはこうだ。

終値が前の終値より大きい場合(上昇中) = DodgerBlue(下降中)

値が< 0のときはDodgerBlue

値が> 0のときは青

値が(バーの終値で)前のバーの終値より小さいとき(下がる)=DodgerBlue

値が> 0である場合、トマト

値が< 0のときは赤

私は誤りが正確なところ赤い矢で印を付けました。

コードを見てもらえますか?

私は私ができるように良いように説明しようとしましたが、あなたがより多くの情報が必要な場合は、私に知らせてください。

ありがとうございます。

ファイル:
 
Klondyke:
Kalenzoさん、こんにちは。

修正いただいたindiを観察しています。

基本的には問題なく動作しているのですが、たまに間違った色が線上に表示されることがあります。

写真のように、TomatoやRedになるべきところがDodgerBlueになってしまうことがあるのです。

ルールはこうだ。

終値が前の終値より大きい場合(上昇中) = DodgerBlue(下降中)

値が< 0のときはDodgerBlue

値が> 0のときは青

値が(バーの終値で)前のバーの終値より低い場合(下がる)=DodgerBlue

値が> 0である場合、トマト

値が< 0のときは赤

私は誤りが正確なところ赤い矢と印を付けました。

コードを見てもらえますか?

できる限り説明したつもりですが、もっと情報が必要な場合は教えてください。

ありがとうございます。

すみません、ファイルを忘れてしまいました。

ファイル:
 

ラインラベルに移動するには?

メタトレーダー4でラインラベルに移動するにはどうしたらいいのでしょうか?

のようなものです。

if(a > b) goto fred

if(c > d) goto jim (ジム)

:fred

ここでさらにいくつかのコードを書いてください

:jim

ここでいくつかのコードを実行する

私は答えを得ましたが、私はもう少し明確にする必要があります。

代わりにfunctonsにいくつかのコードを書くことができます。このようなものです。

if(a > b) ReturnValue = fred();

if(c > d) 返り値 = jim();

int fred()

{

ここでさらにいくつかのコードを実行します。

}

int jim()

{

ここでいくつかのコードを実行します。

}

ReturnValueとは何か?関数ではないので、実際にどう書けばいいのか

 

あなたが投稿した例では、「ReturnValue」は単なる変数です。名前は何でもよかったのですが、このコードを書いた人は'ReturnValue'を使いました。

正直なところ、2つの関数から 返された値で実際に何かをするつもりでなければ、この形式はあまり意味をなしません。VB(あるいはBasicだったか、ずいぶん昔のことなので思い出せません!)でできたようなgotoのコンセプトは使えないのです。

ただ、次のようなものです。

if(a>b)DoThisFunction();

if(a<b)DoAnotherFunction();

そうすると、プログラムがgotoを使ってジャンプしたときにやろうとしたことは、代わりに2つのそれぞれの関数でやることになる。

ご理解いただけたでしょうか?

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

ラックス

 
luxinterior:
あなたが投稿した例では、'ReturnValue'は単なる変数です。しかし、このコードを書いた人は「ReturnValue」を使っています。

正直なところ、2つの関数から返される値で実際に何かをするつもりでなければ、この形式はあまり意味を成しません。VB(あるいはBasicだったか、ずいぶん昔のことなので思い出せない!)のようにgotoの概念を使うことはできない。

ただ、次のようなものです。

if(a>b)DoThisFunction();

if(a<b)DoAnotherFunction();

そうすると、プログラムがgotoを使ってジャンプしたときにやろうとしたことは、代わりに2つのそれぞれの関数でやることになる。

ご理解いただけたでしょうか?

回答

ラックス

回答ありがとうございます。私がやろうとしていることは、EAに2つの条件のどちらかを選択させ、どちらか先に変化した方を選択させるということです。

ですから、あなたの例では

if(a>b)DoThisFunction()。

if(a<b)DoAnotherFunction()です。

というのは、もう一つの条件は、cとdがaとbの前に変化した場合、これを行い、aとbを無視することです。

というのは、実際には

if(a>b && c>d) // ここで買いを実行する。

else

if(a>b && c<d) // ここで終値買いをする。

さもなくば

逆張りで売り、もしくは順張りで売り

しかし、もしcとdがaやbよりも先に変化していたら、上記のコードは無視して、代わりにcとdで上記のテストを行う。

泥のように明確で申し訳ありません

 

CSVファイルを扱う --私は気が狂いそうです

こんにちは。

私はCSV-Filesで動作するEAを書いています。

テスト用にCSVファイルを以下のフォルダーに置いています。

/tester/files

これは私のEAからのほんの一部です。

int handle = 0;

int Long = 0;

handle=FileOpen("LongMarket.csv",FILE_CSV|FILE_READ,';');

if (handle > 0)

{

Long= FileReadNumber(handle);

FileClose(handle);

}

Print("LongMarket = ", Long);

Print("Long handle = ", handle);

私のEAでは、CSVファイルを読み込んで、いくつかの整数を書き込んでいます。

今、私がテストを行い、ジャーナルで「印刷」メッセージを読むと、しばしばCSVファイルにもう書き込まれていない古い整数が表示されるのです!

例えば

最初に3が書き込まれ、EAが動作して0をファイルに書き込んだ。

そのCSVファイルには3しか表示されない。

そのCSVファイルを消去して、3の入った新しいCSVファイルを" /tester/files "フォルダに入れると、以前のテストから0しか読めなくなります!!!!でも、EAがどこで0を読み取るのかがわからない!!!!

私は気が狂いそうです!!!!!!!

私の質問を理解し、ヒントを与えてくれることを願っています。

理由: