[警告は閉鎖されました!】フォーラムを乱雑にしないために、どんな初心者の質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしでは、どこにも行けない。 - ページ 1124

 

こんにちは。私の質問に戻ります。逆取引はうまくいきません。サイト内を見回しましたが、この件に関するものは見つかりませんでした。私が何を間違えているのか、アドバイスをお願いします(まだ言語を勉強中です)。

extern double TP = 70; //takeprofit
extern double SL = 0; //stoploss
extern double Lot = 0.1;

double HighLevel;
double LowLevel;
int resBuy=0;
int resSell=0;


//+--------------------------------------------------------+
//|エキスパート初期化関数|
//+--------------------------------------------------------+
int init()
{
HighLevel=High[1];
LowLevel=Low[1];
return;
} ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・。

//+------------------------------------------------------------------------+
//| expert function |
//+------------------------------------------------------------------------+

void start()
{

if(Bars<100 && IsTradeAllowed()==false) return;


if(resBuy==0 && resSell==0 && CheckBreak()==-1)
{
resSell=OrderSend(Symbol(),OP_SELL,Lot,Bid,2,0,Bid -TP,"",MAGICMA,0,Red);
HighLevel=LowLevel;
LowLevel=Close[1];
return;
} }.

if(resBuy==0 && resSell==0 && CheckBreak()==1)
{
resBuy=OrderSend(Symbol(),OP_BUY,Lot,Ask,2,0,Ask + TP,"",MAGICMA,0,Blue);
LowLevel=HighLevel;
HighLevel=Close[1];
return;
} }

if(resBuy!=0 && resSell==0 && Close[1]<LowLevel) //------------------------------------- この部分に興味があります:1つのバーでのクロージングとオープニング
{
bool closeBuy=OrderClose(resBuy, Lot, Bid, 2, Blue);
// while(!IsTradeAllowed())Sleep(100);
resSell=OrderSend(Symbol(),OP_SELL,Lot,Bid,2,0,Bid -TP,"",MAGICMA,0,Red);
HighLevel=LowLevel;
LowLevel=Close[1];
return;
} }.

if(resSell!=0 && resBuy==0 && Close[1]>HighLevel) //------------------------------------- この部分に興味があります:1つのバーでのクロージングとオープニング
{
bool closeSell=OrderClose(resSell, Lot, Ask, 0.0002, Red);
// while(!IsTradeAllowed())Sleep(100);
resBuy=OrderSend(Symbol(),OP_BUY,Lot,Ask,2,0,Ask + TP,"",MAGICMA,0,Blue);
LowLevel=HighLevel;
HighLevel=Close[1];
return;
} }; resBuy=OrderSend(Symbol(),OP_BUY,Lot,Ask,2,0,Ask + TP), LowLevel=HighLevel

}

//Low&Highチェック break (Func)

double CheckBreak()
{
double candle=Open[1]-Close[1];

if(candle>0 && Low[1]<LowLevel) return(-1);
if(candle<0 && High[1]>HighLevel) return(1;
} } ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・?


 
皆さんこんにちは

配列の問題があります

仮に

int start (){ // 関数開始

int OrdSen_1=OrderSend(Symbol(, OP_BUY, 0.10, Ask,1, Ask-70*Point, Ask+70*Point); //買い注文
if(OrdSen_1==-1){ Alert("OrdSen_1 ",GetLastError());}; }; }.// 注文時のエラーチェック

double mas1[]={}; // 配列
}

問題は、OrdSen_1に属する値 "Symbol(), OP_BUY, 0.10, Ask,1, Ask-70*Point, Ask+70*Point" をどうやって配列 mas1[]={} に入れ、さらに使用したり配列から取得したり変数と同一視して使用できるようにするか、ということです。このような命令や配列は他にもあるかもしれませんが、要は原理を理解すればいいのです。

できれば詳しく説明していただけると助かります :)
 
Techno:

Outsideは使わないから削除される、つまり、どこからも呼び出さないから削除される、これで理解できましたか?

了解です、ありがとうございます。)
 
artmedia70:

このサンプルを見て、どう思われますか? :)))))

wifiだとOKです。
 

ごあいさつエディタで同じ変数や関数が使われている場所をすべて把握するにはどうしたらよいでしょうか?

 
Galion:

ごあいさつエディタで同じ変数や関数が使われている場所をすべて把握するにはどうしたらよいでしょうか?


私はこのためにNotepad++を使用しています。変数を一度ハイライトするだけで、コード全体でハイライトされるようになります。

 
しかし、Notepad++でシンタックスをハイライトするには、MQL4言語用にチューニングする必要があります。このフォーラムの検索でNotepad++と入力すると、すでに設定されたエディタへのリンクが見つかります - 私はそれを何度もここに投稿しました。
 
drknn:
しかし、Notepad++でシンタックスをハイライトするには、MQL4言語用にチューニングする必要があります。このフォーラムの検索でNotepad++と入力すると、すでに設定されたエディタへのリンクが見つかります - 私はそれを何度もここに投稿しました。

ありがとうございます。インストールすると、点灯して、より楽しくなります))
 
Galion:

ありがとうございます。インストールすると、点灯して、より楽しくなります))

見つかった変数をマークする、とても面白い機能があるんです。Ctrl+Fを押して、変数名を入力し、「ブックマーク」「見つかったマーク」にチェックを入れる。そして、「すべてを検索」ボタンを押します。これを削除するには、「すべて削除」ボタンを押します
 
drknn:

見つかった変数をマークするための非常に興味深い関数があります。Ctrl+Fを押して、変数名を入力し、「ブックマーク」と「見つかったマーク」にチェックを入れます。そして、「すべてを検索」ボタンを押します。削除する場合は「すべて削除」をクリックします。

そして、ダブルクリックでコードスニペットに移動します)))ちょうど私が必要としていたものです、ありがとう)