[ARCHIVE] フォーラムを散らかさないように、どんなルーキーでも質問してください。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 3. - ページ 458 1...451452453454455456457458459460461462463464465...652 新しいコメント Всеволод 2011.12.27 05:08 #4571 mamba5:EAのテスト中にエラー130 - 間違った停止位置が表示されました。NewOrder関数では、外部変数TakeProfitとStopLossが渡されるはずで、これを達成するためにあらゆることを行ったように思えますが、印刷が示すようにゼロが渡されています。このエラーの原因がここにあることは理解しているのですが、まだ見つけることができていません。よろしくお願いします。 extern int TakeProfit=100; extern int StopLoss=100。NewOrder(OP_BUYSTOP, Lot, TakeProfit, StopLoss); NewOrder(OP_SELLSTOP, Lot, TakeProfit, StopLoss)です。int NewOrder(int Cmd,double Lot,int TakeProfit,int StopLoss) ここでの問題は、グローバル変数 StopLossがあり、それらがパラメータとしてプロシージャに渡されていることです。プロシージャの中で名前を変更するのがよいでしょう。 fore-x 2011.12.27 05:33 #4572 fore-x: Как в mql4 из одного индикатора управлять более чем 8 буферами обмена, существует ли способ обхода данного ограничения? Ну, как пример, мне нужно построить более 8 индикаторных линий, но из одной программы. ずん子。 トレンドライン さらに詳細は?せめて、どこで読めるかリンクを教えてください。 削除済み 2011.12.27 09:07 #4573 splxgf: ここでの問題は、グローバルなStopLoss変数があり、それがパラメータとしてプロシージャに渡されていることです。手順で名前を変えておくとよいでしょう。 おっしゃるとおりです。本当はもっと論理的なんです。修正しました。 //+----------Функция открытия ордера-----------------------------------+ int NewOrder(int Cmd,double Lot,int TaPr,int StLo) { double TP=0;// тейкпрофит double SL=0;// стоплос double PR=0;// цена while(!IsTradeAllowed())Sleep(100); if(TaPr<MarketInfo(Symbol(),MODE_STOPLEVEL)) TaPr=MarketInfo(Symbol(),MODE_STOPLEVEL); if(StLo<MarketInfo(Symbol(),MODE_STOPLEVEL)) StLo=MarketInfo(Symbol(),MODE_STOPLEVEL); if(Cmd==OP_BUY) { PR=NormalizeDouble(Ask, Digits); if(TaPr>0)TP=NormalizeDouble(Ask,Digits)+NormalizeDouble(TaPr*Point,Digits); if(StLo>0)SL=NormalizeDouble(Bid,Digits)-NormalizeDouble(StLo*Point,Digits); } if(Cmd==OP_SELL) { PR=NormalizeDouble(Bid, Digits); if(TaPr>0)TP=NormalizeDouble(Bid,Digits)-NormalizeDouble(TaPr*Point,Digits); if(StLo>0) SL=NormalizeDouble(Ask,Digits)+NormalizeDouble(StLo*Point,Digits); } Print("TaPr=",TaPr," StLo=",StLo," StopLevel=",MarketInfo(Symbol(),MODE_STOPLEVEL)); tic=OrderSend(Symbol(),Cmd,Lot,PR,3,SL,TP,"",0,0,CLR_NONE); if(tic<0)Print("ошибка открытия ордера:",GetLastError()); Print("Cmd-",Cmd," Lot=",Lot," PR=",PR," SL=",SL," TP=",TP); return(tic); } でも、あまり役に立たなかった。TaPr、StLo=100なのに、PR、SL、TPがなぜか0に......。 ファイル: bigidogo1.03a.mq4 5 kb Mamed Mamedov 2011.12.27 09:08 #4574 こんにちは、注文が一度だけ開くように条件を書くのを手伝ってくれませんか、この時点ではすべてのティックで開きます topOrder=OrderSend(Symbol(),OP_BUYSTOP,1,Hinput,3,Price_high-(height_box/100*sl),Price_high+(height_box/100*tp),"my order #",16384,0,Green); if (topOrder<0) { Print("Верхний ордер ошибка #", GetLastError()); return(0); } ただ、こんな感じで、すでに注文が決まっている場合、OrderCommentがないと次の注文を開けないので、まだどうしたらいいのかわかりません ありがとうございました。 Vadim Zhunko 2011.12.27 09:35 #4575 fore-x: 詳細はいかがでしょうか。せめて、どこで読めるかリンクを教えてください。 。 何のリンク?棒グラフとトレンド ラインを結ぶのです。そうすれば、不具合のあるバッファーから独立できます。 削除済み 2011.12.27 09:41 #4576 artmedia70: 自分でチャートに貼らない限り、EA中に反映されることはありません。どうやったんですか? テスターでEAを動かしているのですが、テスターが終了するとインジケーターの線の 情報が表示されます。 Victor Nikolaev 2011.12.27 09:59 #4577 mamba5: その通りです。その方が理にかなっていると思います。修正しました。 でも、あまり役に立たなかった。TaPr、StLo=100ですが、PR、SL、TPはなぜか0です NewOrder(OP_BUYSTOP, Lot, TakeProfit, StopLoss); NewOrder(OP_SELLSTOP, Lot, TakeProfit, StopLoss); if(Cmd==OP_BUY) { PR=NormalizeDouble(Ask, Digits); if(TaPr>0)TP=NormalizeDouble(Ask,Digits)+NormalizeDouble(TaPr*Point,Digits); if(StLo>0)SL=NormalizeDouble(Bid,Digits)-NormalizeDouble(StLo*Point,Digits); } if(Cmd==OP_SELL) { PR=NormalizeDouble(Bid, Digits); if(TaPr>0)TP=NormalizeDouble(Bid,Digits)-NormalizeDouble(TaPr*Point,Digits); if(StLo>0) SL=NormalizeDouble(Ask,Digits)+NormalizeDouble(StLo*Point,Digits); } 削除済み 2011.12.27 12:18 #4578 損切りトレードの計算方法を教えてください。 つまり、ストップロスで決済されたトレード。 をクリックし、利益確定後にカウンターをリセットします。 I.e. Take Profitで決済した後、カウンターをゼロにリセットする。 カウンタ初期桁=1 int Schetcik = 1; 買いも売りも、すべての取引をカウントすること。 削除済み 2011.12.27 12:51 #4579 Vinin: ありがとうございました。)))ここまで明確に比較しないと、間違いに気づけなかった。 Victor Nikolaev 2011.12.27 13:12 #4580 belck: 損切りの計算方法を教えてください。 つまり、ストップロスで決済されたトレード。 をクリックし、利益確定後にカウンターをリセットします。 I.e. Take Profitで決済した後、カウンターをゼロにリセットする。 カウンタ初期桁=1 買いも売りも、すべての取引をカウントすること。 ストップロスで決済しても、トレードが負けるわけではありませんし、その逆も然りです。もちろん、ストップ&テイクがオープニングで設定され、それ以降手をつけていない場合は別ですが。 1...451452453454455456457458459460461462463464465...652 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
EAのテスト中にエラー130 - 間違った停止位置が表示されました。NewOrder関数では、外部変数TakeProfitとStopLossが渡されるはずで、これを達成するためにあらゆることを行ったように思えますが、印刷が示すようにゼロが渡されています。このエラーの原因がここにあることは理解しているのですが、まだ見つけることができていません。よろしくお願いします。
extern int TakeProfit=100;
extern int StopLoss=100。
NewOrder(OP_BUYSTOP, Lot, TakeProfit, StopLoss);
NewOrder(OP_SELLSTOP, Lot, TakeProfit, StopLoss)です。
int NewOrder(int Cmd,double Lot,int TakeProfit,int StopLoss)
ここでの問題は、グローバル変数 StopLossがあり、それらがパラメータとしてプロシージャに渡されていることです。プロシージャの中で名前を変更するのがよいでしょう。
ずん子。
トレンドライン
ここでの問題は、グローバルなStopLoss変数があり、それがパラメータとしてプロシージャに渡されていることです。手順で名前を変えておくとよいでしょう。
でも、あまり役に立たなかった。TaPr、StLo=100なのに、PR、SL、TPがなぜか0に......。おっしゃるとおりです。本当はもっと論理的なんです。修正しました。
こんにちは、注文が一度だけ開くように条件を書くのを手伝ってくれませんか、この時点ではすべてのティックで開きます
ただ、こんな感じで、すでに注文が決まっている場合、OrderCommentがないと次の注文を開けないので、まだどうしたらいいのかわかりません
ありがとうございました。
詳細はいかがでしょうか。せめて、どこで読めるかリンクを教えてください。 。
自分でチャートに貼らない限り、EA中に反映されることはありません。どうやったんですか?
でも、あまり役に立たなかった。TaPr、StLo=100ですが、PR、SL、TPはなぜか0ですその通りです。その方が理にかなっていると思います。修正しました。
損切りトレードの計算方法を教えてください。
つまり、ストップロスで決済されたトレード。
をクリックし、利益確定後にカウンターをリセットします。
I.e. Take Profitで決済した後、カウンターをゼロにリセットする。
カウンタ初期桁=1
買いも売りも、すべての取引をカウントすること。
ありがとうございました。)))ここまで明確に比較しないと、間違いに気づけなかった。
損切りの計算方法を教えてください。
つまり、ストップロスで決済されたトレード。
をクリックし、利益確定後にカウンターをリセットします。
I.e. Take Profitで決済した後、カウンターをゼロにリセットする。
カウンタ初期桁=1
買いも売りも、すべての取引をカウントすること。
ストップロスで決済しても、トレードが負けるわけではありませんし、その逆も然りです。もちろん、ストップ&テイクがオープニングで設定され、それ以降手をつけていない場合は別ですが。