コーディングの方法は? - ページ 125 1...118119120121122123124125126127128129130131132...347 新しいコメント IN10TION 2008.08.29 10:45 #1241 :: 何が問題なのでしょうか?EURUSDだけ?他のと同じに見えるけど? LazyForex: はあ・・・。キーボードの同じキーを使って、これも使えるようになりませんか? Cheers! LazyForex 2008.08.29 10:48 #1242 IN10TION::: 何が問題なのでしょうか?EURUSDだけですか?他のと同じに見えるんですが、どうなんでしょう? 同じ問題です。バックテストでは うまくいくのですが、フォワードテストではうまくいきません。トレードが実行されない...助けていただけますか? LazyForex 2008.08.29 10:58 #1243 IN10TION::: EURUSDにしか使えないように設定されていたので、それを他の制限に切り替えました...そうです...同じキーです... もう一つを変更しなければなりません。私は私が行うことができます別の何かを見た...うん...同じ キー...結果がOKであるものを共有する?(もしくはPMで)IN10TIONを 知りたいです。 あなたのキーボードが売りに出される? 100万ピップスありがとうございます。また連絡します。 IN10TION 2008.08.29 11:00 #1244 :: これにはもう少しキーを使いました...でも他の通貨にも使えるんですよ、EURUSDにしか設定されていませんでしたが...なぜかは分かりません、あなたならもっと分かると思います ファイル: opensrc-nn-ea_modv2_in10tion.mq4 6 kb IN10TION 2008.08.29 11:01 #1245 :: EURUSDでしか動かないように設定されていたので、それをオフにし、他の制限をかけました。 btw もう1つを変えなければならない...。他にできることがあると思うのですが...そうです...同じキーです... 結果はどうなったか教えてください。(もしくはPMで)知りたいですね。 IN10TION LazyForex: 同じ問題です。バックテストではうまくいくのですが、フォワードテストではうまくいきません。トレードが実行されない...助けてもらえますか? ファイル: forex_nn_expert_v1.0_mod_in10tion.mq4 7 kb mellda 2008.08.29 11:51 #1246 アドバイスありがとうございました。ほとんどの場合(多分すべての場合?)、最新のバーの開始時に受信したティックがあることがわかったので、私はオープン 価格で取引することができます。理想的ではありませんが、(上記で言われたように)終値と建値の差はかなり小さいです。 mellda 2008.08.29 13:02 #1247 iTime関数は どのような値を返すのですか?バーの開始日でしょうか?マニュアルには「指定されたシンボルのバーの時間値をタイムフレームとシフト付きで返す」としか書かれていないのですが。 ご回答よろしくお願いします。 IN10TION 2008.08.29 13:26 #1248 :: はい、バーの始まりです mellda: 関数iTimeはどのような値を返すのですか?バーの開始日でしょうか?マニュアルには「指定されたシンボルのバーの時間値をタイムフレームとシフト付きで返す」としか書かれていないのですが。 ご回答よろしくお願いします。 LazyForex 2008.08.30 10:55 #1249 IN10TION:でも、他の通貨にも使えるんだ。EURUSDにしか設定されていない。なぜだかわからないけど、君ならもっとよくわかると思うよ。 こんにちは、IN10TIONです。 PMを送りました... matrixebiz 2008.08.30 12:01 #1250 利益が出たら全ての注文をクローズするEAが必要です。 こんにちは、どなたか偉大なコーダーの方が、g_MinProfitとf_MinProfitがヒットしたら全ての注文をクローズするコードを追加していただけないでしょうか?利益が出たときに、買い/売りのストップ/リミットオーダーが残っていて、利益最小がトリガーされたら、それらをすべて削除してほしいのです。 ありがとうございます。 extern bool g_CLOSE_ALL=false; extern bool g_RESTART=true; extern int g_Step=120; extern double g_FirstLot=0.1; extern double g_IncLot=0; extern double g_MinProfit=450; extern int g_Magic = 2008; extern string g_comment="Win"; extern bool f_CLOSE_ALL=false; extern bool f_RESTART=true; extern int f_Step=120; extern double f_FirstLot=0.1; extern double f_IncLot=0; extern double f_MinProfit=450; extern int f_Magic = 2009; extern string f_comment="REV"; int GOrder_Buy=0; int GOrder_Sell=0; double GLotSell=0; double GLotBuy=0; double gLotSell=0; double gLotBuy=0; double gLSP,gLBP; double gCurrentProfit; int FOrder_Buy=0; int FOrder_Sell=0; double FLotSell=0; double FLotBuy=0; double fLotSell=0; double fLotBuy=0; double fLSP,fLBP; double fCurrentProfit; double max_dd; //-------------------------------------------------------------------------------------------- //-------------------------------------------------------------------------------------------- int init() { Comment("Waddah Attar Win TradeBalancer 1"); if(!GlobalVariableCheck("max_DD")) GlobalVariableSet("max_DD",0); return(0); } int deinit() { Comment(""); return(0); } //-------------------------------------------------------------------------------------------- //-------------------------------------------------------------------------------------------- int start() { gCurrentProfit=GetOrdersProfit(g_Magic); if (gCurrentProfit>=g_MinProfit || g_CLOSE_ALL) { DeletePendingOrders(g_Magic); CloseOrders(g_Magic); } if (MyOrdersTotal(g_Magic)==0 && g_RESTART) { OrderSend(Symbol(),OP_BUYLIMIT,g_FirstLot,Ask-g_Step*Point,3,0,0,g_comment,g_Magic,0,Blue); OrderSend(Symbol(),OP_SELLLIMIT,g_FirstLot,Bid+g_Step*Point,3,0,0,g_comment,g_Magic,0,Red); } gLSP=GetLastSellPrice(g_Magic); gLBP=GetLastBuyPrice(g_Magic); if((gLSP-Bid)<=5*Point) { OrderSend(Symbol(),OP_SELLLIMIT,gLotSell+g_IncLot,gLSP+g_Step*Point,3,0,0,g_comment,g_Magic,0,Red); } if((Ask-gLBP)<=5*Point) { OrderSend(Symbol(),OP_BUYLIMIT,gLotBuy+g_IncLot,gLBP-g_Step*Point,3,0,0,g_comment,g_Magic,0,Blue); } //-------------------------------------------------------------------------------------------- fCurrentProfit=GetOrdersProfit(f_Magic); if (fCurrentProfit>=f_MinProfit || f_CLOSE_ALL) { DeletePendingOrders(f_Magic); CloseOrders(f_Magic); } if (MyOrdersTotal(f_Magic)==0 && f_RESTART) { OrderSend(Symbol(),OP_BUYSTOP,f_FirstLot,Ask+f_Step*Point,3,0,0,f_comment,f_Magic,0,Blue); OrderSend(Symbol(),OP_SELLSTOP,f_FirstLot,Bid-f_Step*Point,3,0,0,f_comment,f_Magic,0,Red); } fLSP=GetLastSellPrice(f_Magic); fLBP=GetLastBuyPrice(f_Magic); if((Bid-fLSP)<=5*Point) { OrderSend(Symbol(),OP_SELLSTOP,fLotSell+f_IncLot,fLSP-f_Step*Point,3,0,0,f_comment,f_Magic,0,Red); } if((fLBP-Ask)<=5*Point) { OrderSend(Symbol(),OP_BUYSTOP,fLotBuy+f_IncLot,fLBP+f_Step*Point,3,0,0,f_comment,f_Magic,0,Blue); } //-------------------------------------------------------------------------------------------- //max_dd= //-------------------------------------------------------------------------------------------- Comment("Waddah Attar Win TradeBalancer 1", "\n\n\n\n", " CurrentProfit = ", DoubleToStr(gCurrentProfit,2), "\n\n", " Buy Lots = ", DoubleToStr(GLotBuy,2) + " / " + GOrder_Buy, "\n\n", " Sell Lots = ", DoubleToStr(GLotSell,2) + " / " + GOrder_Sell, "\n\n\n\n", " CurrentProfit = ", DoubleToStr(fCurrentProfit,2), "\n\n", " Buy Lots = ", DoubleToStr(FLotBuy,2) + " / " + FOrder_Buy, "\n\n", " Sell Lots = ", DoubleToStr(FLotSell,2) + " / " + FOrder_Sell); return(0); } //-------------------------------------------------------------------------------------------- //-------------------------------------------------------------------------------------------- int DeletePendingOrders(int Magic) { int total = OrdersTotal(); for (int cnt = total-1 ; cnt >= 0 ; cnt--) { OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES); if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol() && (OrderType()!=OP_BUY && OrderType()!=OP_SELL)) { OrderDelete(OrderTicket()); } } return(0); } //-------------------------------------------------------------------------------------------- //-------------------------------------------------------------------------------------------- int CloseOrders(int Magic) { int total = OrdersTotal(); for (int cnt = total-1 ; cnt >= 0 ; cnt--) { OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES); if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol()) { if (OrderType()==OP_BUY) { OrderClose(OrderTicket(),OrderLots(),Bid,3,Blue); } if (OrderType()==OP_SELL) { OrderClose(OrderTicket(),OrderLots(),Ask,3,Red); } } } return(0); } //-------------------------------------------------------------------------------------------- //-------------------------------------------------------------------------------------------- int MyOrdersTotal(int Magic) { int c=0; int total = OrdersTotal(); if(Magic==g_Magic) { GLotBuy=0; GLotSell=0; GOrder_Buy=0; GOrder_Sell=0; } if(Magic==f_Magic) { FLotBuy=0; FLotSell=0; FOrder_Buy=0; FOrder_Sell=0; } for (int cnt = 0 ; cnt < total ; cnt++) { OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES); if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol()) { if(Magic==g_Magic) { if(OrderType()==OP_BUY) { GLotBuy=GLotBuy+OrderLots(); GOrder_Buy++; } if(OrderType()==OP_SELL) { GLotSell=GLotSell+OrderLots(); GOrder_Sell++; } } if(Magic==f_Magic) { if(OrderType()==OP_BUY) { FLotBuy=FLotBuy+OrderLots(); FOrder_Buy++; } if(OrderType()==OP_SELL) { FLotSell=FLotSell+OrderLots(); FOrder_Sell++; } } c++; } } return(c); } //-------------------------------------------------------------------------------------------- //-------------------------------------------------------------------------------------------- double GetLastBuyPrice(int Magic) { int total=OrdersTotal()-1; for (int cnt = total ; cnt >=0 ; cnt--) { OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES); if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol() && (OrderType()==OP_BUYSTOP || OrderType()==OP_BUYLIMIT || OrderType()==OP_BUY)) { if(Magic==g_Magic) gLotBuy=OrderLots(); if(Magic==f_Magic) fLotBuy=OrderLots(); return(OrderOpenPrice()); } } return(0); } //-------------------------------------------------------------------------------------------- //-------------------------------------------------------------------------------------------- double GetLastSellPrice(int Magic) { int total=OrdersTotal()-1; for (int cnt = total ; cnt >=0 ; cnt--) { OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES); if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol() && (OrderType()==OP_SELLSTOP || OrderType()==OP_SELLLIMIT || OrderType()==OP_SELL)) { if(Magic==g_Magic) gLotSell=OrderLots(); if(Magic==f_Magic) fLotSell=OrderLots(); return(OrderOpenPrice()); } } return(100000); } //-------------------------------------------------------------------------------------------- //-------------------------------------------------------------------------------------------- double GetOrdersProfit(int Magic) { double eProfit=0; int total=OrdersTotal()-1; for (int cnt = total ; cnt >=0 ; cnt--) { OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES); if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol() && (OrderType()==OP_BUY || OrderType()==OP_SELL)) { eProfit=eProfit+OrderProfit(); } } return(eProfit); } //-------------------------------------------------------------------------------------------- How to code? [警告は閉鎖されました!】フォーラムを乱雑にしないために、どんな初心者の質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしでは、どこにも行けない。 MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 1...118119120121122123124125126127128129130131132...347 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
はあ・・・。キーボードの同じキーを使って、これも使えるようになりませんか? Cheers!
同じ問題です。バックテストでは うまくいくのですが、フォワードテストではうまくいきません。トレードが実行されない...助けていただけますか?
知りたいです。
あなたのキーボードが売りに出される?
100万ピップスありがとうございます。また連絡します。
同じ問題です。バックテストではうまくいくのですが、フォワードテストではうまくいきません。トレードが実行されない...助けてもらえますか?
アドバイスありがとうございました。ほとんどの場合(多分すべての場合?)、最新のバーの開始時に受信したティックがあることがわかったので、私はオープン 価格で取引することができます。理想的ではありませんが、(上記で言われたように)終値と建値の差はかなり小さいです。
iTime関数は どのような値を返すのですか?バーの開始日でしょうか?マニュアルには「指定されたシンボルのバーの時間値をタイムフレームとシフト付きで返す」としか書かれていないのですが。
ご回答よろしくお願いします。
関数iTimeはどのような値を返すのですか?バーの開始日でしょうか?マニュアルには「指定されたシンボルのバーの時間値をタイムフレームとシフト付きで返す」としか書かれていないのですが。 ご回答よろしくお願いします。
こんにちは、IN10TIONです。
PMを送りました...
利益が出たら全ての注文をクローズするEAが必要です。
こんにちは、どなたか偉大なコーダーの方が、g_MinProfitとf_MinProfitがヒットしたら全ての注文をクローズするコードを追加していただけないでしょうか?利益が出たときに、買い/売りのストップ/リミットオーダーが残っていて、利益最小がトリガーされたら、それらをすべて削除してほしいのです。
ありがとうございます。
extern bool g_CLOSE_ALL=false;
extern bool g_RESTART=true;
extern int g_Step=120;
extern double g_FirstLot=0.1;
extern double g_IncLot=0;
extern double g_MinProfit=450;
extern int g_Magic = 2008;
extern string g_comment="Win";
extern bool f_CLOSE_ALL=false;
extern bool f_RESTART=true;
extern int f_Step=120;
extern double f_FirstLot=0.1;
extern double f_IncLot=0;
extern double f_MinProfit=450;
extern int f_Magic = 2009;
extern string f_comment="REV";
int GOrder_Buy=0;
int GOrder_Sell=0;
double GLotSell=0;
double GLotBuy=0;
double gLotSell=0;
double gLotBuy=0;
double gLSP,gLBP;
double gCurrentProfit;
int FOrder_Buy=0;
int FOrder_Sell=0;
double FLotSell=0;
double FLotBuy=0;
double fLotSell=0;
double fLotBuy=0;
double fLSP,fLBP;
double fCurrentProfit;
double max_dd;
//--------------------------------------------------------------------------------------------
//--------------------------------------------------------------------------------------------
int init()
{
Comment("Waddah Attar Win TradeBalancer 1");
if(!GlobalVariableCheck("max_DD")) GlobalVariableSet("max_DD",0);
return(0);
}
int deinit()
{
Comment("");
return(0);
}
//--------------------------------------------------------------------------------------------
//--------------------------------------------------------------------------------------------
int start()
{
gCurrentProfit=GetOrdersProfit(g_Magic);
if (gCurrentProfit>=g_MinProfit || g_CLOSE_ALL)
{
DeletePendingOrders(g_Magic);
CloseOrders(g_Magic);
}
if (MyOrdersTotal(g_Magic)==0 && g_RESTART)
{
OrderSend(Symbol(),OP_BUYLIMIT,g_FirstLot,Ask-g_Step*Point,3,0,0,g_comment,g_Magic,0,Blue);
OrderSend(Symbol(),OP_SELLLIMIT,g_FirstLot,Bid+g_Step*Point,3,0,0,g_comment,g_Magic,0,Red);
}
gLSP=GetLastSellPrice(g_Magic);
gLBP=GetLastBuyPrice(g_Magic);
if((gLSP-Bid)<=5*Point)
{
OrderSend(Symbol(),OP_SELLLIMIT,gLotSell+g_IncLot,gLSP+g_Step*Point,3,0,0,g_comment,g_Magic,0,Red);
}
if((Ask-gLBP)<=5*Point)
{
OrderSend(Symbol(),OP_BUYLIMIT,gLotBuy+g_IncLot,gLBP-g_Step*Point,3,0,0,g_comment,g_Magic,0,Blue);
}
//--------------------------------------------------------------------------------------------
fCurrentProfit=GetOrdersProfit(f_Magic);
if (fCurrentProfit>=f_MinProfit || f_CLOSE_ALL)
{
DeletePendingOrders(f_Magic);
CloseOrders(f_Magic);
}
if (MyOrdersTotal(f_Magic)==0 && f_RESTART)
{
OrderSend(Symbol(),OP_BUYSTOP,f_FirstLot,Ask+f_Step*Point,3,0,0,f_comment,f_Magic,0,Blue);
OrderSend(Symbol(),OP_SELLSTOP,f_FirstLot,Bid-f_Step*Point,3,0,0,f_comment,f_Magic,0,Red);
}
fLSP=GetLastSellPrice(f_Magic);
fLBP=GetLastBuyPrice(f_Magic);
if((Bid-fLSP)<=5*Point)
{
OrderSend(Symbol(),OP_SELLSTOP,fLotSell+f_IncLot,fLSP-f_Step*Point,3,0,0,f_comment,f_Magic,0,Red);
}
if((fLBP-Ask)<=5*Point)
{
OrderSend(Symbol(),OP_BUYSTOP,fLotBuy+f_IncLot,fLBP+f_Step*Point,3,0,0,f_comment,f_Magic,0,Blue);
}
//--------------------------------------------------------------------------------------------
//max_dd=
//--------------------------------------------------------------------------------------------
Comment("Waddah Attar Win TradeBalancer 1",
"\n\n\n\n", " CurrentProfit = ", DoubleToStr(gCurrentProfit,2),
"\n\n", " Buy Lots = ", DoubleToStr(GLotBuy,2) + " / " + GOrder_Buy,
"\n\n", " Sell Lots = ", DoubleToStr(GLotSell,2) + " / " + GOrder_Sell,
"\n\n\n\n", " CurrentProfit = ", DoubleToStr(fCurrentProfit,2),
"\n\n", " Buy Lots = ", DoubleToStr(FLotBuy,2) + " / " + FOrder_Buy,
"\n\n", " Sell Lots = ", DoubleToStr(FLotSell,2) + " / " + FOrder_Sell);
return(0);
}
//--------------------------------------------------------------------------------------------
//--------------------------------------------------------------------------------------------
int DeletePendingOrders(int Magic)
{
int total = OrdersTotal();
for (int cnt = total-1 ; cnt >= 0 ; cnt--)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol() && (OrderType()!=OP_BUY && OrderType()!=OP_SELL))
{
OrderDelete(OrderTicket());
}
}
return(0);
}
//--------------------------------------------------------------------------------------------
//--------------------------------------------------------------------------------------------
int CloseOrders(int Magic)
{
int total = OrdersTotal();
for (int cnt = total-1 ; cnt >= 0 ; cnt--)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol())
{
if (OrderType()==OP_BUY)
{
OrderClose(OrderTicket(),OrderLots(),Bid,3,Blue);
}
if (OrderType()==OP_SELL)
{
OrderClose(OrderTicket(),OrderLots(),Ask,3,Red);
}
}
}
return(0);
}
//--------------------------------------------------------------------------------------------
//--------------------------------------------------------------------------------------------
int MyOrdersTotal(int Magic)
{
int c=0;
int total = OrdersTotal();
if(Magic==g_Magic) { GLotBuy=0; GLotSell=0; GOrder_Buy=0; GOrder_Sell=0; }
if(Magic==f_Magic) { FLotBuy=0; FLotSell=0; FOrder_Buy=0; FOrder_Sell=0; }
for (int cnt = 0 ; cnt < total ; cnt++)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol())
{
if(Magic==g_Magic)
{
if(OrderType()==OP_BUY) { GLotBuy=GLotBuy+OrderLots(); GOrder_Buy++; }
if(OrderType()==OP_SELL) { GLotSell=GLotSell+OrderLots(); GOrder_Sell++; }
}
if(Magic==f_Magic)
{
if(OrderType()==OP_BUY) { FLotBuy=FLotBuy+OrderLots(); FOrder_Buy++; }
if(OrderType()==OP_SELL) { FLotSell=FLotSell+OrderLots(); FOrder_Sell++; }
}
c++;
}
}
return(c);
}
//--------------------------------------------------------------------------------------------
//--------------------------------------------------------------------------------------------
double GetLastBuyPrice(int Magic)
{
int total=OrdersTotal()-1;
for (int cnt = total ; cnt >=0 ; cnt--)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol() && (OrderType()==OP_BUYSTOP || OrderType()==OP_BUYLIMIT || OrderType()==OP_BUY))
{
if(Magic==g_Magic) gLotBuy=OrderLots();
if(Magic==f_Magic) fLotBuy=OrderLots();
return(OrderOpenPrice());
}
}
return(0);
}
//--------------------------------------------------------------------------------------------
//--------------------------------------------------------------------------------------------
double GetLastSellPrice(int Magic)
{
int total=OrdersTotal()-1;
for (int cnt = total ; cnt >=0 ; cnt--)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol() && (OrderType()==OP_SELLSTOP || OrderType()==OP_SELLLIMIT || OrderType()==OP_SELL))
{
if(Magic==g_Magic) gLotSell=OrderLots();
if(Magic==f_Magic) fLotSell=OrderLots();
return(OrderOpenPrice());
}
}
return(100000);
}
//--------------------------------------------------------------------------------------------
//--------------------------------------------------------------------------------------------
double GetOrdersProfit(int Magic)
{
double eProfit=0;
int total=OrdersTotal()-1;
for (int cnt = total ; cnt >=0 ; cnt--)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol() && (OrderType()==OP_BUY || OrderType()==OP_SELL))
{
eProfit=eProfit+OrderProfit();
}
}
return(eProfit);
}
//--------------------------------------------------------------------------------------------