[アーカイブ!】どんなルーキーの質問でも、フォーラムを散らかさないように。プロフェッショナルの皆さん、通り過ぎないでください。あなたなしではどこにも行けない - 2. - ページ 67 1...606162636465666768697071727374...537 新しいコメント Артур 2011.02.07 03:37 #661 スクリプトに行を追加したのですが(BUYSTOPとSELLSTOPを追加)、コンパイルができず、エラーが発生します。何が問題なのか、教えていただけませんか? #property copyright"Copyright © 2010, Khlystov Vladimir". #プロパティリンク "cmillion@narod.ru" #property show_inputs //-------------------------------------------------------------------- extern int stoploss = 0, //SLのレベル、0ならSLは出展されません。 extern int takeprofit = 0, //t TPレベル、0ならTP非展示 extern int Magic = 123456; //注文番号 extern bool BUY = false; //買いの注文を出す extern bool SELL = false; //売りの注文を出す extern bool BUYSTOP = false, //BUYSTOP注文を開始する。 extern bool SELLSTOP = false, //SELLSTOP注文を開始する。 extern double Lot = 0.1; // 注文数量 extern int slippage = 3; //成行注文で許容される最大限の価格偏差 //-------------------------------------------------------------------- ダブルSL,TP。 //-------------------------------------------------------------------- int start() { なら { if (takeprofit!=0) TP = NormalizeDouble(Ask + takeprofit*Point,Digits);さもなければ TP=0; if (stoploss!=0) SL = NormalizeDouble(Ask - stoploss*Point,Digits); else SL=0; OPENORDER(以下、「買付」。) } 売ったら { if (takeprofit!=0) TP = NormalizeDouble(Bid - takeprofit*Point,Digits); else TP=0; if (stoploss!=0) SL = NormalizeDouble(Bid + stoploss*Point,Digits); else SL=0; OPENORDER(以下、「売り」)。 } イフ (BUYSTOP) { if (takeprofit!=0) TP = NormalizeDouble(Ask + takeprofit*Point,Digits);さもなければ TP=0; if (stoploss!=0) SL = NormalizeDouble(Ask - stoploss*Point,Digits); else SL=0; OPENORDER(以下、「バイ・ストップ」という。) } if (SELLSTOP) { if (takeprofit!=0) TP = NormalizeDouble(Bid - takeprofit*Point,Digits); else TP=0; if (stoploss!=0) SL = NormalizeDouble(Bid + stoploss*Point,Digits); else SL=0; OPENORDER(「売りストップ」)。 } return(0)です。 } //-------------------------------------------------------------------- void OPENORDER(string ord) { int error,err; 内 {error=true。 if (ord=="Buy" ) error=OrderSend(Symbol(),OP_BUY,Lot,NormalizeDouble(Ask,Digits),slippage,SL,TP, "BUY",Magic,0,Blue); if (ord=="Sell") error=OrderSend(Symbol(),OP_SELL,Lot,NormalizeDouble(Bid,Digits),slippage,SL,TP, "SELL",Magic,0,Red); if (ord=="BuyStop" ) error=OrderSend(Symbol(),OP_BUYSTOP, Lot,NormalizeDouble(Ask,Digits),SL,TP, "BUYSTOP",Magic,0,Blue); if (ord=="SellStop") error=OrderSend(Symbol(),OP_SELLSTOP,Lot,NormalizeDouble(Bid,Digits),SL,TP, "SELLSTOP",Magic,0,Red); if (error==-1) //買い付け失敗 OK { ShowERROR()。 err++;Sleep(2000);RefreshRates()。 } if (error || err >10) return; } を返します。 } //-------------------------------------------------------------------- void ShowERROR() { int err=GetLastError(); スイッチ ( err ) { case 1: return; case 2: Alert("No connection to the trade server ",Symbol());リターン。 case 3: Alert("Error incorrect parameters ",Symbol());戻り。 case 130: Alert("Error close Ticket stops ",Symbol());戻り。 case 134: Alert("Not enough money ",Symbol());return。 case 146: Alert("Error Trade Subsystem is busy ",Symbol());戻り。 case 129: Alert("Error Wrong price ",Symbol());戻り。 case 131: Alert("Error Incorrect volume ",Symbol());戻り。 case 4200:Alert("Error Object already exists ",Symbol());return。 default: Alert("Error ",err," ",Symbol());戻り。 } } //-------------------------------------------------------------------- ありがとうございました。 [Archive!] Any rookie question, 100% Risk Free Margin [WARNING CLOSED!] Any newbie Freelance 2011.02.07 03:43 #662 nemo811: 演算子を「,」ではなく「;」で終わらせることはできますか? Артур 2011.02.07 03:47 #663 FreeLance: 演算子を「,」ではなく「;」で終わらせることはできますか? ありがとうございます、勉強中です :)))ありがとうございます。 Freelance 2011.02.07 03:51 #664 nemo811: ありがとうございます、勉強中です :)))ありがとうございます。 ありがとうございます!自分もそうなんですけど...。;) Артур 2011.02.07 04:00 #665 FreeLance: ありがとうございます!自分もそうなんですけど...。;) :))))さらに燃える質問です。このスクリプトは、成行注文を開きますが、未決済注文は出しません。また失敗してしまった。何が問題なのか、教えていただけませんか? Freelance 2011.02.07 04:02 #666 nemo811: :))))さらに切実な問題です。このスクリプトは、成行注文を開きますが、未決済注文は出しません。また失敗してしまった。何が問題なのか、教えてください。 その背景にあるトレーディングの考え方とは? Артур 2011.02.07 04:07 #667 手動で設定した注文を無視するEAがあるのですが、どうしたらいいですか?私が修正しようとしているスクリプトは、「手動」注文を魔法のパラメータを持つ注文に変えるように設計されています。そういうことです)。 Freelance 2011.02.07 04:13 #668 nemo811: 手動で設定した未決済注文を無視するEAがあるのですが、どうしたらいいですか?私が修正しようとしているスクリプトは、「手動」注文をマジックパラメーター付きの注文に変えるために設計されています。そういうことです)。 おやすみなさい! わからなくて......だから、先延ばしにしていたんです。 でも、あなたも、ゆっくり時間をかけて、数学を勉強してください。 言語も操作対象もシンプルに...。 実行は時々ダサい? つまり、双方に弛緩があるわけです。 ;) Артур 2011.02.07 05:27 #669 上記のコードを修正しました。ペンダントはセットされていません。エラーを見つけるのに苦労しています。 #property copyright"著作権 © 2010, Khlystov Vladimir". #プロパティリンク "cmillion@narod.ru" #property show_inputs //-------------------------------------------------------------------- extern int stoploss = 0; //SLのレベル、0ならSLは表示されない extern int int takeprofit = 0; //t TPレベル、0ならTP非展示 extern int int Magic = 123456; //注文番号 extern bool BUY = false; //買いの注文を出す extern bool SELL = false; //売りの注文を出す extern bool BUYSTOP = false; //BUYSTOP注文を開始します。 extern bool SELLSTOP = false; //SELLSTOP注文を開始します。 extern double Lot = 0.1; // 注文数量 extern int slippage = 3; //成行注文で許容される最大限の価格偏差 extern int DistanceSet = 20; //市場距離 //-------------------------------------------------------------------- ダブルSL,TP。 //-------------------------------------------------------------------- int start() { なら { if (takeprofit!=0) TP = NormalizeDouble(Ask + takeprofit*Point,Digits);さもなければ TP=0; if (stoploss!=0) SL = NormalizeDouble(Ask - stoploss*Point,Digits); else SL=0; OPENORDER(以下、「買付」。) } 売ったら { if (takeprofit!=0) TP = NormalizeDouble(Bid - takeprofit*Point,Digits); else TP=0; if (stoploss!=0) SL = NormalizeDouble(Bid + stoploss*Point,Digits); else SL=0; OPENORDER(以下、「売り」)。 } イフ (BUYSTOP) { if (takeprofit!=0) TP = NormalizeDouble(Ask + takeprofit*Point,Digits);さもなければ TP=0; if (stoploss!=0) SL = NormalizeDouble(Ask - stoploss*Point,Digits); else SL=0; OPENORDER(以下、「バイ・ストップ」という。) } if (SELLSTOP) { if (takeprofit!=0) TP = NormalizeDouble(Bid - takeprofit*Point,Digits); else TP=0; if (stoploss!=0) SL = NormalizeDouble(Bid + stoploss*Point,Digits); else SL=0; OPENORDER(「売りストップ」)。 } return(0)です。 } //-------------------------------------------------------------------- void OPENORDER(string ord) { int error,err; 内 {error=true。 if (ord=="Buy" ) error=OrderSend(Symbol(),OP_BUY,Lot,NormalizeDouble(Ask,Digits),slippage,SL,TP,"",Magic,0); if (ord=="Sell") error=OrderSend(Symbol(),OP_SELL,Lot,NormalizeDouble(Bid,Digits),slippage,SL,TP,",Magic,0); if (ord=="BuyStop" ) error=OrderSend(Symbol(),OP_BUYSTOP, Lot,NormalizeDouble(Ask + DistanceSet*Point,Digits),slippage,SL,TP,"",Magic,0); if (ord=="SellStop") error=OrderSend(Symbol(),OP_SELLSTOP,Lot,NormalizeDouble(Bid - DistanceSet*Point,Digits),slippage,SL,TP,"",Magic,0); if (error==-1) //買い付け失敗 OK { ShowERROR()。 err++;Sleep(2000);RefreshRates()。 } if (error || err >10) return; } を返します。 } //-------------------------------------------------------------------- void ShowERROR() { int err=GetLastError(); スイッチ ( err ) { case 1: return; case 2: Alert("No connection to the trade server ",Symbol());リターン。 case 3: Alert("Error incorrect parameters ",Symbol());戻り。 case 130: Alert("Error close Ticket stops ",Symbol());戻り。 case 134: Alert("Not enough money ",Symbol());return。 case 146: Alert("Error Trade Subsystem is busy ",Symbol());戻り。 case 129: Alert("Error Wrong price ",Symbol());戻り。 case 131: Alert("Error Incorrect volume ",Symbol());戻り。 case 4200:Alert("Error Object already exists ",Symbol());return。 default: Alert("Error ",err," ",Symbol());戻り。 } } //-------------------------------------------------------------------- ありがとうございます。 [Archive!] Any rookie question, 100% Risk Free Margin [WARNING CLOSED!] Any newbie Artyom Trishkin 2011.02.07 05:36 #670 Dimka-novitsek: もちろん、ご清聴ありがとうございました。 一生懸命考えて、ああでもないこうでもないと考えて、あなたは間違っています。 総じて、軸やビットに問題があるわけではないことがわかり、解決には至りませんでした。 それは、あなたの主張がとてもおかしいのです。思いの強さからリンゴは上に飛ばないが、頭の上に落ちてくる...。 そういう ものであり、それ以外の何ものでもない。 それとも、ある特定の国に住んでいて、すべてが厳密に逆になっているのでしょうか。利益 - 価値にマイナスがついているのでしょうか?1.0100で買い、1.0200で売る(この水準で取る、つまり買い値より 高く取る)ことを考えるのです。100ポイントの利益が出た。それ以外の方法はない。1.0000のレベルでテイクを設定しようとすると、エラー130 - 間違ったストップが表示されます。買付(OP_BUY)が始値より低くなることはありません。そしてストップは、まさにその逆で、買いポジションの始値より低くなければなりません。売りの場合はその逆で、テイクはオープンプライスより低く、ストップは高くなります。 数学だけでなく、中学1年生の算数も学ぶ必要があるようだ...。悪気はないんです。 1...606162636465666768697071727374...537 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
スクリプトに行を追加したのですが(BUYSTOPとSELLSTOPを追加)、コンパイルができず、エラーが発生します。何が問題なのか、教えていただけませんか?
#property copyright"Copyright © 2010, Khlystov Vladimir".
#プロパティリンク "cmillion@narod.ru"
#property show_inputs
//--------------------------------------------------------------------
extern int stoploss = 0, //SLのレベル、0ならSLは出展されません。
extern int takeprofit = 0, //t TPレベル、0ならTP非展示
extern int Magic = 123456; //注文番号
extern bool BUY = false; //買いの注文を出す
extern bool SELL = false; //売りの注文を出す
extern bool BUYSTOP = false, //BUYSTOP注文を開始する。
extern bool SELLSTOP = false, //SELLSTOP注文を開始する。
extern double Lot = 0.1; // 注文数量
extern int slippage = 3; //成行注文で許容される最大限の価格偏差
//--------------------------------------------------------------------
ダブルSL,TP。
//--------------------------------------------------------------------
int start()
{
なら
{
if (takeprofit!=0) TP = NormalizeDouble(Ask + takeprofit*Point,Digits);さもなければ TP=0;
if (stoploss!=0) SL = NormalizeDouble(Ask - stoploss*Point,Digits); else SL=0;
OPENORDER(以下、「買付」。)
}
売ったら
{
if (takeprofit!=0) TP = NormalizeDouble(Bid - takeprofit*Point,Digits); else TP=0;
if (stoploss!=0) SL = NormalizeDouble(Bid + stoploss*Point,Digits); else SL=0;
OPENORDER(以下、「売り」)。
}
イフ (BUYSTOP)
{
if (takeprofit!=0) TP = NormalizeDouble(Ask + takeprofit*Point,Digits);さもなければ TP=0;
if (stoploss!=0) SL = NormalizeDouble(Ask - stoploss*Point,Digits); else SL=0;
OPENORDER(以下、「バイ・ストップ」という。)
}
if (SELLSTOP)
{
if (takeprofit!=0) TP = NormalizeDouble(Bid - takeprofit*Point,Digits); else TP=0;
if (stoploss!=0) SL = NormalizeDouble(Bid + stoploss*Point,Digits); else SL=0;
OPENORDER(「売りストップ」)。
}
return(0)です。
}
//--------------------------------------------------------------------
void OPENORDER(string ord)
{
int error,err;
内
{error=true。
if (ord=="Buy" ) error=OrderSend(Symbol(),OP_BUY,Lot,NormalizeDouble(Ask,Digits),slippage,SL,TP, "BUY",Magic,0,Blue);
if (ord=="Sell") error=OrderSend(Symbol(),OP_SELL,Lot,NormalizeDouble(Bid,Digits),slippage,SL,TP, "SELL",Magic,0,Red);
if (ord=="BuyStop" ) error=OrderSend(Symbol(),OP_BUYSTOP, Lot,NormalizeDouble(Ask,Digits),SL,TP, "BUYSTOP",Magic,0,Blue);
if (ord=="SellStop") error=OrderSend(Symbol(),OP_SELLSTOP,Lot,NormalizeDouble(Bid,Digits),SL,TP, "SELLSTOP",Magic,0,Red);
if (error==-1) //買い付け失敗 OK
{
ShowERROR()。
err++;Sleep(2000);RefreshRates()。
}
if (error || err >10) return;
}
を返します。
}
//--------------------------------------------------------------------
void ShowERROR()
{
int err=GetLastError();
スイッチ ( err )
{
case 1: return;
case 2: Alert("No connection to the trade server ",Symbol());リターン。
case 3: Alert("Error incorrect parameters ",Symbol());戻り。
case 130: Alert("Error close Ticket stops ",Symbol());戻り。
case 134: Alert("Not enough money ",Symbol());return。
case 146: Alert("Error Trade Subsystem is busy ",Symbol());戻り。
case 129: Alert("Error Wrong price ",Symbol());戻り。
case 131: Alert("Error Incorrect volume ",Symbol());戻り。
case 4200:Alert("Error Object already exists ",Symbol());return。
default: Alert("Error ",err," ",Symbol());戻り。
}
}
//--------------------------------------------------------------------
ありがとうございました。
演算子を「,」ではなく「;」で終わらせることはできますか?
演算子を「,」ではなく「;」で終わらせることはできますか?
ありがとうございます、勉強中です :)))ありがとうございます。
ありがとうございます、勉強中です :)))ありがとうございます。
ありがとうございます!自分もそうなんですけど...。;)
ありがとうございます!自分もそうなんですけど...。;)
:))))さらに燃える質問です。このスクリプトは、成行注文を開きますが、未決済注文は出しません。また失敗してしまった。何が問題なのか、教えていただけませんか?
:))))さらに切実な問題です。このスクリプトは、成行注文を開きますが、未決済注文は出しません。また失敗してしまった。何が問題なのか、教えてください。
その背景にあるトレーディングの考え方とは?
手動で設定した未決済注文を無視するEAがあるのですが、どうしたらいいですか?私が修正しようとしているスクリプトは、「手動」注文をマジックパラメーター付きの注文に変えるために設計されています。そういうことです)。
おやすみなさい!
わからなくて......だから、先延ばしにしていたんです。
でも、あなたも、ゆっくり時間をかけて、数学を勉強してください。
言語も操作対象もシンプルに...。
実行は時々ダサい?
つまり、双方に弛緩があるわけです。
;)
上記のコードを修正しました。ペンダントはセットされていません。エラーを見つけるのに苦労しています。
#property copyright"著作権 © 2010, Khlystov Vladimir".
#プロパティリンク "cmillion@narod.ru"
#property show_inputs
//--------------------------------------------------------------------
extern int stoploss = 0; //SLのレベル、0ならSLは表示されない
extern int int takeprofit = 0; //t TPレベル、0ならTP非展示
extern int int Magic = 123456; //注文番号
extern bool BUY = false; //買いの注文を出す
extern bool SELL = false; //売りの注文を出す
extern bool BUYSTOP = false; //BUYSTOP注文を開始します。
extern bool SELLSTOP = false; //SELLSTOP注文を開始します。
extern double Lot = 0.1; // 注文数量
extern int slippage = 3; //成行注文で許容される最大限の価格偏差
extern int DistanceSet = 20; //市場距離
//--------------------------------------------------------------------
ダブルSL,TP。
//--------------------------------------------------------------------
int start()
{
なら
{
if (takeprofit!=0) TP = NormalizeDouble(Ask + takeprofit*Point,Digits);さもなければ TP=0;
if (stoploss!=0) SL = NormalizeDouble(Ask - stoploss*Point,Digits); else SL=0;
OPENORDER(以下、「買付」。)
}
売ったら
{
if (takeprofit!=0) TP = NormalizeDouble(Bid - takeprofit*Point,Digits); else TP=0;
if (stoploss!=0) SL = NormalizeDouble(Bid + stoploss*Point,Digits); else SL=0;
OPENORDER(以下、「売り」)。
}
イフ (BUYSTOP)
{
if (takeprofit!=0) TP = NormalizeDouble(Ask + takeprofit*Point,Digits);さもなければ TP=0;
if (stoploss!=0) SL = NormalizeDouble(Ask - stoploss*Point,Digits); else SL=0;
OPENORDER(以下、「バイ・ストップ」という。)
}
if (SELLSTOP)
{
if (takeprofit!=0) TP = NormalizeDouble(Bid - takeprofit*Point,Digits); else TP=0;
if (stoploss!=0) SL = NormalizeDouble(Bid + stoploss*Point,Digits); else SL=0;
OPENORDER(「売りストップ」)。
}
return(0)です。
}
//--------------------------------------------------------------------
void OPENORDER(string ord)
{
int error,err;
内
{error=true。
if (ord=="Buy" ) error=OrderSend(Symbol(),OP_BUY,Lot,NormalizeDouble(Ask,Digits),slippage,SL,TP,"",Magic,0);
if (ord=="Sell") error=OrderSend(Symbol(),OP_SELL,Lot,NormalizeDouble(Bid,Digits),slippage,SL,TP,",Magic,0);
if (ord=="BuyStop" ) error=OrderSend(Symbol(),OP_BUYSTOP, Lot,NormalizeDouble(Ask + DistanceSet*Point,Digits),slippage,SL,TP,"",Magic,0);
if (ord=="SellStop") error=OrderSend(Symbol(),OP_SELLSTOP,Lot,NormalizeDouble(Bid - DistanceSet*Point,Digits),slippage,SL,TP,"",Magic,0);
if (error==-1) //買い付け失敗 OK
{
ShowERROR()。
err++;Sleep(2000);RefreshRates()。
}
if (error || err >10) return;
}
を返します。
}
//--------------------------------------------------------------------
void ShowERROR()
{
int err=GetLastError();
スイッチ ( err )
{
case 1: return;
case 2: Alert("No connection to the trade server ",Symbol());リターン。
case 3: Alert("Error incorrect parameters ",Symbol());戻り。
case 130: Alert("Error close Ticket stops ",Symbol());戻り。
case 134: Alert("Not enough money ",Symbol());return。
case 146: Alert("Error Trade Subsystem is busy ",Symbol());戻り。
case 129: Alert("Error Wrong price ",Symbol());戻り。
case 131: Alert("Error Incorrect volume ",Symbol());戻り。
case 4200:Alert("Error Object already exists ",Symbol());return。
default: Alert("Error ",err," ",Symbol());戻り。
}
}
//--------------------------------------------------------------------
ありがとうございます。
もちろん、ご清聴ありがとうございました。 一生懸命考えて、ああでもないこうでもないと考えて、あなたは間違っています。
総じて、軸やビットに問題があるわけではないことがわかり、解決には至りませんでした。
それは、あなたの主張がとてもおかしいのです。思いの強さからリンゴは上に飛ばないが、頭の上に落ちてくる...。
そういう ものであり、それ以外の何ものでもない。
それとも、ある特定の国に住んでいて、すべてが厳密に逆になっているのでしょうか。利益 - 価値にマイナスがついているのでしょうか?1.0100で買い、1.0200で売る(この水準で取る、つまり買い値より 高く取る)ことを考えるのです。100ポイントの利益が出た。それ以外の方法はない。1.0000のレベルでテイクを設定しようとすると、エラー130 - 間違ったストップが表示されます。買付(OP_BUY)が始値より低くなることはありません。そしてストップは、まさにその逆で、買いポジションの始値より低くなければなりません。売りの場合はその逆で、テイクはオープンプライスより低く、ストップは高くなります。
数学だけでなく、中学1年生の算数も学ぶ必要があるようだ...。悪気はないんです。