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

 

OrderHistory 2.0の修正に関するヘルプ

どなたかこのMQ4ファイルを修正していただけないでしょうか?矢印やトレンドラインの上にカーソルを置いたときに表示される説明を、以下のようにしたいのですが...。

SELL

(注文名を削除)

オープンタイム:2009.05.25 10.00

クローズ時間:2009.05.25 11.00

始値:94.98

終値:94.992

ピップス 25.0 |

SL: 50.0 | -> (5桁にする)

TP:25.0|(5桁にする

最大フローティングL: 16.9 ("Max Floating Loss/Profit" - これが統合されればクール)

ロット 0.38

グロス100.28

...ではなく、こうなります。

売り: 12345678 2009.05.25 10.00 @ 94.98

Pips:250 SL: -750 TP: 250 Lots:0.38総利益:ドル100.28

94.992

私はこれを自分で変更しようとしましたが、成功しませんでした。私はプログラマーではありません(もちろん)、それは誰かがこれを修正することができればクールです。感謝します。

ファイル:
 

NFAアンチヘッジのヘルプ

こんにちは、私はNFAの新しいルールに問題があります。私の EA は 以降、いかなる保留中の注文も出すことができません。これは単純なEAです:1つの注文を開き、1つの未使用の保留注文を削除し、2つの新しい保留注文、買い指値と売り指 値を作成します。

以下はそのコードです。

if (TotalMikuOrders()==2 && TotalMikuOrders_Mode(OP_BUY)+TotalMikuOrders_Mode(OP_SELL)==1){ (TotalMikuOrders()==2 && TotalMikuOrders_Mode(OP_BUY)+TotalMikuOrders(OP_SELL)==2)

for (int j=0;j<受注総額();j++){。

OrderSelect(j,SELECT_BY_POS);

if (注文の種類()==OP_BUY){

if (OrderMagicNumber()==Magic_Miku_B){ (オーダーマジック番号()==Magic_Miku_B){)

deleteMikuPending();

sendMikuPending(OrderOpenPrice(),Magic_Miku_S,Magic_Miku_B+1,XFactor*CoA,XFactor*CoB,com+"XA",com+"XB",sl1,sl2,r1,r1,sp,sp0,tp1,tp2).SEND_Miku_B+1,XFactor_S,XFactor_CoA,XFactor_CoB,com+"XA",sl2,r2, sp,sp1,tp1,tp2);

return(0);

}

if (注文種別()==OP_SELL){。

if (注文番号()==Magic_Miku_S){。

deleteMikuPending();

sendMikuPending(OrderOpenPrice(),Magic_Miku_S+1,Magic_Miku_B,XFactor*CoB,XFactor*CoA,com+"XB",com+"XA",sl2,sl1,r1,r1,sp0,sp,tp2,tp1).SEND_Miku Pending(注文開始価格),マジックナンバー(マジックナンバー),XFactor(マジックナンバー),マジックナンバー(マジックナンバー),XFactor(XA)

return(0);

}

}

}

}

}

return(0);

}

void sendMikuPending(double price, int ms,int mb,double lots,double lotb,string coms,string comb,double sls,double slb,double rs,double rb,double sps,double spb,double tps,double tpb){...

double SL=0,TP=0;

int i;

if (StopLoss>0) {SL=NormalizeDouble(NormalizeDouble(OrderOpenPrice()-Range*rb*Point+spb*Point,Digits)-StopLoss*slb*Point,Digits);}else{SL=0;}; } {SL=NormalizeDouble(OrderOpenPrice()-Range*rb+spb*Point,Digits)-StopLoss*slb*Point,Digits)

if (TakeProfit>0) {TP=NormalizeDouble(OrderOpenPrice()-Range*rb*Point+spb*Point,Digits)+TakeProfit*tpb*Point,Digits);}else{TP=0};}。

