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

 
asgard2:
こんにちは。

括弧のバランスが悪いというエラーでコンパイルできないのですが、なぜバランスが悪いのか、どなたか教えてください。

ありがとうございます。

このエラーが発生した場合、[ または { または ()] のいずれかが欠けています。

おそらく、コードのどこかに{[()}}を多用した関数があるのでしょう。

あなたのコードの一部をチェックしたところ、いくつかのエラーが見つかりました。これを試してみてください。

if ((type == _OP_BUYSTOP) && (MayOpenDeferOrder && NextBuyStop_Order_Minutes !=0))//Time Delay for the next Buy Stop Order

{

int hstTotal=OrdersHistoryTotal();

for(i=0;i<hstTotal;i++)

{

if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY) == false)

{

Print("Access to history failed ("+GetLastError()+")");

break;

}

else

{

if (OrderDelete() && (((TimeCurrent() - OrderCloseTime())/60) =< NextBuyStop_Order_Minutes) MayOpenDeferOrder = false;

}

}

また、私はあなたのコードの最後の部分(OrderDelete)が動作しないだろうと思う、OrderDelete関数は何もチェックしませんので - それは選択した順序を 削除します。だから、パラメータを渡す必要があります注文チケットでそれに。この代わりに、削除された注文のコメントをチェックすることによって、削除された注文を認識することができます。各削除された注文は、それにコメントで "キャンセル "を持っている - あなたはこれを見つけるために、OrderComment()関数の結果を比較することができます。

 

どなたか助けてください。

こんにちは。

EAを作ろうとしているのですが、数式を書くのを手伝ってほしいのです。

私は前のローソクの終値(PCC1)と2つ後ろのローソクの終値(PCC2)の間の差を計算する式が欲しいです(私は複数のペアでこれを実行する予定です)。 HoL=(PCC1-PCC2)

私の目標は、売買のシグナルを出すことです。

bool BuySignal=false;

bool SellSignal=false;

if(HoL>0) BuySignal=trueとする。

if(HoL<0) SellSignal=trueです。

あなたの助けを借りて、ありがとうございます。

 

...

もし、1つのEAインスタンスから複数のシンボルを使用したい場合は、このようなものを使用することができます。

double HoL=iClose(symbolName,0,1)-iClose(symbolName,0,2);[/php]Or to prevent some back testing surprises, a slightly more complicated code

int symbolShift1 = iBarShift(symbolName,0,Time[1]);

int symbolShift2 = iBarShift(symbolName,0,Time[2]);

double HoL = iClose(symbolName,0,symbolShift1)-iClose(symbolName,0,symbolShift2);

If you are going to use it only on symbol that your EA is attached to than this

[php]

double HoL=Close[1]-Close[2];

で十分です。

追記:"symbolName"には任意のSymbolを設定してください。

よろしくお願いします。

mladen

ForExTryo:
こんにちは。

EAを作ろうとしているのですが、計算式を書くのを手伝って欲しいです。

直前のローソク足の終値(PCC1)と2本後ろのローソク足の終値(PCC2)の差を計算する式が欲しいのです(複数のペアで実行する予定です)。 HoL=(PCC1-PCC2)

私の目標は、売買のシグナルを出すことです。

bool BuySignal=false;

bool SellSignal=false;

if(HoL>0) BuySignal=trueです。

if(HoL<0) SellSignal=true。

この度はお世話になりました。
 
 

TPを隠す

交換

void OpenBuy()

{

int ticket,err;

if (!GlobalVariableCheck("InTrade")) {

GlobalVariableSet("InTrade", CurTime()); // set lock indicator

ticket = OrderSend(Symbol(),OP_BUY,lot2,Ask,1,0,Ask+TP*Poin t,"Ask-StopLoss*Point,EA Order",magic,0,Red);

GlobalVariableDel("InTrade"); // clear lock indicator

}

}

void OpenSell()

{

int ticket,err;

if (!GlobalVariableCheck("InTrade")) {

GlobalVariableSet("InTrade", CurTime()); // set lock indicator

ticket = OrderSend(Symbol(),OP_SELL,lot2,Bid,1,0,Bid-TP*Point,Bid+StopLoss*Point,"EA Order",magic,0,Red);

GlobalVariableDel("InTrade"); // clear lock indicator

}

}[/CODE]

to

[CODE]void OpenBuy()

{

int ticket,err;

if (!GlobalVariableCheck("InTrade")) {

GlobalVariableSet("InTrade", CurTime()); // set lock indicator

ticket = OrderSend(Symbol(),OP_BUY,lot2,Ask,1,0,0,"Ask-StopLoss*Point,EA Order",magic,0,Red);

GlobalVariableDel("InTrade"); // clear lock indicator

}

}

void OpenSell()

{

int ticket,err;

if (!GlobalVariableCheck("InTrade")) {

GlobalVariableSet("InTrade", CurTime()); // set lock indicator

ticket = OrderSend(Symbol(),OP_SELL,lot2,Bid,1,0,0,"EA Order",magic,0,Red);

GlobalVariableDel("InTrade"); // clear lock indicator

}

}
 

買い逆指値注文 間の距離

こんにちは、私は削除された買いストップ注文と次の買いストップ注文の間の距離を実装しようとしています。

最後の注文が他のものでない限り動作するこのコードを書きました。履歴から削除された逆指値注文を選択する方法がよくわかりません。誰かが正しい方向に私を指摘することができれば、私は本当に感謝しています。

感謝

// 次の "Buy Stop "注文が削除されるまでのタイムディレイ。

//Time Delay for the next Buy Stop Order

if ((type == _OP_BUY) && (MayOpenDeferOrder && NextBuyStop_Order_Minutes !=0))

{

total = OrdersHistoryTotal();

for(e = total - 1; e >= 0; e--)

{

OrderSelect(e, SELECT_BY_POS,MODE_HISTORY);

if(OrderSymbol() != Symbol()) continue;

{

if(((TimeCurrent() - OrderOpenTime())/60) < NextBuyStop_Order_Minutes) MayOpenDeferOrder = false;

}

}

}

 
asgard2:
こんにちは、みなさん。

その方がいいと思うんです。

//Time Delay for the next Buy Stop Order

if ((type == _OP_BUY) && (MayOpenDeferOrder && NextBuyStop_Order_Minutes !=0))

{

total = OrdersHistoryTotal();

for(e = total - 1; e >= 0; e--)

{

OrderSelect(e, SELECT_BY_POS,MODE_HISTORY);

if(OrderSymbol() != Symbol()) continue;

if(((TimeCurrent() - OrderOpenTime())/60) < NextBuyStop_Order_Minutes) MayOpenDeferOrder = false;

break;

}

}
 
Roger09:
その方がいいと思います。

Rogerさん、こんにちは。

私はコーディングの超初心者なのですが、なぜそこで「break」を使うのでしょうか?ステートメントが終了したら、自動的にブレークするのでしょうか?

また、削除された注文を履歴から選択する方法について、何か手がかりがあれば教えてください。

サンクス

 

コードの断片をお見せいただいただけなので、推測するしかありません。

最後の注文がクローズされた後に履歴をチェック し始めると思うので、クローズされた時刻を知る必要がある。一番新しい注文は履歴の最後にあるので、他の注文を知る必要はなく、チェックを "中断 "することができます。

履歴の中から適切な注文を見つけるには、タイプ、マジックナンバー、コメントなど、様々な方法があります。

 

簡単なEAのコーダーが必要

収益性の高いシステム:最小50pips -200pipsの利益/取引

1時間システム

1つのインジケータとATR (20)のみ使用

TP/SL/トレイリングストップ付きのシンプルなEA

EAコーダーは、あなたの電子メールとPMを無料で助けることができます。