どんな新人の質問でも、フォーラムを乱雑にしないように。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 6. - ページ 374 1...367368369370371372373374375376377378379380381...1178 新しいコメント Серега 2013.12.27 11:41 #3731 この状況を理解するのに役立っています。 テストF2において、Buf0[i]=iCCI(NULL,0,8,PRICE_OPEN,i-1)-iCCI(NULL,0,8,PRICE_OPEN,i);とすると全てうまくいくのはなぜでしょう? しかし、別のケースでは、testF1、同じアクションでBuf0[i]=iMA(NULL、0、8、0、MODE_EMA、PRICE_OPEN、i - 1)-iMA(NULL,0,8,1,MODE_SMA,PRICE_OPEN,i); 最後のバーは崩壊した? なぜそれがiCCIではなくiMA崩壊したバーで発生しないのだろう? 何か解決する方法はありますか? ファイル: testf1.mq4 1 kb testf2.mq4 1 kb Sergey Dzyublik 2013.12.27 12:14 #3732 Buf0[i]=iMA(NULL,0,8,0,MODE_EMA,PRICE_OPEN,i-1)-iMA(NULL,0,8,1,MODE_SMA,PRICE_OPEN,i); 無限大のYEMの場合、i=0のときに-1バーを計算するときにスローされます。 この方がいいんです。 Buf0[i]=iMA(NULL,0,8,0,MODE_EMA,PRICE_OPEN,i)-iMA(NULL,0,8,1,MODE_SMA,PRICE_OPEN,i+1); そして、あなたが引用した変形例のように、1-n bar 右にシフトする必要がある場合、SetIndexShift(0,1) を介して init で明示的に実装するのがよいでしょう。 Серега 2013.12.27 12:19 #3733 ALXIMIKS: Buf0[i]=iMA(NULL,0,8,0,MODE_EMA,PRICE_OPEN,i-1)-iMA(NULL,0,8,1,MODE_SMA,PRICE_OPEN,i); yem が無限大になると、i=0 のときに -1 bar を計算するときにスローされます。 この方がいいんです。 Buf0[i]=iMA(NULL,0,8,0,MODE_EMA,PRICE_OPEN,i)-iMA(NULL,0,8,1,MODE_SMA,PRICE_OPEN,i+1); そして、あなたが引用した変形例のように、1-n bar 右にシフトする必要がある場合、SetIndexShift(0,1) によって init で明示的にそれを実装する方がよいでしょう。 どうもありがとうございました。でも、よく理解できたのですが、なぜiCCIではOKでiMAではダメなのでしょうか? Vadim Pyankov 2013.12.27 12:28 #3734 if ((NormalizeDouble(priceopen+start*Point,Digits)<=Bid)&&(NormalizeDouble(Bid-sl*Point,Digits)>NormalizeDouble(dist*Point,Digits))) { sl=NormalizeDouble(Bid-dist*Point,Digits); Ekburg: の場合、価格から発注価格までの距離を計算しているので、価格から現在のストップまでの距離が必要です!) ショートが立っていれば1番目のブロックに、ロングが立っていれば2番目のブロックに、そしてトレーリングストップに誘導されます。 ショートが良ければ最初のブロックへ、ロングなら2番目のブロックへ、その後に計算、チェック、トレーリングストップとなります。 やっぱりできない...。長いのしか試さない、色々試しすぎて、何をしたか覚えてない)) Sergey Dzyublik 2013.12.27 12:38 #3735 clubsmi: どうもありがとうございました。でも、よくわかったのですが、なぜiCCIではうまくいって、iMAではうまくいかないのでしょうか? あちこちでミスがありましたが、iCCIの場合は計算のクセがあるので、目立たないだけなんです。 と、MA、特にEMAの適用が、その可視化につながると思います。 削除済み 2013.12.27 12:56 #3736 vadynik: それでも何も出てこない...。長いだけで、いろいろ試しすぎて、何をやったか覚えていない)) Slの代わりにOrderStopLoss()を入れる。 Джони Браво 2013.12.27 13:04 #3737 Vinin: チップで生活するのか? 専門家になるまで 今はチップは必要ないんでしょう?:) Alexey Semenov 2013.12.27 13:37 #3738 例えばEURAUDとAUDUSDの2つの買い または売りの注文を 出すプログラムがあります。このプログラムは、ターミナルにこれらのペアまたは他のペアの未決済注文がない場合にのみ動作します。ターミナルに注文が1つでもある場合、取引は開始されません。質問ですが、ターミナルに未決済の注文があるかどうかに関わらず、注文を開始するプログラムをどのように作成すればよいのでしょうか?ご回答をよろしくお願いいたします。 extern double lotAU=1.3; extern double lotEA=1.0; extern double Profit=30; extern int Operation=0; extern string Сomment = "KVAZ"; extern int Magic = 1111; //+------------------------------------------------------------------+ //| expert initialization function | //+------------------------------------------------------------------+ int init() { return(0); } //+------------------------------------------------------------------+ //| expert deinitialization function | //+------------------------------------------------------------------+ int deinit() { return(0); } //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ int start() { double prof; double bidEA = MarketInfo("EURAUD",MODE_BID); double askEA = MarketInfo("EURAUD",MODE_ASK); double bidAU = MarketInfo("AUDUSD",MODE_BID); double askAU = MarketInfo("AUDUSD",MODE_ASK); string symEA = "EURAUD"; string symAU = "AUDUSD"; for(int i=OrdersTotal()-1; i>=0; i--) { OrderSelect(i,SELECT_BY_POS); prof=prof+OrderProfit(); Print("Profit="+prof); } if(prof>=Profit) { for(i=OrdersTotal()-1; i>=0; i--) { OrderSelect(i,SELECT_BY_POS); { if(OrderSymbol()!=Symbol() || OrderMagicNumber()!=Magic) continue; OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),5,0); } } } if(OrdersTotal()==0) { if(Operation==0) { OrderSend(symEA,OP_BUY,lotEA,askEA,3,0,0,"KVAZ",Magic,0,Blue); OrderSend(symAU,OP_BUY,lotAU,askAU,3,0,0,"KVAZ",Magic,0,Blue); } if(Operation==1) { OrderSend(symEA,OP_SELL,lotEA,bidEA,3,0,0,"KVAZ",Magic,0,Red); OrderSend(symAU,OP_SELL,lotAU,bidAU,3,0,0,"KVAZ",Magic,0,Red); } } return(0); } Vitalie Postolache 2013.12.27 13:46 #3739 alexey1979621: 例えばEURAUDとAUDUSDの2つの買いまたは売りの注文を出すプログラムがあります。このプログラムは、ターミナルにこれらのペアまたは他のペアの未決済注文がない場合にのみ動作します。ターミナルに注文が1つでもある場合、取引は開始されません。質問ですが、ターミナルに未決済の注文があるかどうかに関わらず、注文を開始するプログラムをどのように作成すればよいのでしょうか?ご回答をよろしくお願いいたします。 チェックを外す if(OrdersTotal()==0) Alexey Semenov 2013.12.27 14:16 #3740 evillive: チェックを外す しかし、EURAUDとAUDUSDのように、指定したペアで2つの取引を開くだけでよいのです。 1...367368369370371372373374375376377378379380381...1178 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
この状況を理解するのに役立っています。
テストF2において、Buf0[i]=iCCI(NULL,0,8,PRICE_OPEN,i-1)-iCCI(NULL,0,8,PRICE_OPEN,i);とすると全てうまくいくのはなぜでしょう?
しかし、別のケースでは、testF1、同じアクションでBuf0[i]=iMA(NULL、0、8、0、MODE_EMA、PRICE_OPEN、i - 1)-iMA(NULL,0,8,1,MODE_SMA,PRICE_OPEN,i); 最後のバーは崩壊した? なぜそれがiCCIではなくiMA崩壊したバーで発生しないのだろう?
何か解決する方法はありますか?
Buf0[i]=iMA(NULL,0,8,0,MODE_EMA,PRICE_OPEN,i-1)-iMA(NULL,0,8,1,MODE_SMA,PRICE_OPEN,i);
無限大のYEMの場合、i=0のときに-1バーを計算するときにスローされます。
この方がいいんです。
Buf0[i]=iMA(NULL,0,8,0,MODE_EMA,PRICE_OPEN,i)-iMA(NULL,0,8,1,MODE_SMA,PRICE_OPEN,i+1);
そして、あなたが引用した変形例のように、1-n bar 右にシフトする必要がある場合、SetIndexShift(0,1) を介して init で明示的に実装するのがよいでしょう。
Buf0[i]=iMA(NULL,0,8,0,MODE_EMA,PRICE_OPEN,i-1)-iMA(NULL,0,8,1,MODE_SMA,PRICE_OPEN,i);
yem が無限大になると、i=0 のときに -1 bar を計算するときにスローされます。
この方がいいんです。
Buf0[i]=iMA(NULL,0,8,0,MODE_EMA,PRICE_OPEN,i)-iMA(NULL,0,8,1,MODE_SMA,PRICE_OPEN,i+1);
そして、あなたが引用した変形例のように、1-n bar 右にシフトする必要がある場合、SetIndexShift(0,1) によって init で明示的にそれを実装する方がよいでしょう。
どうもありがとうございました。でも、よく理解できたのですが、なぜiCCIではOKでiMAではダメなのでしょうか?
の場合、価格から発注価格までの距離を計算しているので、価格から現在のストップまでの距離が必要です!)
ショートが立っていれば1番目のブロックに、ロングが立っていれば2番目のブロックに、そしてトレーリングストップに誘導されます。
ショートが良ければ最初のブロックへ、ロングなら2番目のブロックへ、その後に計算、チェック、トレーリングストップとなります。
やっぱりできない...。長いのしか試さない、色々試しすぎて、何をしたか覚えてない))
どうもありがとうございました。でも、よくわかったのですが、なぜiCCIではうまくいって、iMAではうまくいかないのでしょうか?
あちこちでミスがありましたが、iCCIの場合は計算のクセがあるので、目立たないだけなんです。
と、MA、特にEMAの適用が、その可視化につながると思います。
それでも何も出てこない...。長いだけで、いろいろ試しすぎて、何をやったか覚えていない))
Slの代わりにOrderStopLoss()を入れる。
チップで生活するのか?
今はチップは必要ないんでしょう?:)
例えばEURAUDとAUDUSDの2つの買い または売りの注文を 出すプログラムがあります。このプログラムは、ターミナルにこれらのペアまたは他のペアの未決済注文がない場合にのみ動作します。ターミナルに注文が1つでもある場合、取引は開始されません。質問ですが、ターミナルに未決済の注文があるかどうかに関わらず、注文を開始するプログラムをどのように作成すればよいのでしょうか?ご回答をよろしくお願いいたします。
例えばEURAUDとAUDUSDの2つの買いまたは売りの注文を出すプログラムがあります。このプログラムは、ターミナルにこれらのペアまたは他のペアの未決済注文がない場合にのみ動作します。ターミナルに注文が1つでもある場合、取引は開始されません。質問ですが、ターミナルに未決済の注文があるかどうかに関わらず、注文を開始するプログラムをどのように作成すればよいのでしょうか?ご回答をよろしくお願いいたします。
チェックを外す
チェックを外す