double Hi (int pos=0) //создали Hi, зависящую от pos
{
int i=pos; //присваиваем "i" значение от "pos", то есть i равно pos
double H=0;
while (i<=pos+10) //как она может быть меньше, если она равна?
{
if (H<iMACD (NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,i)) //это мне вообще не понятно... то есть если значение "Н" будет меньше, то присваиваем...
H=iMACD (NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,i); //то есть он определит мне наинизший, но не наивысший бар
i++; //ну тут мы добавляем к "i" плюс 1
}
return(H); //возвращаем Hi в самое начало
}
皆さん、ごきげんよう。
最初のボットを書いているところですが、同時にMQLにも慣れてきました。テスト中に以下のような問題が発生しました。
OP_BUYSTOP注文は、チャートから判断すると目標値には達していないが、注文を出した直後に発動される(下図参照)
USDJPY,M5(ビジュアル)
日付 2011.09.19
時間 02:15
オープン 76.903
高 76.909
低 76.890
閉じる 76.890
巻 66
全てのダニを検査しています。
OP_BUYSTOPオーダーを正しく理解していないのかもしれません。価格が一定の値を超えたら買うこと、ですね。
以下は、注文を出すソースコードの一部です。
int ticket=OrderSend(Symb, OP_BUYSTOP, Lot, Price, 0, SL, TP);
ローソク足チャートでは、すべての価格はBidで、買い注文はAskの価格で執行されます。
ありがとうございました。
こんにちは!よろしくお願いします。
このスクリプトでは、なぜエクセルのデータが列として表示されないのかが理解できません。
エクセルで実行すると、テーブルのヘッダがあるだけで、データがない。
デリミタがエクセルで認識されない理由を教えてください。
プログラミングを始めたばかりなので、いろいろと疑問が生じますが、よろしくお願いします
NewScriptというスクリプトを書きました。このスクリプトは、OHLCの価格をチャート上にバー単位で表示するという簡単な機能を実行します...
質問ですが、もしBARSが現在のチャートのバーの数そのものなら、なぜ私のEAのログでは画面上のバーの数(約200)が表示されるのに、私のログでは2000以上なのでしょうか?
ありがとうございました。
小幅修正
すみません、機能がよくわからないのですが......。
最も簡単なオプション
こんにちは。
EAを しばらく停止さ せるためのコードを書くのを手伝ってもらえますか?
こんな感じでコードを書きました。
int init() {string OrderStop="OrderStop "+ Symbol();
OrderSig =GlobalVariableGet(OrderStop);
// Print (OrderSig);
return (0);
}.
int deinit() {
return (0);
}.
int start() {
string OrderStop="OrderStop "+ Symbol();
OrderSig = GlobalVariableGet(OrderStop);
if (OrderSig==1)return(0)です。
else {
EA本体(コード)
}
return(0)です。
}
トレイラーではこのコードは動作しますが、コンパイルやTerminalの再実行では動作しません。
EAが動作(ポジションを開く)し始め、その後取引が行われない。
それは何でしょう?
もしくは他の選択肢を教えてください。
あるいは別の選択肢を提案する。
fを使用します。