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

 
:: 何が問題なのでしょうか?EURUSDだけ?他のと同じに見えるけど?
LazyForex:
はあ・・・。キーボードの同じキーを使って、これも使えるようになりませんか? Cheers!
 
IN10TION:
:: 何が問題なのでしょうか?EURUSDだけですか?他のと同じに見えるんですが、どうなんでしょう?

同じ問題です。バックテストでは うまくいくのですが、フォワードテストではうまくいきません。トレードが実行されない...助けていただけますか?

 
IN10TION:
:: EURUSDにしか使えないように設定されていたので、それを他の制限に切り替えました...そうです...同じキーです...

もう一つを変更しなければなりません。私は私が行うことができます別の何かを見た...うん...同じ

キー...

結果がOKであるものを共有する?(もしくはPMで)

IN10TIONを

知りたいです。

あなたのキーボードが売りに出される?

100万ピップスありがとうございます。また連絡します。

 
:: これにはもう少しキーを使いました...でも他の通貨にも使えるんですよ、EURUSDにしか設定されていませんでしたが...なぜかは分かりません、あなたならもっと分かると思います
ファイル:
 
:: EURUSDでしか動かないように設定されていたので、それをオフにし、他の制限をかけました。

btw もう1つを変えなければならない...。他にできることがあると思うのですが...そうです...同じキーです...

結果はどうなったか教えてください。(もしくはPMで)知りたいですね。

IN10TION

LazyForex:
同じ問題です。バックテストではうまくいくのですが、フォワードテストではうまくいきません。トレードが実行されない...助けてもらえますか?
 

アドバイスありがとうございました。ほとんどの場合(多分すべての場合?)、最新のバーの開始時に受信したティックがあることがわかったので、私はオープン 価格で取引することができます。理想的ではありませんが、(上記で言われたように)終値と建値の差はかなり小さいです。

 

iTime関数は どのような値を返すのですか?バーの開始日でしょうか?マニュアルには「指定されたシンボルのバーの時間値をタイムフレームとシフト付きで返す」としか書かれていないのですが。

ご回答よろしくお願いします。

 
:: はい、バーの始まりです
mellda:
関数iTimeはどのような値を返すのですか?バーの開始日でしょうか?マニュアルには「指定されたシンボルのバーの時間値をタイムフレームとシフト付きで返す」としか書かれていないのですが。 ご回答よろしくお願いします。
 
IN10TION:
でも、他の通貨にも使えるんだ。EURUSDにしか設定されていない。なぜだかわからないけど、君ならもっとよくわかると思うよ。

こんにちは、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);

}

//--------------------------------------------------------------------------------------------