現在MT4にて自動売買プログラムを作成していますが、トレール注文のプログラムの組み方がわかりません、価格の変動に対して、損切、利益確定、を調節するプログラムを組もうとおもっているのですが、どのように組んでよいかわかりません。例を出して言うと、

購入価格$us 90.00 買い、初期設定損切、-15Pips、利益確定+25
Pips
その後 90.05になった場合、損切、89.90に設定しなおす
その後 89.90になった場合損切を行う。
というような感じにしたいのですが、
購入後の価格変動の比較し、最高値を探る方法がわかりません、
どなたか知っている方がいればぜひ教えてください。

回答の条件
  • 1人3回まで
  • 登録:2009/02/18 10:02:17
  • 終了:2009/02/25 10:05:03

回答(4件)

id:blueberry77 No.1

blueberry77回答回数122ベストアンサー獲得回数72009/02/18 10:43:21

ポイント60pt

それは、どうやったら儲かるかという答えと同じなので

教えてくれないと思いますよ。

最高値を探る方法がわかっている人は、儲ける方法を知っているひと

どうして教えてくれるのでしょうか?

変動を考慮するのであれば、1時間の平均を取るとかされてはいかがですか。

それが自分のソフトのウリになるのですし、他人に聞いて作っても・・・・。

まぁ、自分で使うだけなら、自分で納得のいく範囲での設定をすればいいのではないでしょうか。

 

設定方法がわからないという質問ならわかりますが、

どんな設定をしていいかというのは、よく売れているソフトを販売している人に聞いても答えてくれませんよね?それと同じだと思います。

id:dssg No.2

dssg回答回数3ベストアンサー獲得回数02009/02/22 23:32:27

ポイント10pt

どうでしょう

start

{

double LastPrice = OrderOpenPrice();

//Bid or Ask

comment("TP= ", LastPrice - Bid, ¥n, "High Price= ", High[0]);

}

id:traderlab No.3

短期投資技術研管理人回答回数1ベストアンサー獲得回数02009/02/23 14:17:31

ポイント10pt

こんにちは。短期投資技術研究所管理人と申します。

最高値を取得する必要はないと思います。

start関数はティックが更新される度に呼び出されるのがメタトレーダーの仕様ですから、この時の値(Bid等で値は取得)がトレイリングストップの値分だけ上昇しているかどうかで判別するのが簡単だと思います。(少なくとも私はそうしています。)

プログラムはこんな感じになると思います。

(1)約定済みのオーダーの確認

(2)条件を満たしているかどうかの判別(トレイリングストップ分上昇したかどうか?)

(3)条件を満たせば、オーダー内容を変更する(OrderModifyを使用)

20行程度のコードになると思います。頑張ってくださいまし。

id:fai_FX No.4

fai_FX回答回数1ベストアンサー獲得回数02009/02/23 16:36:34

ポイント10pt

じゃあ、ヒントだけ。

過去20バー分の最高値は下記の式で得られます。

High[iHighest(NULL,0,MODE_HIGH,20,0)];

注文をだした時刻は、注文をOrderSelect()した後に

OrderOpenTime();

現在時刻は、

TimeCurrent();

使っているチャートの時間足は、

Period();

で分かります。

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません