アスク! - ページ 90

 

オーダーズエンドコメントのヘルプをお願いします

私はこれを動作させるためにしようとしているが、私ができるように見えるすべては、すなわち、長い1,長い2,長い3などのリストを持っていることです。現在やっていることとは違うことをする必要があることは分かっていますが、それが何であるかは思いつきません。私は実験に使用しているEAのバージョンを添付しています。以下は、私が現在見ているものです。

2007.12.21 21:57:22 euroform V 2.1-exp EURJPY,H1: Error opening BUY order : invalid function parameter value (買い注文を開く際のエラー)

2007.12.21 21:57:22 euroform V 2.1-exp EURJPY,H1: Long4シグナルを取得しました。

2007.12.21 21:57:22 ユーロフォーム V 2.1-exp EURJPY,H1: ロング3シグナルを取得しました。

2007.12.21 21:57:22 ユーロフォームV 2.1-exp EURJPY,H1:Long2シグナルを出しました。

2007.12.21 21:57:22 ユーロフォームV 2.1-exp EURJPY,H1:Long1シグナルを出しました。

2007.12.21 21:57:22 ユーロフォームV 2.1-exp EURJPY,H1:Short4シグナルを出しました。

2007.12.21 21:57:22 ユーロフォームV 2.1-exp EURJPY,H1:Short3シグナル発生

2007.12.21 21:57:22 ユーロフォームV 2.1-exp EURJPY,H1:Short2シグナルを出しました。

2007.12.21 21:57:22 ユーロフォームV 2.1-exp EURJPY,H1:Short1シグナルを出しました。

2007.12.21 21:57:22 euroform V 2.1-exp EURJPY,H1:OrderSend 関 数に無効なロット数。

2007.12.21 21:57:22 ユーロフォーム V 2.1-exp EURJPY,H1: ロング4シグナルを受信しました。

2007.12.21 21:57:22 ユーロフォーム V 2.1-exp EURJPY,H1: ロング3シグナルを取得しました。

2007.12.21 21:57:22 ユーロフォームV 2.1-exp EURJPY,H1:Long2シグナルを出しました。

2007.12.21 21:57:22 ユーロフォームV 2.1-exp EURJPY,H1:Long1シグナルを出しました。

2007.12.21 21:57:22 ユーロフォームV 2.1-exp EURJPY,H1:Short4シグナルを出しました。

2007.12.21 21:57:22 ユーロフォーム V 2.1-exp EURJPY,H1: Short3 シグナルを受信しました。

乾杯

邦人

ファイル:
 
stevex33:
こんにちは、皆さん。

質問があります。

自分でインジケーターを書けるようになりたいのですが、何から始めればいいのか全くわかりません。

頭の中にアイデアがあり、どのように動作するかの基本はわかっているのですが、少し手助けが欲しいのです。

ある通貨が毎日始値から動いた平均高値、安値、終値を表示するインジケータを作りたいと思っています。

つまり、その日のオープンからの距離をpips単位で表示するものです。

その平均を何日間かけて計算するかは、ユーザーが指定できるようにしたい。

つまり、現在の日数バーに描かれた線が、X日間の通貨の平均高値、安値、終値を表し、チャート上に描かれた線が維持されるようなものであるべきです。

移動平均のインジケータをベースラインとして使ってみましたが、かなり分かりにくいようです。どなたか、何をどこに追加/削除すればいいのか、すべてを分解して簡素化していただけませんか?

よろしくお願いします。

スティーブ

MQL4を学ぶことから始めましょう。CodersGuruの電子書籍をダウンロードし、私のようにスクリーンから何かを読むのが苦手な場合はプリントアウトして、読んでください。

一回で理解できなかったら、もう一度読んでください。

練習してください。

もしまだ理解できないなら、できるだけ多くのEAをチェックして、あなたのEAと類似しているものがあるかどうか見てください。CodersGuruの本で各行の説明を見て、それから自分で書いてみる。

基本的なEAを書くのに何回か時間がかかるかもしれませんが、一度書いたら、あとはひたすら試してみるだけです。

がんばってください。

 

これ、どうしたんですか?

やあ、みんな

