[警告は閉鎖されました!】フォーラムを乱雑にしないために、どんな初心者の質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしでは、どこにも行けない。 - ページ 341 1...334335336337338339340341342343344345346347348...1145 新しいコメント Stepan241 2009.12.08 15:56 #3401 初心者の皆様へここで議論されているいくつかの質問は、非常に具体的で、本当にヒントとヘルプに値するものです。しかし、いくつかの、まあ、率直に言って、いくつかのEXPERTライターがMCLの教科書を読んでさえいないプログラミングを開始するという事実から生じる。HINT: チュートリアル(5 mb)をダウンロードして読めば、フォーラムからの回答を待つ必要はなく、頭の中に入っているはずです。 Oleg 2009.12.08 16:00 #3402 costy_ >> : 保存された表示パラメータは、テンプレートの初期化時に一度だけインジケータに「入力」され、その後「完全に独立する」/。 変更したインジケータパラメータは全てテンプレートに保存されますので、インジケータパラメータを変更した場合は、テンプレートを再保存してください。 >> ありがとうございました Stepan241 2009.12.08 16:04 #3403 mazepa 2009.12.08 17:42 ANSWER: on the CODE! もし私がこのアルゴリズムを理解していれば、設定した時間に買い(売り)を建て、価格が反対方向に10pips以上通過していれば、注文を閉じて反対方向に立つということになります。 クロージングには、私独自のユニバーサル機能を使っています。 //Function for all market orders in------------------------------------------------------------------------------ void _CloseAllOrder() { for(int i=0; i<OrdersTotal(); i++) //すべての通貨の注文をクロス { if (OrderSelect(i,SELECT_BY_POS)==true) //注文が正常に選択されたら { if (OrderSymbol() !i) //注文が成功したら { If (OrderSymbol() !i) //注文が成功したら { If (OrderSymbol() !i)//注文が成功したら If (OrderSymbol()!=Symbol()) continue; //通貨が違う注文の 場合、検索を継続 { switch(OrderType()) //必要な注文で、タイプ(Bue_Sell)を判断してクローズ { case 0: case 1:OrderClose(OrderTicket(),OrderLots(),Bid,2);break; } } } } return; } これで、反対方向に開く前に、_CloseAllOrder()と記述するだけでよいわけです。 [WARNING CLOSED!] Any newbie コーディングのヘルプ コーディングヘルプ...アラートの代わりにインジケータをフィルタリングする方法を教えてください。 削除済み 2009.12.08 16:23 #3404 友よ、私はただ学んでいるだけだ。プログラムの中身は見ないで、プログラムのバグを見つけるのに協力してください。 int start() { switch(CurrentState) { case STATE_SHORT: MyOrderTicket =OrderSend(Symbol(), OP_SELL, Lots, Bid, 1, 0, 0,NULL, 1, 0, Red); OrderSelect(MyOrderTicket,SELECT_BY_TICKET); if (オーダーモディファイ(OrderTicket(),OrderOpenPrice(),Bid+90*ポイント,Bid-Profit1*ポイント,0,Green) ==true) {CurrentState=STATE_1; break; } case STATE_1: OrderSelect(MyOrderTicket,SELECT_BY_TICKET); if(Ask <= OrderTakeProfit()) {CurrentState=STATE_SHORT; break; } if(Bid >= (OrderOpenPrice()+Profit1*Point) {CurrentState=STATE_SHORT; break; } } //---- return(0); } エラーは以下の通りです。\左括弧のバランスが 悪い。どこにエラーがあるのか? [WARNING CLOSED!] Any newbie [アーカイブ!】どんなルーキーの質問でも、フォーラムを散らかさないように。プロフェッショナルの皆さん、通り過ぎないでください。あなたなしではどこにも行けない - 2. 初心者の方からの質問 MQL4 MT4 MetaTrader TheXpert 2009.12.08 16:27 #3405 Klinskih >> : 友よ、私はただ学んでいるだけだ。プログラムの中身は見ないで、プログラムのバグを見つけるのに協力してください。 了解です。 if(Bid >= (OrderOpenPrice()+ Profit1*Point) が必要です。 if(Bid >= OrderOpenPrice()+ Profit1*Point) costy_ 2009.12.08 16:46 #3406 各メモリセルに書き込みを行わずに1次元配列を宣言する方法(可能かどうか) ии[1]=ExtMapBuffer1[0]; ии[2]=ExtMapBuffer2[0]; ии[3]=ExtMapBuffer3[0]; が、1次元の数列によって ии[3]={ExtMapBuffer1[0],ExtMapBuffer2[0],ExtMapBuffer3[0]} それとも一次元配列は数値と論理定数のみなのか!!!? 削除済み 2009.12.08 16:52 #3407 TheXpert >> : 了解です。 >> しなければならない。 ありがとう、友よ! Aleksey Lebedev 2009.12.08 19:32 #3408 future >> : もう1つ質問です。If (OrdersTotal()==0) this...未決済注文の数がゼロの場合...では、その日の注文数がゼロの場合はどうなるのでしょう。 OrdersDayTotalのようなものはないのでしょうか? いいえ、しかし、我々は常に独自の関数を書くことができます) int OrdersDayTotal(string Symb) { int cnt, OrdersDayTotal=0, Time0=iTime(NULL,PERIOD_D1,0); for( cnt=0; cnt<OrdersTotal(); cnt++) { OrderSelect( cnt, SELECT_BY_POS, MODE_TRADES); if(OrderSymbol()== Symb && OrderType()<2) { if(OrderOpenTime()> Time0) OrdersDayTotal++; } } for( cnt=0; cnt<OrdersHistoryTotal(); cnt++) { OrderSelect( cnt, SELECT_BY_POS, MODE_HISTORY); if(OrderSymbol()== Symb && OrderType()<2) { if(OrderOpenTime()> Time0) OrdersDayTotal++; } } return( OrdersDayTotal); } 指定されたシンボルに対して、本日開始された買い注文と売り注文をカウントします。未決済の注文はありません。 if(OrdersDayTotal(Symbol())==0){...}。 というような) Mazepa 2009.12.08 20:58 #3409 Stepan241 >> : マゼパ 2009.12.08 17:42 ANSWER: オンCOD! アルゴリズムを理解すると、設定した時間に買い(売り)を建て、価格が反対方向に10pips以上通過したら、注文を閉じて反対側に行くということです。 自分で作ったユニバーサル機能を使って閉じています。 //Function to close all market orders in window -------------------------------------------------------------------------------- void _CloseAllOrder() { for(int i=0; i<OrdersTotal(); i++) //全通貨の全注文を取り出す。 { if (OrderSelect(i,SELECT_BY_POS)==true) //注文が正常に選択された場合 { if (OrderSymbol()!=Symbol()) continue; //注文の通貨が誤っている場合、検索を続行します。 { switch(OrderType()) //必要な注文が出されたら、そのタイプ(Bue_Sell)を定義して閉じる { case 0:OrderClose(OrderTicket(),OrderLots(),Bid,2);break; case 1:OrderClose(OrderTicket(),OrderLots(),Ask,2);break; } } } } を返します。 } そこで、今度は逆に開く前に_CloseAllOrder() を書けばいいのです この機能は爆弾です......数ページで終わりました。 ありがとうございました。 Mazepa 2009.12.08 20:58 #3410 Stepan241 >> : マゼパ 2009.12.08 17:42 ANSWER: オンCOD! アルゴリズムを理解すると、設定した時間に買い(売り)をオープンし、価格が反対方向に10pips以上動いた場合、注文を閉じて反対方向に動きます。 クロージングには、私独自のユニバーサル機能を使っています。 //Function to close all market orders in window -------------------------------------------------------------------------------- void _CloseAllOrder() { for(int i=0; i<OrdersTotal(); i++) //全通貨の全注文を取り出す。 { if (OrderSelect(i,SELECT_BY_POS)==true) //オーダーが正常に選択された場合 { if (OrderSymbol()!=Symbol()) continue; //注文の通貨が誤っている場合、検索を続行します。 { switch(OrderType()) //必要な注文が出されたら、そのタイプ(Bue_Sell)を定義して閉じる { case 0:OrderClose(OrderTicket(),OrderLots(),Bid,2);break; case 1:OrderClose(OrderTicket(),OrderLots(),Ask,2);break; } } } } を返します。 } そこで、今度は逆に開く前に_CloseAllOrder() を書けばいいのです この機能は爆弾です......数ページで終わりました。 ありがとうございました。 1...334335336337338339340341342343344345346347348...1145 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
保存された表示パラメータは、テンプレートの初期化時に一度だけインジケータに「入力」され、その後「完全に独立する」/。
変更したインジケータパラメータは全てテンプレートに保存されますので、インジケータパラメータを変更した場合は、テンプレートを再保存してください。
>> ありがとうございました
mazepa 2009.12.08 17:42
ANSWER: on the CODE!
もし私がこのアルゴリズムを理解していれば、設定した時間に買い(売り)を建て、価格が反対方向に10pips以上通過していれば、注文を閉じて反対方向に立つということになります。
クロージングには、私独自のユニバーサル機能を使っています。
//Function for all market orders in------------------------------------------------------------------------------
void _CloseAllOrder()
{
for(int i=0; i<OrdersTotal(); i++) //すべての通貨の注文をクロス
{
if (OrderSelect(i,SELECT_BY_POS)==true) //注文が正常に選択されたら
{
if (OrderSymbol() !i) //注文が成功したら { If (OrderSymbol() !i) //注文が成功したら { If (OrderSymbol() !i)//注文が成功したら If (OrderSymbol()!=Symbol()) continue; //通貨が違う注文の 場合、検索を継続
{
switch(OrderType()) //必要な注文で、タイプ(Bue_Sell)を判断してクローズ
{
case 0:
case 1:OrderClose(OrderTicket(),OrderLots(),Bid,2);break;
}
}
}
}
return;
}
これで、反対方向に開く前に、_CloseAllOrder()と記述するだけでよいわけです。
友よ、私はただ学んでいるだけだ。プログラムの中身は見ないで、プログラムのバグを見つけるのに協力してください。
int start()
{
switch(CurrentState)
{
case STATE_SHORT:
MyOrderTicket =OrderSend(Symbol(), OP_SELL, Lots, Bid, 1, 0, 0,NULL, 1, 0, Red);
OrderSelect(MyOrderTicket,SELECT_BY_TICKET);
if (オーダーモディファイ(OrderTicket(),OrderOpenPrice(),Bid+90*ポイント,Bid-Profit1*ポイント,0,Green) ==true)
{CurrentState=STATE_1;
break;
}
case STATE_1:
OrderSelect(MyOrderTicket,SELECT_BY_TICKET);
if(Ask <= OrderTakeProfit())
{CurrentState=STATE_SHORT;
break;
}
if(Bid >= (OrderOpenPrice()+Profit1*Point)
{CurrentState=STATE_SHORT;
break;
}
}
//----
return(0);
}
エラーは以下の通りです。\左括弧のバランスが 悪い。どこにエラーがあるのか?
友よ、私はただ学んでいるだけだ。プログラムの中身は見ないで、プログラムのバグを見つけるのに協力してください。
了解です。
が必要です。
各メモリセルに書き込みを行わずに1次元配列を宣言する方法(可能かどうか)
が、1次元の数列によって
それとも一次元配列は数値と論理定数のみなのか!!!?
了解です。
>> しなければならない。
ありがとう、友よ!
もう1つ質問です。If (OrdersTotal()==0) this...未決済注文の数がゼロの場合...では、その日の注文数がゼロの場合はどうなるのでしょう。
OrdersDayTotalのようなものはないのでしょうか?
いいえ、しかし、我々は常に独自の関数を書くことができます)
指定されたシンボルに対して、本日開始された買い注文と売り注文をカウントします。未決済の注文はありません。
if(OrdersDayTotal(Symbol())==0){...}。
というような)
マゼパ 2009.12.08 17:42
ANSWER: オンCOD!
アルゴリズムを理解すると、設定した時間に買い(売り)を建て、価格が反対方向に10pips以上通過したら、注文を閉じて反対側に行くということです。
自分で作ったユニバーサル機能を使って閉じています。
//Function to close all market orders in window --------------------------------------------------------------------------------
void _CloseAllOrder()
{
for(int i=0; i<OrdersTotal(); i++) //全通貨の全注文を取り出す。
{
if (OrderSelect(i,SELECT_BY_POS)==true) //注文が正常に選択された場合
{
if (OrderSymbol()!=Symbol()) continue; //注文の通貨が誤っている場合、検索を続行します。
{
switch(OrderType()) //必要な注文が出されたら、そのタイプ(Bue_Sell)を定義して閉じる
{
case 0:OrderClose(OrderTicket(),OrderLots(),Bid,2);break;
case 1:OrderClose(OrderTicket(),OrderLots(),Ask,2);break;
}
}
}
}
を返します。
}
そこで、今度は逆に開く前に_CloseAllOrder() を書けばいいのです
この機能は爆弾です......数ページで終わりました。 ありがとうございました。マゼパ 2009.12.08 17:42
ANSWER: オンCOD!
アルゴリズムを理解すると、設定した時間に買い(売り)をオープンし、価格が反対方向に10pips以上動いた場合、注文を閉じて反対方向に動きます。
クロージングには、私独自のユニバーサル機能を使っています。
//Function to close all market orders in window --------------------------------------------------------------------------------
void _CloseAllOrder()
{
for(int i=0; i<OrdersTotal(); i++) //全通貨の全注文を取り出す。
{
if (OrderSelect(i,SELECT_BY_POS)==true) //オーダーが正常に選択された場合
{
if (OrderSymbol()!=Symbol()) continue; //注文の通貨が誤っている場合、検索を続行します。
{
switch(OrderType()) //必要な注文が出されたら、そのタイプ(Bue_Sell)を定義して閉じる
{
case 0:OrderClose(OrderTicket(),OrderLots(),Bid,2);break;
case 1:OrderClose(OrderTicket(),OrderLots(),Ask,2);break;
}
}
}
}
を返します。
}
そこで、今度は逆に開く前に_CloseAllOrder() を書けばいいのです
この機能は爆弾です......数ページで終わりました。 ありがとうございました。