if (OrderSend(Symbol(),OP_BUYLIMIT,lotb,NormalizeDouble(OrderOpenPrice()-Range*rb*Point+spb*Point,Digits),Slippage,SL,TP,comb,0,blue)==-1){。

i=GetLastError()。

if (i!=1 && i!=0) Print("Buy stop Error : "+error(i)+" at "+Symbol()+" "+Period()");

}

if (StopLoss>0) {SL=NormalizeDouble(NormalizeDouble(OrderOpenPrice()+Range*RS*Point-sps*Point,Digits)+StopLoss*sls*Point,Digits);}else{SL=0;}.

if (TakeProfit>0) {TP=NormalizeDouble(NormalizeDouble(OrderOpenPrice()+Range*rs*Point-sps*Point,Digits)-TakeProfit*tps*Point,Digits);}else{TP=0;}.

if (OrderSend(Symbol(),OP_SELLLIMIT,lots,NormalizeDouble(OrderOpenPrice()+Range*rs*Point-sps*Point,Digits),Slimpage,SL,TP,coms,ms,0,Red) ==-1) { { {.

i=GetLastError()。

if (i!=1 && i!=0) Print("Sell stop Error : "+error(i)+" at "+Symbol()+" "+Period()");

}

}

全コードは添付ファイルにあります。私は、EAが最後のクローズド・オーダーを読んで、直接1つのオープン・オーダーを作るべきだと思って います。しかし、私は手がかりを持っていない。

誰もが を助けてください。どうもありがとうございました。

ファイル:
miku_test.mq4  15 kb
 

コーディングの問題

OrderSend #130 というエラーが発生するコードがあります。ストップロスとテイクプロフィットの 設定を確認したところ、注文の際に必要とされる最小距離からかなり離れているはずです。サイトのパラメータに合うように数値の正規化もしました。ですから、私の推測では、受信するAsk価格またはBid価格に問題があるに違いないので、サーバーはそれを受け付けないのです。

これは、買い注文を出すセクションのコードです。

RefreshRates()。

ticket = OrderSend(Symbol(),openType,lots,Ask,Slippage,SL,TP,comment,ExpertMagicNumber,0,Color);

Askは、サイトが注文を受けるときに探しているものに合うように、何か特別なことをしなければならないのでしょうか?私はただ、サイトが出したとおりの価格を取得するものと思っていました。

 

こんにちは、JoeSmoeさんによって投稿された、動作するGOODシステムがあります。

ブレイクアウトしたときだけポジションをオープンする最もシンプルなEAを作る方法を知っている人がいれば助かります - これは非常に助けになります。私は試してみましたが、方法がわかりません。

最高です。

j

ファイル:
 

EAの一部として条件付きでファイルを含めるには?

こんにちは。

私はフォーラムの別のセクションでこれを投稿しましたが、その後、このセクションを発見しました。 二重投稿をお許しください...

EAの一部として条件付きで ファイルをインクルードすることは可能ですか?構文が正しくないかもしれませんが、コンセプトは...

switch(MASTER_PERIOD)

{

case 30:

#include ;

をブレークします。

ケース 240

#include ;

ブレーク

}

...MASTER_PERIODはExtern変数です。

コメント、提案、例をお待ちしています。

よろしくお願いします。

DMMcCollum

 

ある時間の価格を読む/取得する方法?

私の友人と私はあるEAに取り組んでいます。ある段階で、(EAが)ある時間、例えば17:00 EST...などの価格を読み、取得する必要があります。

どなたか先輩方は、価格バーを逆算する代わりに、そうする方法をアドバイスしていただけませんか?もしかしたら、すでにそのための関数が 書かれているかもしれません。親切に教えてください。皆さん、ありがとうございます。

B rgds/abundance

 
 

編集

Steven_1974:
Ok OrderSend #130というエラーを起こすと思われるコードの一部があります。ストップロスとテイクプロフィットの設定を確認したところ、注文の際に必要な最短距離からかなり離れているはずです。サイトのパラメータに合うように数値の正規化もしました。ですから、私の推測では、受信するAsk価格またはBid価格に問題があるに違いないので、サーバーがそれを受け付けないのだと思います。

これは、買い注文を出す部分のコードです。

RefreshRates();

ticket = OrderSend(Symbol(),OP_BUY,lots,Ask,Slippage,Bid - SL*Point,Ask + TP*Point,comment,ExpertMagicNumber,0,Color).OrderSend()を実行します。

ticket = OrderSend(Symbol(),OP_SELL,lots,Bid,Slippage,Ask + SL*Point,Bid - TP*Point,comment,ExpertMagicNumber,0,Color);

注文を受けるときにサイトが求めているものに合うように、Askに何か特別なことをする必要があるのでしょうか?私は、サイトが提示した価格と全く同じになるものと思っていました。

上記のように編集

OTR

 

ジョゼモエシステムEA

janekpietrzyk:
ブレイクアウトしたときだけポジションをオープンする最もシンプルなEAを作る方法を知っている人がいれば助かります - これは非常に助けになります。試してみましたが、方法がわかりません。

がベスト。

j

RonaldRaygunのEAをこのスレッドで見つけてください(100 300 pips daily...)

OTR

 

Unmatched data エラー

こんにちは、コーダーの皆さん

私はまだMQL-Codeの最初のステップを学んでいるところです。

ジャーナルに以下のようなメッセージが表示された場合、何が原因なのでしょうか?

Testgenerator:

unmatched data error ( Volume limit 159 at 2009.05.06 19 15 exceeded ) と表示されます。

コードのどこを見ればいいのでしょうか?

ありがとうございます。