フラクタルブレイクアウトスタック - ページ 4 123456 新しいコメント Zachary 2013.03.18 18:59 #31 for(int i=OrdersTotal()-1; i>=0;i--) { if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break; if(OrderMagicNumber()!=MagicNumber || OrderSymbol() !=Symbol()) continue; double SL=OrderStopLoss(); bool result; int error; //-----The Differnt Order types---// if(OrderType()==OP_BUY) { if(BreakEven>0) { if(Bid-OrderOpenPrice() >= Point*BreakEven*mypoint) { if(OrderStopLoss() <OrderOpenPrice()) { SL=OrderOpenPrice()*Point*mypoint; }}}}} if(SL!=OrderStopLoss()) result=OrderModify(OrderTicket(),OrderOpenPrice(), SL,OrderTakeProfit(),0,CLR_NONE); if(result!=true){error=GetLastError(); Print("ModifyError=",OrderTicket()," ",error);} //--------CHECKING FOR ERRORS-------------------// return(0); } } 売り側も作成したのですが、エラーが出るので削除し、deVriesさんに教えていただいたものを入れ直したのですが、やはり同じエラーコードが 出ます。 40514108また、OrderOpenPrice()=SLにPointを追加しているのはなぜでしょうか?それはストップロスに正しい桁を追加しているだけです。 Tjipke de Vries 2013.03.18 19:40 #32 ZacharyRC:売り側も作成したのですが、エラーが出たので削除し、deVriesが教えてくれたものに戻しましたが、やはり同じエラーコードが出ています。 for(int i=OrdersTotal()-1; i>=0;i--) { if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break; if(OrderMagicNumber()!=MagicNumber || OrderSymbol() !=Symbol()) continue; double SL=OrderStopLoss(); bool result; int error; //-----The Differnt Order types---// if(OrderType()==OP_BUY) { if(BreakEven>0) { if(Bid-OrderOpenPrice() >= Point*BreakEven*mypoint) { if(OrderStopLoss() <OrderOpenPrice()) { SL=OrderOpenPrice()*Point*mypoint; // WRONG HERE }}}}} if(SL!=OrderStopLoss()) result=OrderModify(OrderTicket(),OrderOpenPrice(), SL,OrderTakeProfit(),0,CLR_NONE); if(result!=true){error=GetLastError(); Print("ModifyError=",OrderTicket()," ",error);} //Where is the } ?? //--------CHECKING FOR ERRORS-------------------// return(0); } } 40514108また、なぜOrderOpenPrice()=SLにPointを追加するのでしょうか?それはストップロスに正しい桁を追加しているだけです。 私のコードをもう一度見て、その赤い行を変更してください。私が与えたものとは異なっています。今のコードを見ることができますか?そして、これらのエラーが発生したときに表示されるメッセージを見てください。orderopenpriceに1つのポイントを追加することは、すべてのティックブレークイーブンで 再びトレードを修正しようとするのを避けるためです。 Zachary 2013.03.18 20:54 #33 deVries:もう一度、私のコードを見て、赤い行を変更してください。とは違っています。今のコードを見ることができますか?そして、これらのエラーが発生したときに表示されるメッセージです。orderopenpriceに1点追加することで、毎ティックブレークイーブンで再度トレードを修正しようとするのを避けることができます。 はい、私はそのエラーを拾いました、私はちょうどいくつかのものを変更し、コードを投稿する前にそれを消去するのを忘れていた。申し訳ございません。//-----------------EXITING ORDERS---------------// for(int i=OrdersTotal()-1; i>=0;i--) { if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break; if(OrderMagicNumber()!=MagicNumber || OrderSymbol() !=Symbol()) continue; double SL=OrderStopLoss(); bool result; int error; //-----The Differnt Order types---// if(OrderType()==OP_BUY) { if(BreakEven>0) { if(Bid-OrderOpenPrice() >= Point*BreakEven*mypoint) { if(OrderStopLoss() <OrderOpenPrice()) { SL=OrderOpenPrice()+Point; }}}}} if(OrderType()==OP_SELL) { if(OrderOpenPrice()-Ask >= Point*BreakEven*mypoint) { if(OrderStopLoss()>OrderOpenPrice()) { SL=OrderOpenPrice() + Point; }}} if(SL != OrderStopLoss()) result=OrderModify(OrderTicket(),OrderOpenPrice(),SL,OrderTakeProfit(),0,CLR_NONE); if(result!=TRUE) { error=GetLastError(); Print("ModifyError = ",OrderTicket()," ",error);} //--------CHECKING FOR ERRORS-------------------// Print(GetLastError()); return(0); } } Zachary 2013.03.18 20:56 #34 2013.03.18 17:55:51 2013.03.11 23:59 Tester: order #6 is closed 2013.03.18 17:55:51 2013.03.18 17:55:51 2013.03.11 15:48 BreakOutEA EURUSD,M1: 0 2013.03.18 17:55:51 2013.03.11 15:48 BreakOutEA EURUSD,M1.M1: 0 2013.03.18 17:55:51 2013.03.18 17:55:51 2013.03.11 15:48 BreakOutEA EURUSD,M1:ModifyError = 6 0 2013.03.18 17:55:51 2013.03.11 15:48 BreakOutEA EURUSD,M1: modify #6 buy 0.03 EURUSD at 1.30390 sl: 1.30055 tp: 1.30855 ok 2013.03.18 17:55:51 2013.03.18.11 15:48 BreakOutEA EURUSD,M1: 開く #6 buy 0.03 EURUSD at 1.30390 ok 2013.03.18 17:55:51 2013.03.を。11 15:47 BreakOutEA EURUSD,M1: 0 2013.03.18 17:55:51 2013.03.11 15:47 BreakOutEA EURUSD,M1.M1: 0 2013.03.18 17:55:51 2013.03.11 15:47 BreakOutEA EURUSD,M1:ModifyError = 5 4108 2013.03.18 17:55:51 2013.03.11 15:47 BreakOutEA EURUSD,M1:OrderModify error 4108 2013.03.18 17:55:51 2013.03.11 15:47 BreakOutEA EURUSD,M1: OrderModify関数の 未知のチケット5 2013.03.18 17:55:51 2013.03.11 15:47 BreakOutEA EURUSD,M1: 0 Fractal Break Out-Stuck PREDICT time period Problems with gaps in Zachary 2013.03.18 20:57 #35 OK!ということは、売った分も1ポイントマイナスしていいんですね。 Tjipke de Vries 2013.03.18 21:17 #36 //-----------------EXITING ORDERS---------------// for(int i=OrdersTotal()-1; i>=0;i--) { if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break; if(OrderMagicNumber()!=MagicNumber || OrderSymbol() !=Symbol()) continue; double SL=OrderStopLoss(); bool result; int error; //-----The Differnt Order types---// if(OrderType()==OP_BUY) { if(BreakEven>0) { if(Bid-OrderOpenPrice() >= Point*BreakEven*mypoint) { if(OrderStopLoss() <OrderOpenPrice()) { SL=OrderOpenPrice()+Point; }}}} } //PLACE THE BRACKETS IN LINE OPEN/CLOSE BRACKET AND YOU WILL SEE THE ERROR HERE if(OrderType()==OP_SELL) { if(OrderOpenPrice()-Ask >= Point*BreakEven*mypoint) { if(OrderStopLoss()>OrderOpenPrice()) { SL=OrderOpenPrice() + Point; //OrderStopLoss has to become point lower then orderopenprice }}} if(SL != OrderStopLoss()) result=OrderModify(OrderTicket(),OrderOpenPrice(),SL,OrderTakeProfit(),0,CLR_NONE); if(result!=TRUE) { error=GetLastError(); Print("ModifyError = ",OrderTicket()," ",error);} } //--------CHECKING FOR ERRORS-------------------// Print(GetLastError( return(0); } } ループの内側では、すべての変更をチェックし、ループの外側では、最後のエラーが どのような順序であるかわかりません。最後の行 print( getlasterror()) b は必要ありません。私は行の中にもっと括弧を見たいです。 RaptorUKと私はこのように閉じ括弧を置くことはありませんでした}}}}。そのせいで今エラーが出ています。 Zachary 2013.03.18 22:01 #37 for(int i=OrdersTotal()-1; i>=0;i--) { if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break; if(OrderMagicNumber()!=MagicNumber || OrderSymbol() !=Symbol()) continue; double SL=OrderStopLoss(); bool result; int error; //-----The Differnt Order types---// if(OrderType()==OP_BUY) { if(BreakEven>0) { if(Bid-OrderOpenPrice() >= Point*BreakEven*mypoint) { if(OrderStopLoss() <OrderOpenPrice()) { SL=OrderOpenPrice()+Point; } } } } if(OrderType()==OP_SELL) { if(OrderOpenPrice()-Ask >= Point*BreakEven*mypoint) { if(OrderStopLoss()>OrderOpenPrice()) { SL=OrderOpenPrice() - Point; } } } if(SL != OrderStopLoss()) result=OrderModify(OrderTicket(),OrderOpenPrice(),SL,OrderTakeProfit(),0,CLR_NONE); if(result!=TRUE) { error=GetLastError(); Print("ModifyError = ",OrderTicket()," ",error);} } return(0); } } 開閉カッコ{{ }}の順番を要求しているのでしょうか?それは私にとっての問題で、コード内部が非常に乱れているように感じます。 Zachary 2013.03.18 22:12 #38 今はエラーは出ていませんが、ビジュアルバックテストでは、SLが動きません。自信があったのですが、今になって傷つきました、掲示板に依存しすぎて申し訳ないです。括弧がエラーになっていましたが、やはり正常に機能していません。本も再読しています。 Zachary 2013.03.18 22:36 #39 if(OrderType()==OP_BUY){ if(BreakEven>0){ if(Bid-OrderOpenPrice() >=BreakEven*mypoint*Point){ if(OrderStopLoss() <OrderOpenPrice()){ SL=OrderOpenPrice()+Point; } } } } 演算子の直下にブラケットを配置する、これも参考になると思います。 Simon Gniadkowski 2013.03.18 22:45 #40 ZacharyRC: 演算子の直下に括弧を配置する、これも参考になると思います。 私はこのようにすることで、インデントがブロックの位置を示すようにしました ... ...if(OrderType()==OP_BUY) { if(BreakEven>0) { if(Bid-OrderOpenPrice() >=BreakEven*mypoint*Point) { if(OrderStopLoss() <OrderOpenPrice()) { SL=OrderOpenPrice()+Point; } } } }とか、こんな感じでやるとか.if(OrderType() == OP_BUY && BreakEven > 0 && Bid - OrderOpenPrice() >= BreakEven * mypoint * Point && OrderStopLoss() < OrderOpenPrice() ) { SL = OrderOpenPrice() + Point; } 123456 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
売り側も作成したのですが、エラーが出るので削除し、deVriesさんに教えていただいたものを入れ直したのですが、やはり同じエラーコードが 出ます。
4051
4108
また、OrderOpenPrice()=SLにPointを追加しているのはなぜでしょうか?それはストップロスに正しい桁を追加しているだけです。
売り側も作成したのですが、エラーが出たので削除し、deVriesが教えてくれたものに戻しましたが、やはり同じエラーコードが出ています。
4051
4108
また、なぜOrderOpenPrice()=SLにPointを追加するのでしょうか?それはストップロスに正しい桁を追加しているだけです。
私のコードをもう一度見て、その赤い行を変更してください。
私が与えたものとは異なっています。
今のコードを見ることができますか?
そして、これらのエラーが発生したときに表示されるメッセージを見てください。
orderopenpriceに1つのポイントを追加することは、すべてのティックブレークイーブンで 再びトレードを修正しようとするのを避けるためです。
もう一度、私のコードを見て、赤い行を変更してください。
とは違っています。
今のコードを見ることができますか?
そして、これらのエラーが発生したときに表示されるメッセージです。
orderopenpriceに1点追加することで、毎ティックブレークイーブンで再度トレードを修正しようとするのを避けることができます。
はい、私はそのエラーを拾いました、私はちょうどいくつかのものを変更し、コードを投稿する前にそれを消去するのを忘れていた。申し訳ございません。
2013.03.18 17:55:51 2013.03.18 17:55:51 2013.03.11 15:48 BreakOutEA EURUSD,M1: 0
2013.03.18 17:55:51 2013.03.11 15:48 BreakOutEA EURUSD,M1.M1: 0 2013.03.18 17:55:51 2013.03.18 17:55:51 2013.03.11 15:48 BreakOutEA EURUSD,M1:ModifyError = 6 0
2013.03.18 17:55:51 2013.03.11 15:48 BreakOutEA EURUSD,M1: modify #6 buy 0.03 EURUSD at 1.30390 sl: 1.30055 tp: 1.30855 ok
2013.03.18 17:55:51 2013.03.18.11 15:48 BreakOutEA EURUSD,M1: 開く #6 buy 0.03 EURUSD at 1.30390 ok
2013.03.18 17:55:51 2013.03.を。11 15:47 BreakOutEA EURUSD,M1: 0
2013.03.18 17:55:51 2013.03.11 15:47 BreakOutEA EURUSD,M1.M1: 0 2013.03.18 17:55:51 2013.03.11 15:47 BreakOutEA EURUSD,M1:ModifyError = 5 4108
2013.03.18 17:55:51 2013.03.11 15:47 BreakOutEA EURUSD,M1:OrderModify error 4108
2013.03.18 17:55:51 2013.03.11 15:47 BreakOutEA EURUSD,M1: OrderModify関数の 未知のチケット5
2013.03.18 17:55:51 2013.03.11 15:47 BreakOutEA EURUSD,M1: 0
ループの内側では、すべての変更をチェックし、ループの外側では、最後のエラーが どのような順序であるかわかりません。
最後の行 print( getlasterror()) b は必要ありません。
私は行の中にもっと括弧を見たいです。
RaptorUKと私はこのように閉じ括弧を置くことはありませんでした}}}}。
そのせいで今エラーが出ています。
開閉カッコ{{ }}の順番を要求しているのでしょうか?
それは私にとっての問題で、コード内部が非常に乱れているように感じます。
今はエラーは出ていませんが、ビジュアルバックテストでは、SLが動きません。自信があったのですが、今になって傷つきました、掲示板に依存しすぎて申し訳ないです。
括弧がエラーになっていましたが、やはり正常に機能していません。
本も再読しています。
演算子の直下に括弧を配置する、これも参考になると思います。
私はこのようにすることで、インデントがブロックの位置を示すようにしました ... ...
とか、こんな感じでやるとか.