MetaTrader掲示板

アップロード可能ファイル拡張子:gif, jpg, png, txt, swf, jpeg, xls, zip, cab,tpl,mq4,ex4,mq5,ex5
一度にアップロード可能な最大サイズ :合計200KB
  新規投稿 ┃ツリー表示 ┃スレッド表示 ┃一覧表示 ┃トピック表示 ┃検索 ┃設定 ┃MetaTraderまとめWiki  
186 / 270 ツリー  ←次へ | 前へ→

【332】お助け下さい Kage 09/7/7(火) 2:06 [添付]
【333】Re:お助け下さい にゅ 09/7/7(火) 8:02 [添付]
【334】Re:お助け下さい Kage 09/7/7(火) 15:54
【335】Re:お助け下さい にゅ 09/7/7(火) 20:49 [添付]
【336】Re:お助け下さい Kage 09/7/7(火) 21:33

【332】お助け下さい
  Kage  - 09/7/7(火) 2:06 -

   EAを作成したのですが、プログラム素人が作成したため、エラーが出現します。
お助け頂けると幸いです。よろしくお願いいたします。

<エントリー>
ポディションを持っていない状態でEMA21 55 100が上り調子の状態でEMA5がEMA6を下から上へクロスしたら買い、EMA21 55 100が下り調子の状態でEMA5がEMA6を上から下へクロスしたら売り

<決済、注文変更>
ポディションを持った時のロウソク足が買いポディションなら陰線引け、売りポディションなら陽線引けしたら損切り
25pips以上の含み益が出たらストップを建値に変更
50pips以上含み益になったら決済
買いポディションを持った状態でEMA5がEMA6を上から下にクロスしたら決済

というEAなのですが、当方プログラムの素人でして、作成したものの動きません。
原因はコンパイルすると出現する「variable not defined」だと思われるのですが、どこをどう直せばよいのかわかりません。
おそらく、素人レベルで間違えていると思うのですが、どなたかご教授頂けないでしょうか?
よろしくお願い申し上げます。(ファイルを添付しております)

<おそらく>

建値ストップ変更などを繰り返さないように、一度実行した後は、x=0などを勝手に定義して代入しているのが原因だと思われます。。。
引用なし
パスワード

[添付]〜添付ファイル〜
・名前 : test.mq4
・サイズ : 4.7KB

【333】Re:お助け下さい
  にゅ  - 09/7/7(火) 8:02 -

   コンパイルができるところまでは修正しましたので、
ロジックの誤り等はご自身で検証してください。
引用なし
パスワード

[添付]〜添付ファイル〜
・名前 : test(2).mq4
・サイズ : 5.3KB
<sage>

【334】Re:お助け下さい
  Kage  - 09/7/7(火) 15:54 -

   >>にゅさん:

わざわざ修正までして頂き、本当に感謝感激です。
ロジックについてはこれから叩いてく必要があるのですが、これで先が見えそうです。

数点質問があるのですが、よろしいでしょうか?

1.x = 1;//意味ないよ〜
2.z = 1;//意味ないよ〜

↑上記に関して、なぜ意味がないのでしょうか?
素人で申し訳ないのですが、プログラム上これがないと、毎度毎度陰線引け、陽線引けした場合に決済されてしまわないのでしょうか?
エントリー時のロウソクにおいて、ロングなら陰線引け、ショートなら陽線引けした場合、ロスカットと定義したいのですが、この場合でも必要ないのでしょうか?

お答え頂けると幸いですm(_ _)m
宜しくお願い致します!
本当にありがとうございました!
引用なし
パスワード

【335】Re:お助け下さい
  にゅ  - 09/7/7(火) 20:49 -

   >1.x = 1;//意味ないよ〜
>2.z = 1;//意味ないよ〜
>
>↑上記に関して、なぜ意味がないのでしょうか?
>素人で申し訳ないのですが、プログラム上これがないと、毎度毎度陰線引け、陽線引けした場合に決済されてしまわないのでしょうか?
>エントリー時のロウソクにおいて、ロングなら陰線引け、ショートなら陽線引けした場合、ロスカットと定義したいのですが、この場合でも必要ないのでしょうか?
>
>お答え頂けると幸いですm(_ _)m

そもそも意図したとおりに機能しないので、意味がないのです。汗
start関数は、Tickが更新される度に繰り返し実行されます。
なので、あるロウソクでポジを取ったとして、そのロウソクが完成する前に、
if(x == 0 && Open[1] - Close[1] > 0) // ロングエントリーの際の引けが陰線なら損切り
の判定が何度も行われます。ここでのOpen[1]は、買いポジを取った時のロウソクではなく、その1本前のロウソクになるのです。買いポジを取った直前のロウソクはおそらく陽線でしょうから、即座に x=1になってしまい、陰線損切りは行われないのです。
添付のmq4 はその問題を解決していると思いますので、よく見てみてください。^^;
引用なし
パスワード

[添付]〜添付ファイル〜
・名前 : test(3).mq4
・サイズ : 5.4KB
<sage>

【336】Re:お助け下さい
  Kage  - 09/7/7(火) 21:33 -

   >>にゅさん:

・・・何度も読み返してようやく理解ができました!
ありがとうございます!

「!」という意味がややあやふやですが、まずは自分で調べてみます!
//ポジった時のBarの時刻を記憶←ここが重要ということですね?

なんと御礼を言って良いかわかりませんが、本当にありがとうございました!
引用なし
パスワード

  新規投稿 ┃ツリー表示 ┃スレッド表示 ┃一覧表示 ┃トピック表示 ┃検索 ┃設定 ┃MetaTraderまとめWiki  
186 / 270 ツリー  ←次へ | 前へ→
ページ:  ┃  記事番号:   
(SS)C-BOARD v3.8 is Free
掲示板運営ポリシー:MetaTraderに関する情報を交換するための掲示板です。議論の範囲を超えた根拠無き誹謗中傷、荒らし、犯罪予告等、
公序良俗に反する書き込みについては、速攻削除のうえ、関係機関に通報します。
情報源のページなどがあれば、そこへのリンクを直接張って頂けると大変ありがたいです。
投稿情報の信頼性向上の為にも、ご協力頂ければ幸いです。

Google