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

 

より多くのEA's

一度に5つのEAをアップロードすることができます。

ファイル:
kehedge.mq4  12 kb
 

How write "If last trade was winnig" (最後の取引が勝利した場合)

EAでどのように "最後の貿易が勝っていた場合"(このペアの)書き込み...

ヘルプのためのThx。

ジョウ

 

MarketInfo()について

みなさんこんにちは

//

double A = MarketInfo("EURUSD",MODE_BID);。

doube B = MarketInfo("USDJPY",MODE_BID);

double C = MarketInfo("EURJPY",MODE_BID).Init()。

init()

{

A = MarketInfo("EURUSD",MODE_BID)。

B = MarketInfo("USDJPY",MODE_BID)。

C = MarketInfo("EURJPY",MODE_BID)。

}

int start()

{

...

//

なぜこれらのコードは動作しないのでしょうか?

'MarketInfo' - 初期化が必要です。

'A' - 変数が定義されていません ....

......といった具合です。

 

これは私のために働いた

Jovager:
EAで「前回のトレードが勝ちだったら」(このペアの場合)と書くと...

助けてくれてありがとう。

ジョウ

double LotsOptimised()

{

double lots = InitialLots;//default lots 0.1 - ロットがコードの他の部分によって設定されない場合、エラーは発生しません。

// int total = OrdersHistoryTotal();

for(int i=0;i<OrdersHistoryTotal();i++) // すべてのクローズ/キャンセルされた取引をスキャンします。

{

OrderSelect(i, SELECT_BY_POS, MODE_HISTORY );

if(OrderSymbol() == Symbol()&& OrderMagicNumber() ==MagicNumber)

{

if(OrderProfit()<0)の場合。

{

lots = NormalizeDouble(OrderLots() * LotsFactor,2);

さもなければ

{

lots=InitialLots。

}

}

}

return(lots);

}

私はこれを使って、最後に決済した取引が勝者であったかどうかをチェック しました。もしそうでなければ、ロットをマーティングしています。参考になれば幸いです。

 
Sendra:
こんにちは、皆さん

EAを作ろうとしたら、以下のようなエラーメッセージが表示されました。

'\end_of_program' - ending bracket '}' expected C:\...\My_First_EA.mq4(96,1)

ダブルクリックでその行まで行き、その前の開始終了括弧で確認しましたが、まだどこを間違えたのか分かりません。

これは、同じインディケータに基づいて、同じエラーメッセージで、私が試した2番目のEAです。

ありがとうございます。

Sendraさん、私のメールアドレスにプログラムを添付して送っていただければ、それを見て修正を試みます。 通常、問題はステートメントの後にあるブラケットが欠けていることです。 残念ながら、これは低レベルの言語であり、基本的な言語であるため、何度もエラー箇所を正確に伝えることができず、表示されているエラーをデフォルトにしています。 この種のエラーのトラブルシューティングに役立つのは、コーディングの経験だけです。

デイブ

<<<

ddiebold7@aol.com

 

Ralph, HELP with some Daily Close ロジックについて

こんにちは、Ralphです。

おそらく、あなたが少し指導を気にしないならば、。これは、私が理解するのに少し挑戦しています!!私は、EAのためにいくつかの条件を定義したいです。私はEAがオープントレードをクローズするかどうかを決定するために見るためにいくつかの条件を定義したいと思います。ここでは買い注文を例にとって説明します(売り注文は 逆のロジックになりますね)。月曜日に買い注文を出したとします。EAに次のX日間の日足を見てもらいたい。もし、次のX日間(例えば5日間)の日足終値が取引開始価格より低ければ、EAはOrderCloseを実行して取引を終了させたいのです。また、この条件の別の可能性として、次のX日間の日足終値が前日の終値より低いかどうかをEAに調べさせたいと考えていました。また、私のEAは1時間のタイムフレームで動作します。

私が達成したいことを、あなたが理解できるように十分に明確に説明したことを願っています。

よろしくお願いします。

 

コーディングのヘルプをお願いします

EAのコーディングをお願いしているわけではなく、ただ一つの問題について少し助けて欲しいのです。

私がコード化したいのは、オープンロングオーダーがある場合、その特定のロングオーダーがオープンして以来、そのオーダーが見た最も高いクォート価格を呼び出すことができるようにしたいのです。 明らかに、注文が最初に開いたとき、開始 価格が返されるでしょう。 注文が 20 pips 増加した場合、OrderOpenPrice() + 20 pips の価格が返されるでしょう。 その後、価格が 10 pips 低下した場合、OrderOpenPrice() + 20 の価格が返されます。 これは、OrderOpenPrice() + High[0]を使えば、特定のバー内でできることは分かっていますが、新しいバーが形成されると、High[0]はHigh[1]になってしまうのです。 また、同じロジックを逆に使用して、特定のショート注文が見た最安値を返します。 注文が終了すると、返された値はゼロに再セットされます。

私はこの1つを理解するのに苦労しています、誰か助けてくれますか?

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

 

現在のバーの最高値の気配値を変数に保存します。別の気配値を取得するたびに、変数の値と比較します。新しい値の方が高ければ、それを変数に保存します。新しい値が低い場合は、変数の値をそのままにします。

if(variable < newquote)

variable = newquote とします。

お役に立ちましたか?

 
jimven:
現在のバーの最高値の気配値を変数に保存します。別の気配値を取得するたびに、その値を変数の値と比較します。新しい値の方が高ければ、それを変数に保存します。新しい値が低い場合は、変数をそのままにしておきます。

if(variable < newquote)

変数 = newquote となります。

お役に立てれば幸いです。

ありがとうございます、でも一つ質問があります。 現在のバーが、注文が開いたバーでなくなった場合はどうなるのでしょうか? 5本前のバーで注文が開始された場合はどうなるのでしょうか? 今、私は5つのバーの最も高い引用値、注文が開いてから最も高い引用値が欲しいです。 これはまだ機能しますか?

ありがとうございます。