私のEAは最初、trailing-stopから利益を取ることを基本としていました。その後、いくつかのフィボポイントを追加し、最後のフィボポイントに達した後にトレールを開始しました。しかし、strategy-testerは最新の開発で動作しません。どうか、以下のプログラムにおける私自身の間違いを見つける手助けをしてください。

よろしくお願いします。

void CheckForTrailing()

{

double highest = High;

double lowest = Low;

double p1u = NormalizeDouble((OrderOpenPrice()-lowest)*0.618,4);

double tpb1 = p1u*10000;

double p1d = NormalizeDouble((最高値-OrderOpenPrice())*0.618,4)です。

double tps1 = p1d*10000;

double p2u = NormalizeDouble((OrderOpenPrice()-lowest)*1,4)。

double tpb2 = p2u*10000; double p2d = p1d*10000; double tpb2 = p2u*10000;

double p2d = NormalizeDouble((最高値-OrderOpenPrice())*1,4).倍精度。

double tps2 = p2d*10000;

double p3u = NormalizeDouble((OrderOpenPrice()-lowest)*1.618,4).倍精度。

double tpb3 = p3u*10000;

double p3d = NormalizeDouble((最高値-OrderOpenPrice())*1.618,4)です。

double tps3 = p3d*10000;

double p4u = NormalizeDouble((OrderOpenPrice()-lowest)*2.382,4)です。

double tpb4 = p4u*10000; double p4d = p3d*10000; double tpb4 = p4u*10000;

double p4d = NormalizeDouble((最高値-OrderOpenPrice())*2.382,4)。

double tps4 = p4d*10000;

double p5u = NormalizeDouble((OrderOpenPrice()-lowest)*3.236,4)です。

double tpb5 = p5u*10000; double p5d = p4d*10000; double tpb5 = p5u*10000;

double p5d = NormalizeDouble((最高値-OrderOpenPrice())*3.236,4).倍精度。

double tps5 = p5d*10000; double p5d = p5d*10000;

for(int i=0; i<OrdersTotal(); i++)

{

if(オーダーセレクト(i,SELECT_BY_POS,MODE_TRADES)==false)

をブレークします。

if(OrderMagicNumber()!=magic || OrderSymbol()!=Symbol()))

を続ける。

if(OrderType()<=OP_SELL)

{

if(OrderType()==OP_BUY && Bid>OrderOpenPrice())

{

if((Bid>=OrderOpenPrice()+Point*tpb1) && (OrderStopLoss()!=OrderOpenPrice()))

{

OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*tpb1,0,0,CLR_NONE);

return(0);

}

if((Bid>=OrderOpenPrice()+Point*tpb2) && (OrderStopLoss()!=OrderOpenPrice()+Point*tpb1))

{

OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*tpb2,0,0,CLR_NONE);

return(0);

}

if((Bid>=OrderOpenPrice()+Point*tpb3) && (OrderStopLoss()!=OrderOpenPrice()+Point*tpb2))

{

OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*tpb3,0,0,CLR_NONE);

return(0);

}

if((Bid>=OrderOpenPrice()+Point*tpb4) && (OrderStopLoss()!=OrderOpenPrice()+Point*tpb3))

{

OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*tpb4,0,0,CLR_NONE);

return(0);

}

if((Bid>=OrderOpenPrice()+Point*tpb5) && (OrderStopLoss()!=OrderOpenPrice()+Point*tpb4))

{

OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*tpb5,0,0,CLR_NONE);

return(0);

}

if((Bid>=OrderOpenPrice()+Point*(tpb5+ts)) && (OrderStopLoss()+Point*ts<Bid))

{

OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*ts,0,0,CLR_NONE);

return(0);

}

}

else if(OrderType()==OP_SELL && Ask<OrderOpenPrice())

{

if((Ask<=OrderOpenPrice()-Point*tps1) && (OrderStopLoss()!=OrderOpenPrice()))

{

OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*tps1,0,0,CLR_NONE)。

return(0);

}

if((Ask<=OrderOpenPrice()-Point*tps2) && (OrderStopLoss()!=OrderOpenPrice()-Point*tps1))。

{

OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*tps2,0,0,CLR_NONE)。

return(0);

}

if((Ask<=OrderOpenPrice()-Point*tps3) &&(OrderStopLoss()!=OrderOpenPrice()-Point*tps2)))。

