|
>1.x = 1;//意味ないよ〜
>2.z = 1;//意味ないよ〜
>
>↑上記に関して、なぜ意味がないのでしょうか?
>素人で申し訳ないのですが、プログラム上これがないと、毎度毎度陰線引け、陽線引けした場合に決済されてしまわないのでしょうか?
>エントリー時のロウソクにおいて、ロングなら陰線引け、ショートなら陽線引けした場合、ロスカットと定義したいのですが、この場合でも必要ないのでしょうか?
>
>お答え頂けると幸いですm(_ _)m
そもそも意図したとおりに機能しないので、意味がないのです。汗
start関数は、Tickが更新される度に繰り返し実行されます。
なので、あるロウソクでポジを取ったとして、そのロウソクが完成する前に、
if(x == 0 && Open[1] - Close[1] > 0) // ロングエントリーの際の引けが陰線なら損切り
の判定が何度も行われます。ここでのOpen[1]は、買いポジを取った時のロウソクではなく、その1本前のロウソクになるのです。買いポジを取った直前のロウソクはおそらく陽線でしょうから、即座に x=1になってしまい、陰線損切りは行われないのです。
添付のmq4 はその問題を解決していると思いますので、よく見てみてください。^^;
|
|