orderopenpriceが開かれた後の最高値を取得するにはどうしたらよいですか? - ページ 6 123456 新しいコメント 削除済み 2011.10.01 13:28 #51 最初の問題を解決しました(エラーになりましたありがとうございます diostar) // if(OrdersTotal()>0){ if ((lastOpenedOpenPriceBuy()-0.0030)>MarketInfo("EURUSD",MODE_BID) ) ) { SELL("EURUSD",S_EURUSD_LS_1,S_EURUSD_TP_1,S_EURUSD_SL_1,S_EURUSD_TS_1, "if ( (lastOpenedOpenPriceBuy()-0.0030>MarketInfo(EURUSD,MODE_BID) )" ) ;} ←クリックすると拡大します。 } 2つ目は if ( ((lastOpenedOpenPriceBuy()-lastOpenedOpenPriceSell() )>=0.0060) &&( lastClosedClosePrice()<beforelastClosedClosePrice()) ) ) { closeshort("eurusd") ;}. CLOSESHORT関数は 以下の通りです。 int CLOSESHORT(string symbol_c) { CloseAllPositions(symbol_c,OP_SELL,MagicNumberShort); CloseAllPositions(symbol_c,OP_SELL,MagicNumberShort); return(0); } . ありがとうございます。 how can i get EA based on Correlation Coding help blackmore 2011.10.01 15:49 #52 今、混乱しています。 最初の関数 lastOpenedOpenPriceBuy() についてのご返答でしょうか? 今のところそれしか対応できないかもしれません。で、具体的にどんな修正をしていたのか。今はどんなコードになっているのでしょうか? Simon Gniadkowski 2011.10.01 16:22 #53 diostar: 今、私は混乱しています。 あなただけではありません......あなたの時間を無駄にするのをやめてください。 blackmore 2011.10.01 17:16 #54 RaptorUK: あなただけではありません......時間を無駄にするのはやめましょう。このスレッドは、おそらく最も長いスレッドです。 そして、6ページの後、混乱しています。 いいえ、私はまだそれが "無駄 "ではないと言う。 (それはただ、新しい方向性、新しい人生、新しい始まりの時期ということです。 誰にとっても) Simon Gniadkowski 2011.10.01 17:34 #55 私はこのスレッドに時間を費やしました、私はコードを追加 し、提案を行いました。...あなたが馬を水に引きずり込み、干し草で味付けし、リンゴを加えても、まだ馬が飲みたがらないとき、それは馬が飲みたがっていないことを理解する時です...それは水摂取のための点滴を望んでいます...その時点で、私に関する限り、馬はそれ自体で行動しています。 blackmore 2011.10.01 17:49 #56 RaptorUK: 私はこのスレッドに時間を費やしてきました、私はコードを追加し、提案を行いました。馬を水に引きずり込み、干し草で味付けし、リンゴを加えてもまだ飲みたがらないときは、馬が飲みたがっていないことに気づくときです ... 水分の摂取のために点滴をしたいのです ... その時点で、私の知る限り、馬は自分でやるしかないのです。なるほど。最終的な報酬は、馬に栄養を与えるという "運命 "ではないかもしれませんが、その分、努力した人への報酬があるんですね。 馬に感謝します。 削除済み 2011.10.03 07:24 #57 diostar さん、ありがとうございます。 今、私は85%のバグを修正しました。 1- 4つの関数を 作りました(このページの最後にあります)。 *lastOpenedOpenPriceBuy() *lastOpenedOpenPriceSell() *lastClosedClosePrice() *beforelastClosedClosePrice() 2- 最初の問題に直面しました。 if ( ((lastOpenedOpenPriceBuy()-0.0030)>MarketInfo("EURUSD",MODE_BID)) ) { SELL("EURUSD",S_EURUSD_LS_1,S_EURUSD_TP_1,S_EURUSD_SL_1,S_EURUSD_TS_1,"if ( ( (lastOpenedOpenPriceBuy()-0.0030)>MarketInfo(EURUSD,MODE_BID) ) )") ;} if ( ((lastOpenedOpenPriceSell()+0.0030)<MarketInfo("EURUSD",MODE_BID)) ) { BUY("EURUSD",B_EURUSD_LS_1,B_EURUSD_TP_1,B_EURUSD_SL_1,B_EURUSD_TS_1,"if ( ( (lastOpenedOpenPriceSell()+0.0030)<MarketInfo(EURUSD,MODE_BID) ) )") ;} を追加して修正しました。 if(OrdersTotal()>0){ if ( ((lastOpenedOpenPriceBuy()-0.0030)>MarketInfo("EURUSD",MODE_BID)) ) { SELL("EURUSD",S_EURUSD_LS_1,S_EURUSD_TP_1,S_EURUSD_SL_1,S_EURUSD_TS_1,"if ( ( (lastOpenedOpenPriceBuy()-0.0030)>MarketInfo(EURUSD,MODE_BID) ) )") ;} if ( ((lastOpenedOpenPriceSell()+0.0030)<MarketInfo("EURUSD",MODE_BID)) ) { BUY("EURUSD",B_EURUSD_LS_1,B_EURUSD_TP_1,B_EURUSD_SL_1,B_EURUSD_TS_1,"if ( ( (lastOpenedOpenPriceSell()+0.0030)<MarketInfo(EURUSD,MODE_BID) ) )") ;} } 3- 2番目の問題は、以下の通りです。 if ( ((lastOpenedOpenPriceBuy()-lastOpenedOpenPriceSell())>=0.0060)&&(((lastOpenedOpenPriceBuy()+lastOpenedOpenPriceSell())/2)<MarketInfo("EURUSD",MODE_BID)) &&(lastClosedClosePrice()< beforelastClosedClosePrice()) ) { CLOSESHORT("EURUSD") ;} もし私が&&(lastClosedClosePrice() < beforelastClosedClosePrice()) を削除すれば、 すべてがうまくいくでしょう 。 で問題ありません。 *((lastOpenedOpenPriceBuy()-lastOpenedOpenPriceSell())>=0.0060)の場合、問題なく動作します。 *(((最終OpenPriceBuy()+最終OpenPriceSell())/2)<マーケット情報("EURUSD",MODE_BID)) 唯一の問題は&&(lastClosedClosePrice()< beforelastClosedClosePrice()) で発生します。 例を挙げてみましょう。 注文番号5が開いて売りであり、注文番号6が開いて閉じて買いであった場合、注文番号7が開いて買いであった場合。 この場合、(lastClosedClosePrice()< beforelastClosedClosePrice()) となります。 ( 注文番号6 < 注文番号4 ) // 注文番号5がまだ閉じていないので。 どうすればいいのでしょうか? if(OrdersHistoryTotal()>0){theninsert all the conditions } を使おうとしたのですが、ダメでした。 double lastOpenedOpenPriceBuy() { double ret = 0; datetime time=0; for(int i=0; i<OrdersTotal(); i++) { OrderSelect(i, SELECT_BY_POS, MODE_TRADES); if(OrderType()==OP_BUY && OrderOpenTime()>time) { time = OrderOpenTime(); ret = OrderOpenPrice(); } } return(ret); } double lastOpenedOpenPriceSell() { double ret = 0; datetime time=0; for(int i=0; i<OrdersTotal(); i++) { OrderSelect(i, SELECT_BY_POS, MODE_TRADES); if(OrderType()==OP_SELL && OrderOpenTime()>time) { time = OrderOpenTime(); ret = OrderOpenPrice(); } } return(ret); } double lastClosedClosePrice() { double ret = 0; datetime time = 0; for(int i=OrdersHistoryTotal()-1; i>=0; i--) { OrderSelect(i, SELECT_BY_POS, MODE_HISTORY); if(OrderType()<2 && OrderCloseTime()>time) { time = OrderCloseTime(); ret = OrderClosePrice(); } } return(ret); } double beforelastClosedClosePrice() { double ret = 0; double ret2 = 0; datetime time = 0; for(int i=OrdersHistoryTotal()-1; i>=0; i--) { OrderSelect(i, SELECT_BY_POS, MODE_HISTORY); if(OrderType()<2 && OrderCloseTime()>time) { time = OrderCloseTime(); ret = ret2; ret2 = OrderClosePrice(); } } if(ret==0) { ret = ret2; } return(ret); } blackmore 2011.10.03 10:38 #58 double lastOpenedOpenPriceBuy() { double ret = 0; datetime time=0; for(int i=0; i<OrdersTotal(); i++) { OrderSelect(i, SELECT_BY_POS, MODE_TRADES); if(OrderType()==OP_BUY && OrderOpenTime()>time) { time = OrderOpenTime(); ret = OrderOpenPrice(); } } return(ret); } これは私が提案したもの でも なければ、「私たち」が作ったものでもありません。これは100%あなたのものです。 123456 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
最初の問題を解決しました(エラーになりましたありがとうございます diostar)
// if(OrdersTotal()>0){
if ((lastOpenedOpenPriceBuy()-0.0030)>MarketInfo("EURUSD",MODE_BID) ) )
{ SELL("EURUSD",S_EURUSD_LS_1,S_EURUSD_TP_1,S_EURUSD_SL_1,S_EURUSD_TS_1, "if ( (lastOpenedOpenPriceBuy()-0.0030>MarketInfo(EURUSD,MODE_BID) )" ) ;} ←クリックすると拡大します。
}
2つ目は
if ( ((lastOpenedOpenPriceBuy()-lastOpenedOpenPriceSell() )>=0.0060) &&( lastClosedClosePrice()<beforelastClosedClosePrice()) ) )
{ closeshort("eurusd") ;}.
CLOSESHORT関数は 以下の通りです。
int CLOSESHORT(string symbol_c) {
CloseAllPositions(symbol_c,OP_SELL,MagicNumberShort);
CloseAllPositions(symbol_c,OP_SELL,MagicNumberShort);
return(0);
} .
ありがとうございます。
今、混乱しています。
最初の関数 lastOpenedOpenPriceBuy() についてのご返答でしょうか?
今のところそれしか対応できないかもしれません。で、具体的にどんな修正をしていたのか。今はどんなコードになっているのでしょうか?
今、私は混乱しています。
あなただけではありません......時間を無駄にするのはやめましょう。
このスレッドは、おそらく最も長いスレッドです。 そして、6ページの後、混乱しています。 いいえ、私はまだそれが "無駄 "ではないと言う。
(それはただ、新しい方向性、新しい人生、新しい始まりの時期ということです。 誰にとっても)
私はこのスレッドに時間を費やしてきました、私はコードを追加し、提案を行いました。馬を水に引きずり込み、干し草で味付けし、リンゴを加えてもまだ飲みたがらないときは、馬が飲みたがっていないことに気づくときです ... 水分の摂取のために点滴をしたいのです ... その時点で、私の知る限り、馬は自分でやるしかないのです。
なるほど。最終的な報酬は、馬に栄養を与えるという "運命 "ではないかもしれませんが、その分、努力した人への報酬があるんですね。
馬に感謝します。
diostar さん、ありがとうございます。
今、私は85%のバグを修正しました。
1- 4つの関数を 作りました(このページの最後にあります)。
*lastOpenedOpenPriceBuy()
*lastOpenedOpenPriceSell()
*lastClosedClosePrice()
*beforelastClosedClosePrice()
2- 最初の問題に直面しました。
を追加して修正しました。
3- 2番目の問題は、以下の通りです。
もし私が&&(lastClosedClosePrice() < beforelastClosedClosePrice()) を削除すれば、 すべてがうまくいくでしょう 。
で問題ありません。
*((lastOpenedOpenPriceBuy()-lastOpenedOpenPriceSell())>=0.0060)の場合、問題なく動作します。
*(((最終OpenPriceBuy()+最終OpenPriceSell())/2)<マーケット情報("EURUSD",MODE_BID))
唯一の問題は&&(lastClosedClosePrice()< beforelastClosedClosePrice()) で発生します。
例を挙げてみましょう。
注文番号5が開いて売りであり、注文番号6が開いて閉じて買いであった場合、注文番号7が開いて買いであった場合。
この場合、(lastClosedClosePrice()< beforelastClosedClosePrice()) となります。
( 注文番号6 < 注文番号4 ) // 注文番号5がまだ閉じていないので。
どうすればいいのでしょうか? if(OrdersHistoryTotal()>0){theninsert all the conditions }
を使おうとしたのですが、ダメでした。
これは私が提案したもの でも なければ、「私たち」が作ったものでもありません。これは100%あなたのものです。