{

OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*tps3,0,0,CLR_NONE)。

return(0);

}

if((Ask<=OrderOpenPrice()-Point*tps4) && (OrderStopLoss()!=OrderOpenPrice()-Point*tps3))。

{

OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*tps4,0,0,CLR_NONE)。

return(0);

}

if((Ask<=OrderOpenPrice()-Point*tps5) &&(OrderStopLoss()!=OrderOpenPrice()-Point*tps4)))。

{

OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*tps5,0,0,CLR_NONE)。

return(0);

}

if((AskAsk))

{

OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*ts,0,0,CLR_NONE)。

return(0);

}

}

}

}

}
 

どうしたらこのようなことが起きなくなるのでしょうか?

MACDI on 4-Hr graph shows positive, but if I use it as an indicator I get a sell because the MACDI on 1-Min may go negative for a brief period of time, but is not reflected on the 4-Hr graph.どうすれば、1-MinのMACDIを1時間平均で受け取り、4-HrのMACDIを表示しないようにできますか? 私のプログラムが1分足の結果ではなく、1時間足の平均を受け取るようにするには、どのようにコーディングすればよいのでしょうか。

Dave

 
 

どのLow?

どの安値を currentlow とするか、忘れているような気がします。現在のバーの安値を意味しているのかどうか、私には想像がつきません。もし、私が思うような意味であれば、iLowest[]を使ってみてください。Metaeditorの辞書に載っています。

 

ミスポイント

申し訳ありません、currentlow = 1000;と書いてあるのを見ませんでした。しかし、提案は残っています。ほら、currentlow = 1000; 1000何?GBP/USDのように1.0000?1000ポイント、どこから?ということで、やはり、currentlowはiLowest[]を使いましょう。そうすれば、うまくいくと思います。

 

iLowest

センドラさん、こんにちは。

早速のご返信ありがとうございます。

私が達成しようとしているのは、どの時間枠の高値や安値にも基づかない、Ret1(75pip)リトレースメントの前の最安値です。私は、まずEUR/USDに焦点を当てています。

CurrentLowは、リトレースメント前の最安値を追跡することになっています。

以下は、私が達成しようとしていることの例です。

a) EAを起動し、価格が1.4000で、1.4030から1.3970の間で推移した後、1.4045になったとします。CurrentLowを1.3970(最安値)にして、最初の売り注文を1.4045(Entry1)に置き、SLを1.4195(SL1 = 150 pips)、Take Profit(TPA = 75 pips)を1.3970としたいと思います。

b) 価格が 1.4120 (Entry2) まで上がり続けるなら、2番目の売り注文を、テイクプロフィット (TPB =76 pips) を 1.4044 に、SL を 1.4195 (最初の注文と同じ) に設定したいと思います。

私のEAは、最初の注文では動作するようですが、2番目の注文に到達しないようです。私は2回目の注文をさせることができましたが、価格は最初の注文と同じで、SLはめちゃくちゃにされました。

長期的な目標としては、長期的なトレンド指標から買いか売りかを判断させ、もちろんこのように売りも設定させるようにしたいのです。利益が出るかどうかは全く分かりませんが、勉強のつもりでやっているので、完成するまでにきっと100万回くらいは改造することになるでしょう。私は、どんな戦略でもうまくいくかどうかを調べるには、自動化され、意思決定からヒューマンエラーを取り除く必要があるという結論に達しました。もちろん、ファンダメンタルズにも目を向ける必要がありますが、それは後回しです...たぶん。

センドラや他の方からの助けは非常にありがたいです。

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

プッツ

 

i LowestとCurrentLow

センドラさん、こんにちは。

CurrentLowについてのご質問にお答えしますと、E/Uの価格よりも常に大きくなるように1000という値を与えました。これは、オープン時に最初のEU価格を取ることを確認するためです。もしこれを0に設定すると、価格が下がることはなく、したがって取引は行われません。

iLowestは見たことがありませんが、私のために働くかどうか調べて みるつもりです。

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

プッツ

 

コード - 1日1回トレード

1日に1回だけ取引するスクリプトまたはEAを誰か教えてください。

ありがとうございます。